MPI-1.1/ provided bindings for Fortran 77. MPI-// retains these bindings but they are now interpreted in the context of the Fortran 90 standard. MPI-/ can still be used with most Fortran 77 compilers, as noted below. When the term Fortran is used it means Fortran 90.
All MPI-/ names have an MPI_ prefix, and all characters are capitals. Programs must not declare variables, parameters, or functions with names beginning with the prefix MPI_. To avoid conflicting with the profiling interface, programs should also avoid functions with the prefix PMPI_. This is mandated to avoid possible name collisions.
All MPI-/ Fortran subroutines have a return code in the last argument. A few MPI-/ operations which are functions do not have the return code argument. The return code value for successful completion is MPI_SUCCESS. Other error codes are implementation dependent; see the error codes in Chapter 7 of the MPI-/ document and Annex A in the MPI-// document.
Constants representing the maximum length of a string are one smaller in Fortran than in C and C++ as discussed in Section 4.12.9.
Handles are represented in Fortran as INTEGERs. Binary-valued variables are of type LOGICAL.
Array arguments are indexed from one.
The MPI-/ Fortran binding is inconsistent with the Fortran 90 standard in several respects. These inconsistencies, such as register optimization problems, have implications for user codes that are discussed in detail in Section 10.2.2. They are also inconsistent with Fortran 77.
Additionally, MPI-/ is inconsistent with Fortran 77 in a number of ways, as noted below.
MPI-Standard for MARMOT