29. Deprecated Names and Functions


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

A number of chapters refer to deprecated or replaced MPI-1 constructs. These are constructs that continue to be part of the MPI standard, as documented in Chapter Deprecated Functions , but that users are recommended not to continue using, since better solutions were provided with MPI-2. 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 is 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. Another example is provided by the MPI-1 predefined datatypes MPI_UB and MPI_LB. They are deprecated, since their use is awkward and error-prone. The MPI-2 function MPI_TYPE_CREATE_RESIZED provides a more convenient mechanism to achieve the same effect.

Table 1 shows a list of all of the deprecated constructs. Note that the constants MPI_LB and MPI_UB are replaced by the function MPI_TYPE_CREATE_RESIZED; this is because their principal use was as input datatypes to MPI_TYPE_STRUCT to create resized datatypes. Also note that some C typedefs and Fortran subroutine names are included in this list; they are the types of callback functions.

Deprecated MPI-2 Replacement
MPI_ADDRESS MPI_GET_ADDRESS
MPI_TYPE_HINDEXED MPI_TYPE_CREATE_HINDEXED
MPI_TYPE_HVECTOR MPI_TYPE_CREATE_HVECTOR
MPI_TYPE_STRUCT MPI_TYPE_CREATE_STRUCT
MPI_TYPE_EXTENT MPI_TYPE_GET_EXTENT
MPI_TYPE_UB MPI_TYPE_GET_EXTENT
MPI_TYPE_LB MPI_TYPE_GET_EXTENT
MPI_LB MPI_TYPE_CREATE_RESIZED
MPI_UB MPI_TYPE_CREATE_RESIZED
MPI_ERRHANDLER_CREATE MPI_COMM_CREATE_ERRHANDLER
MPI_ERRHANDLER_GET MPI_COMM_GET_ERRHANDLER
MPI_ERRHANDLER_SET MPI_COMM_SET_ERRHANDLER
MPI_Handler_function MPI_Comm_errhandler_function
MPI_KEYVAL_CREATE MPI_COMM_CREATE_KEYVAL
MPI_KEYVAL_FREE MPI_COMM_FREE_KEYVAL
MPI_DUP_FN MPI_COMM_DUP_FN
MPI_NULL_COPY_FN MPI_COMM_NULL_COPY_FN
MPI_NULL_DELETE_FN MPI_COMM_NULL_DELETE_FN
MPI_Copy_function MPI_Comm_copy_attr_function
COPY_FUNCTION COMM_COPY_ATTR_FN
MPI_Delete_function MPI_Comm_delete_attr_function
DELETE_FUNCTION COMM_DELETE_ATTR_FN
MPI_ATTR_DELETE MPI_COMM_DELETE_ATTR
MPI_ATTR_GET MPI_COMM_GET_ATTR
MPI_ATTR_PUT MPI_COMM_SET_ATTR

Table 1: Deprecated constructs



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


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

(Unofficial) MPI-2.2 of September 4, 2009
HTML Generated on September 10, 2009