[gmx-users] mpirun on lam again

Erik Lindahl lindahl at stanford.edu
Tue Apr 16 19:18:52 CEST 2002


Y U Sasidhar wrote:

>I hope at least my syntax is correct; Pl let me know how I should
>correct this.
>
>command:
>
>mpirun -v -c 16  -s n0 mdrun_mpi -- -v -s full.tpr -e full.edr -o
>full.trr -
>c after_full.gro -g full.log >& full.job &
>
>results in:
>
>5146 mdrun_mpi running on n0 (o)
>3245 mdrun_mpi running on n1
>mdrun_mpi: error while loading shared libraries: libmd_mpi.so.2: cannot
>open
> shared object file: No such file or directory
>2909 mdrun_mpi running on n2
>2905 mdrun_mpi running on n3
>

You're probably using the RPM version of Gromacs. This is compiled with 
shared libraries to save space (or the download would be 75 Mb). "Shared 
libraries" means the mdrun_mpi file only contains a small amount of 
code, and as soon as it calls one of the routines in the library the 
system loads these routines from libmd_mpi.so or libgmx_mpi.so (i.e. the 
common routines are not duplicated).

For this to work, the system must know where to find the *.so files. By 
default, it looks in the place where it was installed, i.e. 
/usr/local/lib, but you can also tell the system to look for them in any 
other directory by adding that directory to the environment variable 
LD_LIBRARY_PATH.

The simplest solution is probably to make sure gromacs is available on 
all the nodes; either by installing it on every one of them, or by 
mounting /usr/local/ from a server.

If this is inconvenient for some reason, you can of course also compile 
the code yourself - in that case the default will be static (i.e. 
non-shared) libraries.

Cheers,

Erik






More information about the gromacs.org_gmx-users mailing list