How can my program detect, whether it was launch v

2019-01-28 07:20发布

问题:

How can my MPI program detect, if it was launched as a standalone application or via mpirun?

回答1:

Considering the answer and comments by semiuseless and Hristo Iliev, there is no general and portable way to do this. As a workaround, you can check for environment variables that are set by mpirun. See e.g.:
http://www.open-mpi.org/faq/?category=running#mpi-environmental-variables



回答2:

There is no MPI standard way to tell the difference between an MPI application that is launched directly, or as a single rank with mpirun. See "Singleton MPI_Init" for more on this kind of MPI job.

The environment variable checking answer from Douglas is a reasonable hack...but is not portable to any other MPI implementation.



标签: mpi