A number of chapters refer to deprecated or replaced MPI constructs. These are constructs that continue to be part of the MPI standard, as documented in Chapter Deprecated Interfaces, but that users are recommended not to continue using, since better solutions were provided with newer versions of MPI. For example, the Fortran binding for MPI-1 functions that have address arguments uses INTEGER. This is not consistent with the C binding, and causes problems on machines with 32 bit INTEGERs and 64 bit addresses. In MPI-2, these functions were given new names with new bindings for the address arguments. The use of the old functions was declared as deprecated. For consistency, here and in a few other cases, new C functions are also provided, even though the new functions are equivalent to the old functions. The old names are deprecated.
Some of the previously deprecated constructs are now removed, as documented in Chapter Removed Interfaces. They may still be provided by an implementation for backwards compatibility, but are not required.
Table 1 shows a list of all of the deprecated and removed constructs. Note that some C typedefs and Fortran subroutine names are included in this list; they are the types of callback functions.
Table 1: Deprecated and removed constructs
Deprecated or removed | Deprecated | Removed | Replacement | |
construct | since | since | ||
MPI_ADDRESS | MPI-2.0 | MPI-3.0 | MPI_GET_ADDRESS | |
MPI_TYPE_HINDEXED | MPI-2.0 | MPI-3.0 | MPI_TYPE_CREATE_HINDEXED | |
MPI_TYPE_HVECTOR | MPI-2.0 | MPI-3.0 | MPI_TYPE_CREATE_HVECTOR | |
MPI_TYPE_STRUCT | MPI-2.0 | MPI-3.0 | MPI_TYPE_CREATE_STRUCT | |
MPI_TYPE_EXTENT | MPI-2.0 | MPI-3.0 | MPI_TYPE_GET_EXTENT | |
MPI_TYPE_UB | MPI-2.0 | MPI-3.0 | MPI_TYPE_GET_EXTENT | |
MPI_TYPE_LB | MPI-2.0 | MPI-3.0 | MPI_TYPE_GET_EXTENT | |
MPI_LB1 | MPI-2.0 | MPI-3.0 | MPI_TYPE_CREATE_RESIZED | |
MPI_UB1 | MPI-2.0 | MPI-3.0 | MPI_TYPE_CREATE_RESIZED | |
MPI_ERRHANDLER_CREATE | MPI-2.0 | MPI-3.0 | MPI_COMM_CREATE_ERRHANDLER | |
MPI_ERRHANDLER_GET | MPI-2.0 | MPI-3.0 | MPI_COMM_GET_ERRHANDLER | |
MPI_ERRHANDLER_SET | MPI-2.0 | MPI-3.0 | MPI_COMM_SET_ERRHANDLER | |
MPI_Handler_function2 | MPI-2.0 | MPI-3.0 | MPI_Comm_errhandler_function2 | |
MPI_KEYVAL_CREATE | MPI-2.0 | MPI_COMM_CREATE_KEYVAL | ||
MPI_KEYVAL_FREE | MPI-2.0 | MPI_COMM_FREE_KEYVAL | ||
MPI_DUP_FN3 | MPI-2.0 | MPI_COMM_DUP_FN3 | ||
MPI_NULL_COPY_FN3 | MPI-2.0 | MPI_COMM_NULL_COPY_FN3 | ||
MPI_NULL_DELETE_FN3 | MPI-2.0 | MPI_COMM_NULL_DELETE_FN3 | ||
MPI_Copy_function2 | MPI-2.0 | MPI_Comm_copy_attr_function2 | ||
COPY_FUNCTION2 | MPI-2.0 | COMM_COPY_ATTR_FUNCTION2 | ||
MPI_Delete_function2 | MPI-2.0 | MPI_Comm_delete_attr_function2 | ||
DELETE_FUNCTION2 | MPI-2.0 | COMM_DELETE_ATTR_FUNCTION2 | ||
MPI_ATTR_DELETE | MPI-2.0 | MPI_COMM_DELETE_ATTR | ||
MPI_ATTR_GET | MPI-2.0 | MPI_COMM_GET_ATTR | ||
MPI_ATTR_PUT | MPI-2.0 | MPI_COMM_SET_ATTR | ||
MPI_COMBINER_HVECTOR_INTEGER4 | - | MPI-3.0 | MPI_COMBINER_HVECTOR4 | |
MPI_COMBINER_HINDEXED_INTEGER4 | - | MPI-3.0 | MPI_COMBINER_HINDEXED4 | |
MPI_COMBINER_STRUCT_INTEGER4 | - | MPI-3.0 | MPI_COMBINER_STRUCT4 | |
MPI::... | MPI-2.2 | MPI-3.0 | C language binding | |
MPI_CANCEL for send requests | MPI-4.0 | no direct replacement | ||
MPI_INFO_GET | MPI-4.0 | MPI_INFO_GET_STRING | ||
MPI_INFO_GET_VALUELEN | MPI-4.0 | MPI_INFO_GET_STRING | ||
[1]MPI_T_ERR_INVALID_ITEM | MPI-4.0 | [1]MPI_T_ERR_INVALID_INDEX | ||
MPI_SIZEOF | MPI-4.0 | storage_size()5 or c_sizeof() | ||
mpif.h | MPI-4.1 | mpi module and mpi_f08 module | ||
MPI_TYPE_SIZE_X | MPI-4.1 | MPI_Type_size_c / !(_c) / --6 | ||
MPI_TYPE_GET_EXTENT_X | MPI-4.1 | MPI_Type_get_extent_c / !(_c) / --6 | ||
MPI_TYPE_GET_TRUE_EXTENT_X | MPI-4.1 | MPI_Type_get_true_extent_c / !(_c) / --6 | ||
MPI_GET_ELEMENTS_X | MPI-4.1 | MPI_Get_elements_c / !(_c) / --6 | ||
MPI_STATUS_SET_ELEMENTS_X | MPI-4.1 | MPI_Status_set_elements_c / !(_c) / --6 | ||
MPI_HOST | MPI-4.1 | no direct replacement | ||
1 Predefined datatype. | ||||
2 Callback prototype definition. | ||||
3 Predefined callback routine. | ||||
4 Constant. | ||||
5 Fortran intrinsic. storage_size() returns the size in bits instead of bytes; see Section Deprecated since MPI-4.0. | ||||
6 in C / Fortran with the mpi_f08 module. No substitute for the mpi module and mpif.h. | ||||
Other entries are regular MPI routines. | ||||