Re: [Mpi3-tools] Standardized MPI_COMM_WORLD rank environment variable?
Hi Jeff, Jeffrey Squyres wrote:
Rayson Ho has been working with a few tools recently (e.g., Google's gperftools) that do things like profile (MPI) processes and then output files with meta data about the run. Valgrind does analogous things.
The problem is that if all the MPI processes are running in the same networked filesystem directory, they need a way to write unique output filenames.
A common way to solve this has been to include the process' MPI_COMM_WORLD rank somewhere in the filename. Open MPI's run time sets the OMPI_COMM_WORLD_RANK environment variable with that proc's MPI_COMM_WORLD rank. Likewise, MPICH2 sets the PMI_RANK environment variable.
These env variables can then be used to form the tool's output filename, and all is well.
My question is: is it worth it to standardize an environment variable name (or some other mechanism) for a tool to get an MPI process' rank in MPI_COMM_WORLD?
I think so.
I admit that this gets murkier when there are multiple MPI processes per OS process, but that problem, too, will need to be solved by the tools...
I'm not familiar with any implementations where there are multiple MPI processes per OS process. I did read Snir's proposal, but I can't say that I'm less confused about what it implies relative to an MPI process's rank in MPI_COMM_WORLD. Are you saying that a single OS process may have contain multiple MPI processes where each MPI process has a unique rank in MPI_COMM_WORLD? And therefore, if we try to use the environment to identify an OS process's rank in MPI_COMM_WORLD, it would have to be more like a list of ranks rather than a single value? Cheers, John D.
participants (1)
-
John DelSignore