[mpich-devel] detecting mpirun mismatch
Jeff Hammond
jeff.science at gmail.com
Tue Apr 22 16:58:55 CDT 2014
PMI is specific to MPICH-family, right? The problem that was observed
had to do with MPICH/OpenMPI mixing. 'mpirun -np 2' led to two copies
of the application running in serial...
If PMI implementations are version specific, should they not export
PMI_VERSION to the environment so bad pairings can be detected?
Thanks,
Jeff
On Tue, Apr 22, 2014 at 4:52 PM, Balaji, Pavan <balaji at anl.gov> wrote:
> 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
>
--
Jeff Hammond
jeff.science at gmail.com
More information about the devel
mailing list