On 08/12/10 18:59, Tim Prince wrote:
> On 8/12/2010 3:27 PM, Ralph Castain wrote:
>> Ick - talk about confusing! I suppose there must be -some- rational
>> reason why someone would want to do this, but I can't imagine what it
>> would be....
>> I'm no expert on compiler vs lib confusion, but some of my own
>> experience would say that this is a bad idea regardless of whether or
>> not OMPI is involved. Compiler version interoperability is usually
>> questionable, depending upon how far apart the rev levels are.
>> Only answer I can offer is that you would have to try it. It will
>> undoubtedly be a case-by-case basis: some combinations might work,
>> others might fail.
>> On Aug 12, 2010, at 3:53 PM, Michael E. Thomadakis wrote:
>>> Hello OpenMPI,
>>> we have deployed OpenMPI 1.4.1 and 1.4.2 on our Intel Nehalem
>>> cluster using Intel compilers V 11.1.059 and 11.1.072 respectively,
>>> and one user has the following request:
>>> Can we build OpenMPI version say O.1 against Intel compilers version
>>> say I.1 but then built an application with OpenMPI O.1 BUT then use
>>> a DIFFERENT Intel compiler version say I.2 to built and run this MPI
>>> I suggested to him to 1) simply try to built and run the application
>>> with O.1 but use Intel compilers version I.X whatever this X is and
>>> see if it has any issues.
>>> OR 2) If the above does not work, I would build OpenMPI O.1 against
>>> Intel version I.X so he can use THIS combination for his
>>> hypothetical application.
>>> He insists that I build OpenMPI O.1 with some version of Intel
>>> compilers I.Y but then at run time he would like to use *different*
>>> Intel run time libs at will I.Z <> I.X.
>>> Can you provide me with a suggestion for a sane solution to this ? :-)
>>> Best regards
> Guessing at what is meant here, if you build MPI with a given version
> of Intel compilers, it ought to work when the application is built
> with a similar or more recent Intel compiler, or when the run-time
> LD_LIBRARY_PATH refers to a similar or newer library (within reason).
> There are similar constraints on glibc version. "Within reason" works
> over a more restricted range when C++ is involved. Note that the
> Intel linux compilers link to the gcc and glibc libraries as well as
> those which come with the compiler, and the MPI could be built with a
> combination of gcc and ifort to work with icc or gcc and ifort.
> gfortran and ifort libraries, however, are incompatible, except that
> libgomp calls can be supported by libiomp5.
> The "rational" use I can see is that an application programmer would
> likely wish to test a range of compilers without rebuilding MPI.
> Intel documentation says there is forward compatibility testing of
> libraries, at least to the extent that a build made with 10.1 would
> work with 11.1 libraries.
> The most recent Intel library compatibility break was between MKL 9
> and 10.
Dear Tim, I offered to provide myself the combination of OMPI+ Intel
compilers so that application can use it in stable fashion. When I
inquired about this application so I can look into this I was told that
"there is NO application yet (!) that fails but just in case it fails
..." I was asked to hack into the OMPI building process to let OMPI use
one run-time but then the MPI application using this OMPI ... use another!
Thanks for the information on this. We indeed use Intel Compiler set
11.1.XXX + OMPI 1.4.1 and 1.4.2.
The basic motive in this hypothetical situation is to build the MPI
application ONCE and then swap run-time libs as newer compilers come
out.... I am certain that even if one can get away with it with nearby
run-time versions there is no guarantee of the stability at-infinitum. I
end up having to spent more time for technically "awkward" requests than
the reasonable ones. Reminds me when I was a teacher I had to spent more
time with all the people trying to avoid doing the work than with the
good students... hmmm :-)
> Tim Prince
> users mailing list