[mpich-devel] detecting mpirun mismatch

Balaji, Pavan balaji at anl.gov
Tue Apr 22 16:52:20 CDT 2014


Jeff,

Do you need to know if it’s Hydra or if it’s a PMI server?  Any PMI server can work with any PMI client.  Ideally, they’ll negotiate on the PMI version to use, but a bad client/server might assume a particular version.

You can make sure it’s a PMI server by checking for PMI environment variables.  Either PMI_FD or PMI_PORT will need to be set.

  — Pavan

On Apr 22, 2014, at 4:48 PM, Jeff Hammond <jeff.science at gmail.com> wrote:

> Does anyone know of a good way to detect when the user has built an
> MPI application with mpicc from implementation A and tries to launch
> with mpirun/mpiexec from implementation B?
> 
> I know that inside of the application, I can use either
> MPI_Get_library_version or preprocessor info to know what
> implementation I am using.  But can I discover anything about mpirun
> inside of the application?  Is there anything in the environment that
> I can query to know if my PM is Hydra, for example?  If not, can that
> be added?
> 
> This is a relatively common user error that leads to very bad things
> in some cases so it would be nice to be able to detect it and throw a
> warning/error.
> 
> Thanks,
> 
> Jeff
> 
> -- 
> Jeff Hammond
> jeff.science at gmail.com



More information about the devel mailing list