[petsc-dev] Removed functions in MPI 3
Karl Rupp
rupp at mcs.anl.gov
Tue Jan 22 15:51:21 CST 2013
Hi,
> 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?
>
>
> Yes, this is the right way.
>
> Matt
Since there was a lack of consensus on alternatives, I applied Matt's
Right Way here:
https://bitbucket.org/petsc/petsc-dev/commits/fabf60c7d012db5a109255579665b5c2
https://bitbucket.org/petsc/buildsystem/commits/355293e9e4e0588644168f629930b566
This is mostly done to ensure that we don't forget about the initial
goal of fixing the issue. Cleaner/more unified solutions to the problem
are still welcome...
Best regards,
Karli
More information about the petsc-dev
mailing list