1
1

Updates to the README and wrapper compiler man pages for Fortran.

Thanks to Paul Hargrove for spotting these issues.

cmr=v1.7.4:reviewer=rhc:subject=Fortran README+man page updates

This commit was SVN r30414.
Этот коммит содержится в:
Jeff Squyres 2014-01-24 21:00:00 +00:00
родитель e3cb4b4a5b
Коммит 98d67add3c
3 изменённых файлов: 70 добавлений и 38 удалений

36
README
Просмотреть файл

@ -305,6 +305,18 @@ Compiler Notes
*** environment variables are IGNORED.
********************************************************************
********************************************************************
As a direct result, it is STRONGLY recommended that you specify a
Fortran compiler that uses file suffixes to determine Fortran code
layout (e.g., free form vs. fixed). For example, with some versions
of the IBM XLF compiler, it is preferable to use FC=xlf instead of
FC=xlf90, because xlf will automatically determine the difference
between free form and fixed Fortran source code.
However, many Fortran compiler allow specifying additional
command-line arguments to indicate which Fortran dialect to use.
For example, if FC=xlf90, you may need to use "mpifort --qfixed ..."
to compile fixed format Fortran source files.
You can use either ompi_info or oshmem_info to see with which Fortran
compiler Open MPI was configured and compiled.
@ -346,12 +358,13 @@ Compiler Notes
- The mpi_f08 module is new and has been tested with the Intel
Fortran compiler. Other modern Fortran compilers may also work
(but are, as yet, currently untested). It is expected that this
(but are, as yet, only lightly tested). It is expected that this
support will mature over time.
As of v4.9, the GNU Fortran compiler (gfortran) is *not* supported
with the mpi_f08 module (gfortran lacks some necessary modern
Fortran features, sorry).
As of this release, the GNU Fortran compiler (gfortran) is *not*
supported with the mpi_f08 module. It is likely that a future
release of Open MPI will provide an mpi_f08 module that will be
compatible with gfortran >= v4.9.
- All Fortran compilers support the mpif.h/shmem.fh-based bindings.
@ -368,17 +381,10 @@ Compiler Notes
Specifically, all MPI subroutines with no "choice" buffers are
prototyped and will receive strong parameter type checking at
run-time (e.g., MPI_INIT, MPI_COMM_RANK, etc.).
MPI subroutines with one choice buffer (e.g., MPI_SEND) are
prototyped for all intrinsic Fortran types for scalars and ranks 1
through 4 (the --with-gfortran-max-array-dim configure switch can
be used to increase the max array rank supported to up to 7).
MPI subroutines with two choice buffers (e.g., MPI_GATHER) are
*not* prototyped. These subroutines can still be called in MPI
applications; they just will not receive strong parameter type
checking.
run-time (e.g., MPI_INIT, MPI_COMM_RANK, etc.). Per guidance from
the MPI-3 specification, all MPI subroutines with "choice" buffers
are specifically *not* included in the "mpi" module, and their
parameters will not be checked at compile time.
General Run-Time Support Notes

Просмотреть файл

@ -97,15 +97,46 @@ ORTE
.TP
OMPI
\fImpicc\fR, \fImpic++\fR, \fImpicxx\fR, \fImpiCC\fR (only on systems with
case-senstive file systems), \fImpif77\fR, and \fImpif90\fR. Note
case-senstive file systems), and \fImpifort\fR (and its legacy/deprecated
names \fImpif77\fR and \fImpif90\fR). Note
that \fImpic++\fR, \fImpicxx\fR, and \fImpiCC\fR all invoke the same
underlying C++ compiler with the same options. All are provided as
compatibility with other MPI implementations.
.
.
.SS Fortran Notes
.PP
The Fortran wrapper compilers for MPI (\fImpif77\fR and \fImpif90\fR)
will be inoperative and will return an error on use if Fortran 77 /
Fortran 90 support was not built into the MPI layer.
The Fortran wrapper compiler for MPI (\fImpifort\fR, and its
legacy/deprecated names \fImpif77\fR and \fImpif90\fR) can compile and
link MPI applications that use any/all of the MPI Fortran bindings:
.IR mpif.h ,
the
.I mpi
module, and the
.I mpi_f08
module (assuming Open MPI was installed with support for each of these
Fortran bindings). Specifically: it is no longer necessary to use
different wrapper compilers for applications that use
.I mpif.h
vs. applications that use the
.I mpi
module -- just use
.I mpifort
for all Fortran MPI applications.
.
.PP
Note, however, that the Fortran compiler may require additional
command-line options to enforce a specific Fortran dialect. For
example, in some versions of the IBM XLF compiler, if xlf90 is the
underlying Fortran compiler,
.IR -qfixed
may be necessary to compile fixed-format Fortran source files.
.
.PP
Finally, note that
.I mpifort
will be inoperative and will return an error on use if Fortran support
was not built into the MP Ilayer.
.
.
.SS Overview
@ -226,18 +257,9 @@ C++ compiler flags
.
.
.TP
F77
Fortran 77 compiler
.
.TP
FFLAGS
Fortran 77 compiler flags
.
.
.TP
FC
Fortran 90 compiler
Fortran compiler
.
.TP
FCFLAGS
Fortran 90 compiler flags
Fortran compiler flags

Просмотреть файл

@ -14,17 +14,23 @@ invoked as the back-end by the Open MPI wrapper commands such as:
.BR mpicc ,
.BR mpiCC ,
.BR mpic++ ,
.BR mpif77 ,
and
.BR mpif90 .
.BR mpifort
(and its legacy/deprecated names
.BR mpif77
and
.BR mpif90 ).
.PP
Some Open MPI installations may have additional wrapper commands,
and/or have renamed the wrapper compilers listed above to avoid
executable name conflicts with other MPI implementations. Hence, you
may also have wrapper compilers installed including the following
names:
.BR mpif90.openmpi ,
.BR mpif77.openmpi ,
.BR mpifort.openmpi
(and the legacy/deprecated names
.BR mpif90.openmpi
and
.BR mpif77.openmpi ),
.BR mpicxx.openmpi ,
.BR mpiCC.openmpi ,
.BR mpicc.openmpi ,
@ -45,10 +51,8 @@ installation:
.BR mpicc (1),
.BR mpiCC (1),
.BR mpic++ (1),
.BR mpif77 (1),
.BR mpif90 (1),
.BR mpif90.openmpi (1),
.BR mpif77.openmpi (1),
.BR mpifort (1),
.BR mpifort.openmpi (1),
.BR mpicxx.openmpi (1),
.BR mpiCC.openmpi (1),
.BR mpicc.openmpi (1),