Hi Folks,

See

http://www.mpich.org/abi/

I'd recommend if you are using this approach to build with dynamic linking
using MPICH
from Argonne, then you should be able to run on a cray XE or XC with the
mpt 7.X or higher
module loaded, and with some luck, things will work.

Doesn't look like SGI MPI is on the list.  But perhaps the Intel MPI runs
well on the SGI.

Howard


2014-09-11 12:49 GMT-06:00 Rob Latham <r...@mcs.anl.gov>:

> Oh no, you fell into the MPI ABI pit!  The great and powerful sarlaac will
> now digest you for a thousand millennium...
>
> (although after a few trips to the MPI ABI pit, no one seems quite as
> eager to enter into that discussion recently.)
>
> There is an MPICH ABI, so one might, with some very recent versions, take
> a binary for Intel-MPI, IBM-MPI, and MPICH and use different libraries.
>
> There's almost no hope of being able to take MPICH and swap it out for
> OpenMPI.  MorphMPI might get you a bit of the way, but there are some
> restrictions on what you can and cannot do with that.
>
> ==rob
>
> On 09/11/2014 01:28 PM, JR Cary wrote:
>
>>
>> We need to build an application on our machine with one mpi (e.g.
>> openmpi),
>> but for performance reasons, upon installation, we would like to runtime
>> link to a different, specialized mpi, such as an SGI implementation
>> provided
>> for their systems.
>>
>> Can one expect this to work?
>>
>> I tried this with openmpi and mpich, building the code against shared
>> openmpi
>> and then changing the LD_LIBRARY_PATH to point to the shared mpich.  This
>> failed due to the sonames being different.
>>
>> $ ldd foo  | grep mpi
>>      libmpi_usempi.so.1 => not found
>>      libmpi_mpifh.so.2 => not found
>>      libmpi.so.1 => not found
>>      libmpi_cxx.so.1 => not found
>>
>> but in the mpich distribution one has different sonames
>>
>> libmpi.so.12
>>
>> so the runtime loader will not load the mpich libraries instead.
>>
>> and the fortran libraries (which may not matter to us) have different
>> names,
>>
>> $ \ls /contrib/mpich-shared/lib/*.so.12
>> /contrib/mpich-shared/lib/libmpicxx.so.12
>> /contrib/mpich-shared/lib/libmpifort.so.12
>> /contrib/mpich-shared/lib/libmpi.so.12
>>
>> Is there a general approach to this?
>>
>> Or in practice, must one build on a machine to use that machine's MPI?
>>
>> Thx.....John Cary
>>
>>
>>
>>
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>> Link to this post: http://www.open-mpi.org/community/lists/users/2014/09/
>> 25311.php
>>
>>
> --
> Rob Latham
> Mathematics and Computer Science Division
> Argonne National Lab, IL USA
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
> Link to this post: http://www.open-mpi.org/community/lists/users/2014/09/
> 25313.php
>

Reply via email to