Dear OMPI folks,

according to this FAQ entry

http://www.open-mpi.org/faq/?category=mpi-apps#override-wrappers-after-v1.0

one way to use the mpif90 compiler wrapper with another compiler than Open-MPI was built with is to set the envvar OMPI_FC to the other compiler.

Using this simple toy code

program test
  implicit none
  include 'mpif.h'
  integer :: ierr
  call MPI_Init(ierr)
  print *, "Hello"
  call MPI_Finalize(ierr)
end program test

I indeed see the expected (and documented) behaviour:

bash$ export OMPI_FC=ifort
bash$ mpif90 test.f90
bash$ mpirun -np 3 ./a.out

Now, If I replace these two lines in the reproducer

implicit none
include 'mpif.h'

with these two lines (which is actually the MPI-2 way of doing things, as Jeff himself praises in this blog entry: http://blogs.cisco.com/performance/a-bucket-full-of-new-mpi-fortran-features)

use mpi
implicit none

I get this as the output of mpif90:

test.f90(7): error #7013: This module file was not generated by any release of this compiler. [MPI]
use mpi
----^
compilation aborted for test.f90 (code 1)

There seems to be no language on this particular problem in the FAQs, so I assume this is either a documentation bug or an actual bug in the compiler wrappers. The approach is clearly marked as "not recommended", but actually, this problem can be quite a showstopper because on laptops, people (like me) are often too lazy to compile Open-MPI (and consequently, valgrind and friends) multiple times, especially since the FAQ says that this should work :)

I am using the system gcc of ubuntu 12.04 (4.6.3-1ubuntu5) and OMPI 1.6.3. Of course everything works if I use a properly installed machine that provides OpenMPI-builds for different compilers via modules, and also the oldish "include 'mpif.h'" approach is a sufficient workaround.

Thanks for any clarification, hope this reproducer helps,

Cheers,

Dominik

--
Jun.-Prof. Dr. Dominik Göddeke
Hardware-orientierte Numerik für große Systeme
Institut für Angewandte Mathematik (LS III)
Fakultät für Mathematik, Technische Universität Dortmund
http://www.mathematik.tu-dortmund.de/~goeddeke
Tel. +49-(0)231-755-7218  Fax +49-(0)231-755-5933

Reply via email to