We recommend Fortran MPI programs use the MPI-2 interface via:
or even better, the Fortran 2008 MPI-3 interface via:
instead of the deprecated and not recommended:
IntelMPI supports MPI Fortran 2008
use mpi_f08 including on Windows using
free Intel oneAPI compiler.
For interfacing MPI 3 with legacy Fortran code, MPI 3 constants like
mpi_real are no longer
integer data type, but rather derived types.
Some libraries have not yet updated to be polymorphic for this enhanced MPI 3 variable type.
For such libraries, access the integer value via the
use mpi_f08 integer :: comm = mpi_comm_world%mpi_val !! %mpi_var emits the legacy integer