[Beowulf] compilers vs mpi?
Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.
Nifty Tom Mitchell niftyompi at niftyegg.comTue Jul 20 15:29:32 PDT 2010
- Previous message: [Beowulf] compilers vs mpi?
- Next message: [Beowulf] compilers vs mpi?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, Jul 20, 2010 at 12:07:32PM -0400, Mark Hahn wrote: > > Hi all, > I'm interested in hearing about experiences with mixing compilers > between the application and MPI. that is, I would like to be able > to compile MPI (say, OpenMPI) with gcc, and expect it to work > correctly with apps compiled with other compilers. I guess I'm > reasoning by analogy to normal distro libs. > > the OpenMPI FAQ has this comment: > > NOTE: The Open MPI team recommends using a single compiler suite whenever > possible. Unexpected or undefined behavior can occur when you mix compiler > suites in unsupported ways (e.g., mixing Fortran 77 and Fortran 90 compilers > between different compiler suites is almost guaranteed not to work). > > and there are complaints elsewhere in the FAQ about f90 bindings. > I'd appreciate it if someone could help a humble C/C++/perl hacker > understand the issues here... > > thanks, mark hahn. > PS: we have a large and diverse user base, so tend to have to > support gcc, Intel, pathscale and pgi. we even have people who want > to use intel's damned synthetic 128b FP over MPI :( Some of this is historic and has been addressed transparently in OpenMPI. OFED pulls from OpenMPI I believe... MPICH, MPICH2 is unknown to me. Different compilers have the option of representing things differently ... One is Fortran's notion of True/False There are two conventions you can test your compiler set with a debugger and short test code. 0:1 0:-1 i.e. a choice was made in the space -1:0:1 Depending on some logic reductions some things might work in code that breaks at a different optimization level. Two other places to double check are: strings and arg() handling. The older Pathscale/QLogic MPI had libs with symbol handling magic that could make most of this transparent via mpicc and friends. The OpenMPI folk did the same thing differently if I recall. Synthetic 128b is unknown to me. C++ bindings can be more difficult and each compiler should be used to generate bindings as needed perhaps based on the OpenMPI source/makefiles. Some caution is justified as the link line gets longer and longer and the users pull this GCC bit, a PGI built lib, an Intel-lib, goto-BLAS (pick one) etc... Summary: boolian, args(), strings times a list of compilers can generate a pile of permutations.... -- T o m M i t c h e l l Found me a new hat, now what?
- Previous message: [Beowulf] compilers vs mpi?
- Next message: [Beowulf] compilers vs mpi?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Beowulf mailing list
