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