[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