Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Lie-Quan Lee (liequan_at_[hidden])
Date: 2007-06-06 12:05:29

Hi Jeff,

Thanks for willing to put more thought on it. Here is my simplified
story. I have an accelerator physics code, Omega3P that is to perform
complex eigenmode analysis. The algorithm for solving eigensystems
makes use of a 3rd-party sparse direct solver called MUMPS (http:// Omega3P is written in C++ with MPI. MUMPS
is written in Fortran 95 with MPI fortran binding. And MUMPS requires
ScaLAPACK and BLACS. (sometime the vendor provides a scientific
library that includes BLACS and ScaLAPACK). They are both written in
Fortran 77 with MPI Fortran binding.

I often need to compile them in various computer platforms with
different compilers for variety of reasons.
As I mentioned before, I use C++ compiler to link the final
executable. That will require MPI Fortran libraries and general
Fortran libraries.

What I did to solve the above problem is, I have a configure script
in which I will detect the compiler and the platform, based on that I
will add compiler and platform specific flags for the Fortran related
stuff (libraries and library path). This does well until it hit next
new platform/compiler...

Some compilers made the above job slightly easier. For example in
Pathscale compiler collection, it provides -lpathfortran for all what
I need to link the executable using c++ compiler with fortran
compiled libraries. So is IBM visual age compiler set if the wraper
compilers (mpcc_r, mpf90_r) are used. The library name (-lxlf90_r) is
different, though.

best regards,
Rich Lee

On Jun 6, 2007, at 4:16 AM, Jeff Squyres wrote:

> On Jun 5, 2007, at 11:17 PM, Lie-Quan Lee wrote:
>> it is a quite of headache for each compiler/platform to deal with
>> mixed language
>> issues. I have to compile my application on IBM visual age compiler,
>> Pathscale, Cray X1E compiler,
>> intel/openmpi, intel/mpich, PGI compiler ...
>> And of course, openmpi 1.1 is different on this comparing with
>> openmpi 1.2.2 (-lmpi_f77 is new to 1.2.2 version). :-)
>> You are right. MPI forum most like will not take care of this. I just
>> made a wish ... :-)
> Understood; I know it's a pain. :-(
> What I want to understand, however, is what you need to do. It seems
> like your needs are a bit different than those of the mainstream --
> is there a way that we can support you directly instead of forcing
> you to a) identify openmpi, b) call mpi<foo> --showme:link to get the
> relevant flags, and c) stitch them together in the manner that you
> need?
> We take great pains to ensure that the mpi<foo> wrapper compilers
> "just work" for all the common cases in order to avoid all the "you
> must identify which MPI you are using" kinds of games. Your case
> sounds somewhat unusual, but perhaps there's a way we can get the
> information to you in a more direct manner...?
> --
> Jeff Squyres
> Cisco Systems
> _______________________________________________
> users mailing list
> users_at_[hidden]