This looks like a compiler issue, to me. It is probably worth asking your Intel compiler support people as to why this happens.

I tried with both icc 9.1 and 10.0 and am able to replicate your findings: it works fine without -fast, but claims that it can't find mpi_f90 when you use -fast:

shell% ifort -I/home/jsquyres/bogus/include -pthread -I/home/jsquyres/ bogus/lib hello.f90 -o hello -L/home/jsquyres/bogus/lib -lmpi_f90 - lmpi_f77 -lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl - lutil /opt/intel/9.1/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail
shell%

And (icc 9.1):

shell% ifort -I/home/jsquyres/bogus/include -pthread -I/home/jsquyres/ bogus/lib hello.f90 -o hello -fast -L/home/jsquyres/bogus/lib - lmpi_f90 -lmpi_f77 -lmpi -lopen-rte -lopen-pal -ldl -Wl,--export- dynamic -lnsl -lutil
IPO: performing single-file optimizations
IPO: generating object file /tmp/ipo_ifort93yZWY.o
ld: cannot find -lmpi_f90
shell%

With icc 10.0:

shell% mpif90 hello.f90 -o hello -fast
ipo: remark #11001: performing single-file optimizations
ipo: remark #11005: generating object file /tmp/ipo_ifortAT0da4.o
ld: cannot find -lmpi_f90
shell%



On Oct 17, 2007, at 11:53 AM, Yuan Wan wrote:

Hi all,

I'm using OpenMPI 1.2.2 with Intel compilers (icc, ifort)
But I found mpicc and mpif90 cannot work with Intel -fast optimisation.

---------------------------------------------------------------------- --
[ywan@frontend01 hello]$ mpif90 -fast -o hello -i-dynamic hello.f90

IPO: performing single-file optimizations
IPO: generating object file
/tmp/ipo_ifortTdJGQr.o
ld: cannot find -lmpi_f90
---------------------------------------------------------------------- --

The above command can be expanded as:
---------------------------------------------------------------------- -- [ywan@frontend01 hello]$ mpif90 -fast -o hello -i-dynamic hello.f90 -show

ifort -I/usr/local/Cluster-Apps/openmpi/intel/64/1.2.2//include - pthread
-I/usr/local/Cluster-Apps/openmpi/intel/64/1.2.2//lib -fast -o hello
-i-dynamic hello.f90 -L/usr/local/Cluster-Apps/openmpi/intel/ 64/1.2.2//lib -lmpi_f90 -lmpi_f77 -lmpi -lopen-rte -lopen-pal -ldl -Wl,--export- dynamic
-lirc -lstdc++ -lnsl -lutil
---------------------------------------------------------------------- ---

mpif90 can find -lmpi_f90 if I remove -fast from above command.


Anyone knows the reseaon why OpenMPI not works with Intel -fast?



--Yuan


Yuan Wan
--
Unix Section
Information Services Infrastructure Division
University of Edinburgh

tel: 0131 650 4985
email: y...@ed.ac.uk

2032 Computing Services, JCMB
The King's Buildings,
Edinburgh, EH9 3JZ

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


--
Jeff Squyres
Cisco Systems

Reply via email to