Would it be helpful if we provided some way to link in all the MPI language bindings?

Examples off the top of my head (haven't thought any of these through):

- mpicxx_all ...
- setenv OMPI_WRAPPER_WANT_ALL_LANGUAGE_BINDINGS
  mpicxx ...
- mpicxx -ompi:all_languages ...


On Jun 6, 2007, at 12:05 PM, Lie-Quan Lee wrote:

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
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users

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


--
Jeff Squyres
Cisco Systems

Reply via email to