3.6.1. Deprecated and Removed Interfaces

PreviousUpNext
Up: Language Binding Next: Fortran Binding Issues Previous: Language Binding

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.


PreviousUpNext
Up: Language Binding Next: Fortran Binding Issues Previous: Language Binding


Return to MPI-4.1 Standard Index
Return to MPI Forum Home Page

(Unofficial) MPI-4.1 of November 2, 2023
HTML Generated on November 19, 2023