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_fn |
| 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 |