On Mar 22, 2007, at 7:55 AM, Jeff Squyres wrote:

On Mar 15, 2007, at 12:18 PM, Michael wrote:
....
Situation: I'm compiling my code locally on a machine with just
ethernet interfaces and OpenMPI 1.1.2 that I built.

When I attempt to run that executable on a HPC machine with OpenMPI
1.1.2 and InfiniBand interfaces I get messages about "can't find
libmosal.so.0.0" -- I'm certain this wasn't happening earlier.

I can compile on this machine and run on it, even though there is no
libmosal.* in my path.

mpif90 --showme on this system gives me:

/opt/compiler/intel/compiler91/x86_64/bin/ifort -I/opt/mpi/x86_64/
intel/9.1/openmpi-1.1.4/include -pthread -I/opt/mpi/x86_64/intel/9.1/
openmpi-1.1.4/lib -L/opt/mpi/x86_64/intel/9.1/openmpi-1.1.4/lib -L/
opt/gm/lib64 -lmpi_f90 -lmpi -lorte -lopal -lgm -lvapi -lmosal -lrt -
lnuma -ldl -Wl,--export-dynamic -lnsl -lutil -ldl

Based on this output, I assume you have configured OMPI with either --
enable-static or otherwise including all plugins in libmpi.so, right?

No, I did not configure OpenMPI on this machine. I believe OpenMPI was configured not static by the installers based on the messages and the dependency on the missing libraries.

The issue was that some of the 1000+ nodes on this major HPC machine were missing libraries needed for OpenMPI but because of the low usage of OpenMPI I'm the first to discover the problem. For whatever reason these libraries are not on the front-end machines that feed the main system. It's always nice running OpenMPI on your own machine but not everyone can always do that.

The way I read my experience is that OpenMPI's libmpi.so depends on different libraries on different machines, this means that if you don't compile static you can compile on a machine that does not have libraries for expensive interfaces and run on another machine with those expensive interfaces -- that's what I'm am doing now successfully.

Michael

Reply via email to