Enable the use of the more modern 'mpi_f08' module for MPI #1142
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR enables MPAS to make use of the more modern
mpi_f08
module introduced in MPI-3.0.The top-level
Makefile
now tries to compile a test program that usesmpi_f08
, and if that test issuccessful, the macro
MPAS_USE_MPI_F08
is defined in theCPPFLAGS
used in the build; otherwise,MPAS will make use of the
mpi
module as it previously did.With the use of the
mpi_f08
module, certain MPI types are no longer integers in Fortran, but are derivedtypes; e.g.,
MPI_Comm
,MPI_Request
,MPI_Datatype
, andMPI_Info
. However, in some instances,an integer-typed MPI type is still needed for interoperability, and the MPI standard permits this to be done
through the
mpi_val
member of all MPI derived types, e.g.,MPI_Comm % mpi_val
.