Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

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://
graal.ens-lyon.fr/MUMPS/). 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]
> http://www.open-mpi.org/mailman/listinfo.cgi/users