@@ -479,6 +479,56 @@ MPI Functionality and Features
479479
480480- All MPI-3 functionality is supported.
481481
482+ - Note that starting with Open MPI v4.0.0, prototypes for several
483+ legacy MPI-1 symbols that were deleted in the MPI-3.0 specification
484+ (which was published in 2012) are no longer available by default in
485+ mpi.h. Specifically, several MPI-1 symbols were deprecated in the
486+ 1996 publishing of the MPI-2.0 specification. These deprecated
487+ symbols were eventually removed from the MPI-3.0 specification in
488+ 2012.
489+
490+ The symbols that now no longer appear by default in Open MPI's mpi.h
491+ are:
492+
493+ - MPI_Address (replaced by MPI_Get_address)
494+ - MPI_Errhandler_create (replaced by MPI_Comm_create_errhandler)
495+ - MPI_Errhandler_get (replaced by MPI_Comm_get_errhandler)
496+ - MPI_Errhandler_set (replaced by MPI_Comm_set_errhandler)
497+ - MPI_Type_extent (replaced by MPI_Type_get_extent)
498+ - MPI_Type_hindexed (replaced by MPI_Type_create_hindexed)
499+ - MPI_Type_hvector (replaced by MPI_Type_create_hvector)
500+ - MPI_Type_lb (replaced by MPI_Type_get_extent)
501+ - MPI_Type_struct (replaced by MPI_Type_create_struct)
502+ - MPI_Type_ub (replaced by MPI_Type_get_extent)
503+ - MPI_LB (replaced by MPI_Type_create_resized)
504+ - MPI_UB (replaced by MPI_Type_create_resized)
505+ - MPI_COMBINER_HINDEXED_INTEGER
506+ - MPI_COMBINER_HVECTOR_INTEGER
507+ - MPI_COMBINER_STRUCT_INTEGER
508+ - MPI_Handler_function (replaced by MPI_Comm_errhandler_function)
509+
510+ Although these symbols are no longer prototyped in mpi.h, they
511+ are still present in the MPI library in Open MPI v4.0.x. This
512+ enables legacy MPI applications to link and run successfully with
513+ Open MPI v4.0.x, even though they will fail to compile.
514+
515+ *** Future releases of Open MPI beyond the v4.0.x series may
516+ remove these symbols altogether.
517+
518+ *** The Open MPI team STRONGLY encourages all MPI application
519+ developers to stop using these constructs that were first
520+ deprecated over 20 years ago, and finally removed from the MPI
521+ specification in MPI-3.0 (in 2012).
522+
523+ *** The Open MPI FAQ (https://www.open-mpi.org/faq/) contains
524+ examples of how to update legacy MPI applications using these
525+ deleted symbols to use the "new" symbols.
526+
527+ All that being said, if you are unable to immediately update your
528+ application to stop using these legacy MPI-1 symbols, you can
529+ re-enable them in mpi.h by configuring Open MPI with the
530+ --enable-mpi-compatibility flag.
531+
482532- Rank reordering support is available using the TreeMatch library. It
483533 is activated for the graph and dist_graph topologies.
484534
0 commit comments