Also check the FAQ on how to use the wrapper compilers -- there are
ways to override at compile time, but be warned that it's not always
what you want. As Terry indicates, you probably want to have multiple
OMPI installations -- one for each compiler.
In particular, there are problems with mixing multiple Fortran
compilers noted in OMPI's README file:
- Open MPI will build bindings suitable for all common forms of
Fortran 77 compiler symbol mangling on platforms that support it
(e.g., Linux). On platforms that do not support weak symbols (e.g.,
OS X), Open MPI will build Fortran 77 bindings just for the compiler
that Open MPI was configured with.
Hence, on platforms that support it, if you configure Open MPI with
a Fortran 77 compiler that uses one symbol mangling scheme, you can
successfully compile and link MPI Fortran 77 applications with a
Fortran 77 compiler that uses a different symbol mangling scheme.
NOTE: For platforms that support the multi-Fortran-compiler bindings
(i.e., weak symbols are supported), due to limitations in the MPI
standard and in Fortran compilers, it is not possible to hide these
differences in all cases. Specifically, the following two cases may
not be portable between different Fortran compilers:
1. The C constants MPI_F_STATUS_IGNORE and MPI_F_STATUSES_IGNORE
will only compare properly to Fortran applications that were
created with Fortran compilers that that use the same
name-mangling scheme as the Fortran compiler that Open MPI was
configured with.
2. Fortran compilers may have different values for the logical
.TRUE. constant. As such, any MPI function that uses the Fortran
LOGICAL type may only get .TRUE. values back that correspond to
the the .TRUE. value of the Fortran compiler that Open MPI was
configured with. Note that some Fortran compilers allow forcing
.TRUE. to be 1 and .FALSE. to be 0. For example, the Portland
Group compilers provide the "-Munixlogical" option, and Intel
compilers (version >= 8.) provide the "-fpscomp logicals" option.
You can use the ompi_info command to see the Fortran compiler that
Open MPI was configured with.
On Oct 19, 2008, at 8:34 PM, Terry Frankcombe wrote:
It happily supports multiple compilers on the same system, but not in
the way you mean. You need another installation of OMPI (in,
say, /usr/lib64/mpi/intel) for icc/ifort.
Select by path manipulation.
On Mon, 2008-10-20 at 08:19 +0800, Wen Hao Wang wrote:
Hi all:
I have openmpi 1.2.5 installed on SLES10 SP2. These packages should
be
compiled with gcc compilers. Now I have installed Intel C++ and
Fortran compilers on my cluster. Can openmpi use Intel compilers
withour recompiling?
I tried to use environment variable to indicate Intel compiler, but
it
seems the mpi commands still wanted to use gcc ones.
LS21-08:/opt/intel/fce/10.1.018/bin # mpif77 --showme
gfortran -I/usr/lib64/mpi/gcc/openmpi/include -pthread
-L/usr/lib64/mpi/gcc/openmpi/lib64 -lmpi_f77 -lmpi -lopen-rte
-lopen-pal -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl
LS21-08:/opt/intel/fce/10.1.018/bin # export
F77=/opt/intel/fce/10.1.018/bin/ifort
LS21-08:/opt/intel/fce/10.1.018/bin # rpm -e
gcc-fortran-4.1.2_20070115-0.21
LS21-08:/opt/intel/fce/10.1.018/bin # mpif77 /LTC/matmul-for-intel.f
--------------------------------------------------------------------------
The Open MPI wrapper compiler was unable to find the specified
compiler
gfortran in your PATH.
Note that this compiler was either specified at configure time or in
one of several possible environment variables.
--------------------------------------------------------------------------
Is it possible to change openmpi's underlying compiler? Thus I can
use
multiple compilers on one machine.
Thanks in advance!
Steven Wang
Email: wangw...@cn.ibm.com
_______________________________________________
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