[Mpi3-tools] Standardized MPI_COMM_WORLD rank environment variable?
John DelSignore
John.DelSignore at roguewave.com
Tue Apr 24 14:46:49 CDT 2012
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.
More information about the mpiwg-tools
mailing list