Hi Ray and list

One solution that I also use is to compile with the "-static-intel" flag (or pass it to the MPI wrappers).
This will link *only* the Intel libraries statically,
the other shared libraries (mostly GNU) continue to be dynamically linked.
PGI compilers have a similar flag, "-Bstatic_pgi".

The nightmares with inconsistent LD_LIBRARY_PATH mostly go away,
as GNU shared libraries tend to be in standard places, whereas Intel and other
commercial compiler shared libraries are installed in exquisite directories.
The executable size overhead is also acceptable.

I presume that on Linux what is really shared during execution are the GNU shared libraries,
not the Intel ones.
Hence the impact of linking Intel statically is likely to be small.
Anyway, somebody else may have a clearer insight on this.

Gus Correa

--
---------------------------------------------------------------------
Gustavo J. Ponce Correa, PhD - Email: g...@ldeo.columbia.edu
Lamont-Doherty Earth Observatory - Columbia University
P.O. Box 1000 [61 Route 9W] - Palisades, NY, 10964-8000 - USA
---------------------------------------------------------------------


Ray Muno wrote:

Gus Correa wrote:

Hi Ray and list

I have Intel ifort 10.1.017 on a Rocks 4.3 cluster.
The OpenMPI compiler wrappers (i.e. "opal_wrapper") work fine,
and find the shared libraries (Intel or other) without a problem.

My guess is that this is not an OpenMPI problem, but an Intel compiler environment glitch. I wonder if your .profile/.tcshrc/.bashrc files initialize the Intel compiler environment properly. I.e., "source /share/apps/intel/fce/10.1.018/bin/ifortvars.csh" or similar, to get the right
Intel environment variables inserted on
PATH, LD_LIBRARY_PATH, MANPATH. and INTEL_LICENSE_FILE.

Not doing this caused trouble for me in the past.
Double or inconsistent assignment of LD_LIBRARY_PATH and PATH
(say on the ifortvars.csh and on the user login files) also caused conflicts.

I am not sure if this needs to be done before you configure and install OpenMPI,
but doing it after you build OpenMPI may still be OK.

I hope this helps,
Gus Correa


That does help. I confirmed that what I added needs to be in the environment (LD_LIBRARY_PATH). Must have missed that in the docs. I have now added the appropriate variables to our modules environment.

Seems strange that OpenMPI built without these being set at all. I could also compile test codes with the compilers, just not with mpicc and mpif90.


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


Reply via email to