20.1.7. Requirements on Fortran Compilers

PreviousUpNext
Up: Support for Fortran Next: Additional Support for Fortran Register-Memory-Synchronization Previous: MPI for Different Fortran Standard Versions

MPI-3.0 (and later) compliant Fortran bindings are not only a property of the MPI library itself, but rather a property of an MPI library together with the Fortran compiler suite for which it is compiled.
Advice to users.

Users must take appropriate steps to ensure that proper options are specified to compilers. MPI libraries must document these options. Some MPI libraries are shipped together with special compilation scripts (e.g., mpif90, mpicc) that set these options automatically. ( End of advice to users.)
An MPI library together with the Fortran compiler suite is only compliant with MPI-3.0 (and later), as referred by MPI_GET_VERSION, if all the solutions described in Sections Problems Due to Strong Typing through Permanent Data Movement work correctly. Based on this rule, major requirements for all three Fortran support methods (i.e., the mpi_f08 and mpi modules, and mpif.h) are:


The following rules are required at least as long as the compiler does not provide the extension of the ASYNCHRONOUS attribute as part of TS 29113 and there still exists a Fortran support method with MPI_ASYNC_PROTECTS_NONBLOCKING set to .FALSE.. Observation of these rules by the MPI application developer is especially recommended for backward compatibility of existing applications that use the mpi module or the (deprecated) mpif.h include file. The rules are as follows:
All of these rules are valid for the mpi_f08 and mpi modules and independently of whether mpif.h uses explicit interfaces.
Advice to implementors.

Some of these rules are already part of the Fortran 2003 standard, some of these requirements require the Fortran TS 29113 [47], and some of these requirements for MPI are beyond the scope of TS 29113. ( End of advice to implementors.)


PreviousUpNext
Up: Support for Fortran Next: Additional Support for Fortran Register-Memory-Synchronization Previous: MPI for Different Fortran Standard Versions


Return to MPI-4.1 Standard Index
Return to MPI Forum Home Page

(Unofficial) MPI-4.1 of November 2, 2023
HTML Generated on November 19, 2023