ccpp-framework
ccpp-framework copied to clipboard
capgen should be able to handle the MPI 2008 interfaces
- MPI F77 interfaces (
use mpi) cause issues with compilers in that two calls to the same MPI routine with different data types (e.g.,MPI_bcastcalled withMPI_REAL8andMPI_INTEGER). The second call will be flagged as an error for passing the "wrong" type of data (integers when reals were passed in the first call). - Newer (Fortran90 style) MPI interfaces exist and are available using modules such as
mpi_f08. - There is an incompatibility in the type of an MPI communicator (F77 version is an integer, F90+ versions are a special type)
- Metadata for the MPI communicator should use the modern type (
MPI_Comm) - A switch to capgen could enable "use" of either
mpiormpi_f08in caps. - For the
mpiversion, capgen will internally convertMPI_Commtointeger.