[petsc-dev] Removed functions in MPI 3
Karl Rupp
rupp at mcs.anl.gov
Mon Jan 21 16:12:49 CST 2013
Dear PETScians,
MPI 3.0 *removes* a set of functions from MPI 1.x, of which the
following are in use in PETSc:
* MPI_Type_struct, used in
src/ts/characteristic/impls/da/slda.c
src/dm/impls/mesh/meshpcice.c
* MPI_Errhandler_create/MPI_Errhandler_set, used in
src/sys/objects/pinit.c
src/sys/objects/init.c
In both cases function were renamed in MPI-2.0:
MPI_Type_struct -> MPI_Type_create_struct
MPI_Errhandler_create -> MPI_Comm_create_errhandler
MPI_Errhandler_set -> MPI_Comm_set_errhandler
It should be sufficient to update BuildSystem/config/packages/MPI.py and
add the respective checks in configureMPI2(). Any objections on the
following defines:
HAVE_MPI_TYPE_CREATE_STRUCT
HAVE_MPI_COMM_CREATE_ERRHANDLER
HAVE_MPI_COMM_SET_ERRHANDLER
in the case of success?
Alternatives:
* Assume MPI 1.x is no longer in use and change the function names
directly.
* Assume that implementations of MPI 3.0 or higher will still provide
the 'removed' functions for backwards compatibility.
Best regards,
Karli
More information about the petsc-dev
mailing list