Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] yet another fortran (documentation) issue
From: Paul Hargrove (phhargrove_at_[hidden])
Date: 2014-01-23 18:52:22


The following is an issue found when testing with xlf-14.1, which is
already known to have problems with the F08 stuff. So, I've configured
with "FC=xlf90 --enable-mpi-fortran=usempi".

The problem is that mpifort is now a wrapper around xlf90 and thus is
assuming F90 free-form input, independent of the file suffix. This results
in errors building fixed-form (f77) codes:

$ mpifort hello_mpifh.f
"hello_mpifh.f", line 1.1: 1515-019 (S) Syntax is incorrect.
"hello_mpifh.f", line 2.3: 1515-019 (S) Syntax is incorrect.
"hello_mpifh.f", line 3.27: 1515-019 (S) Syntax is incorrect.
"hello_mpifh.f", line 4.27: 1515-019 (S) Syntax is incorrect.
"hello_mpifh.f", line 5.3: 1515-019 (S) Syntax is incorrect.
"hello_mpifh.f", line 6.3: 1515-019 (S) Syntax is incorrect.
"hello_mpifh.f", line 7.1: 1515-019 (S) Syntax is incorrect.
"hello_mpifh.f", line 8.3: 1515-019 (S) Syntax is incorrect.
"hello_mpifh.f", line 9.1: 1515-019 (S) Syntax is incorrect.
"hello_mpifh.f", 1515-002 (S) END card is missing. One is assumed.
** _main === End of Compilation 1 ===
"hello_mpifh.f", line 22.19: 1515-019 (S) Syntax is incorrect.
** main === End of Compilation 2 ===
1501-511 Compilation failed for file hello_mpifh.f.

This can, fortunately, be worked around with "-qfixed":

$ mpifort -qfixed hello_mpifh.f
** main === End of Compilation 1 ===
1501-510 Compilation successful for file hello_mpifh.f.

I *think* that I should have configured with FC=xlf (rather than xlf90)
then it will determine language-level and format based on file suffix. I
can (without re-configuring) confirm that xlf honors the extension by
setting OMPI_FC=xlf:

{hargrove_at_vestalac1 examples}$ OMPI_FC=xlf mpifort hello_mpifh.f
** main === End of Compilation 1 ===
1501-510 Compilation successful for file hello_mpifh.f.
{hargrove_at_vestalac1 examples}$ OMPI_FC=xlf mpifort hello_usempi.f90
** main === End of Compilation 1 ===
1501-510 Compilation successful for file hello_usempi.f90.

The term "fortran compiler" in Open MPI's README is not (as far as I could
see) clearly defined as "a fortran compiler which honors file suffixes to
determine language dialect"

My FC=xlf90 setting is "historical" from the testing scripts I've used
since the 1.5 and 1.6 series.

ADDITIONALLY, the Open MPI manpages STILL say FC is to be a fortran90
compiler and F77 is to be an fortran77 compiler. It looks like others
might encounter the same problem I describe above just by reading the
documentation too closely.

I will follow up with specifics on what appears to be out-of-date in the
manpages.

-Paul

-- 
Paul H. Hargrove                          PHHargrove_at_[hidden]
Future Technologies Group
Computer and Data Sciences Department     Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900