Re: [OMPI users] Runtime replacement of mpi libraries?

2014-09-11 Thread Michael Raymond
  Another option is SGI PerfBoost. It will let you run apps compiled 
against other ABIs with SGI MPT with practically no performance loss.


$ module load openmpi
$ make
$ module unload openmpi
$ module load mpt perfboost
$ mpiexec_mpt -np 2 perfboost -ompi a.out

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



--
Michael A. Raymond
SGI MPT Team Leader
1 (651) 683-7523



Re: [OMPI users] Directed to Undirected Graph

2012-06-05 Thread Michael Raymond
  You need to use 2 calls. One option is an Allgather followed by an 
Allgatherv.


Allgather() with one integer, which is the number of nodes the rank is 
linked to
Allgatherv() with a variable size array of integers where each entry is 
a connected to node



On 06/05/2012 08:39 AM, Mudassar Majeed wrote:


Dear people,
Let say there are N MPI processes. Each MPI process has to communicate
with some T processes, where T < N. This information is a directed graph
(and every process knows only about its own). I need to convert it to
undirected graph, so that each process will inform T other processes
about it. Every process will update this information. (that may be
stored in an array of maximum size N). What can be the best way to
exchange this information among all MPI processes ? MPI_AllGather and
MPI_AllGatherv do not solve my problem.


best regards,


-- Mudassar



___
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users


--
Michael A. Raymond
SGI MPT Team Leader
(651) 683-3434