RadioAstronomySoftwareGroup / RadioAstronomySoftwareGroup/pyuvsim

Enable logging via MPI's file I/O tools

Open
#32 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
54
Forks
11
Avg merge
2d 17h
Merged PRs (30d)
8

Description

MPI has tools to write to files from separate processes. For tracking down errors in intermediate calculations, it would be convenient to have a logging tool that lets you choose certain checkpoints to print out to a log file.

Example of mpi4py being used for file i/o, from their tutorials:

amode = MPI.MODE_WRONLY|MPI.MODE_CREATE
comm = MPI.COMM_WORLD
fh = MPI.File.Open(comm, "./datafile.contig", amode)

buffer = np.empty(10, dtype=np.int)
buffer[:] = comm.Get_rank()

offset = comm.Get_rank()*buffer.nbytes
fh.Write_at_all(offset, buffer)

fh.Close()

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the mpi4py file I/O example in the issue and locating the existing simulation or logging entry points in pyuvsim. Define how selected intermediate checkpoints should be written to a log file across processes; done means the requested logging tool works for those checkpoints without losing process information.

Written by the indexing model from the issue text.

Assessment

Tech stack
numpy, python
Domain
distributed-systems, observability-sre
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.