fhucho
fhucho

Reputation: 34550

How can my program detect, whether it was launch via mpirun

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

Upvotes: 7

Views: 2826

Answers (2)

Stan Graves
Stan Graves

Reputation: 6965

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.

Upvotes: 2

Douglas B. Staple
Douglas B. Staple

Reputation: 10946

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

Upvotes: 2

Related Questions