297. Deprecated since MPI-2.0


Up: Contents Next: Deprecated since MPI-2.2 Previous: Deprecated Functions

The following function is deprecated and is superseded by MPI_TYPE_CREATE_HVECTOR in MPI-2.0. The language independent definition and the C binding of the deprecated function is the same as of the new function, except of the function name. Only the Fortran language binding is different.
MPI_TYPE_HVECTOR( count, blocklength, stride, oldtype, newtype)
IN countnumber of blocks (non-negative integer)
IN blocklengthnumber of elements in each block (non-negative integer)
IN stridenumber of bytes between start of each block (integer)
IN oldtypeold datatype (handle)
OUT newtypenew datatype (handle)

int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype *newtype)

MPI_TYPE_HVECTOR(COUNT, BLOCKLENGTH, STRIDE, OLDTYPE, NEWTYPE, IERROR)
INTEGER COUNT, BLOCKLENGTH, STRIDE, OLDTYPE, NEWTYPE, IERROR
The following function is deprecated and is superseded by MPI_TYPE_CREATE_HINDEXED in MPI-2.0. The language independent definition and the C binding of the deprecated function is the same as of the new function, except of the function name. Only the Fortran language binding is different.
MPI_TYPE_HINDEXED( count, array_of_blocklengths, array_of_displacements, oldtype, newtype)
IN countnumber of blocks -- also number of entries in
array_of_displacements and array_of_blocklengths (non-negative integer)
IN array_of_blocklengthsnumber of elements in each block (array of non-negative integers)
IN array_of_displacementsbyte displacement of each block (array of integer)
IN oldtypeold datatype (handle)
OUT newtypenew datatype (handle)

int MPI_Type_hindexed(int count, int *array_of_blocklengths, MPI_Aint *array_of_displacements, MPI_Datatype oldtype, MPI_Datatype *newtype)

MPI_TYPE_HINDEXED(COUNT, ARRAY_OF_BLOCKLENGTHS, ARRAY_OF_DISPLACEMENTS, OLDTYPE, NEWTYPE, IERROR)
INTEGER COUNT, ARRAY_OF_BLOCKLENGTHS(*), ARRAY_OF_DISPLACEMENTS(*), OLDTYPE, NEWTYPE, IERROR
The following function is deprecated and is superseded by MPI_TYPE_CREATE_STRUCT in MPI-2.0. The language independent definition and the C binding of the deprecated function is the same as of the new function, except of the function name. Only the Fortran language binding is different.

MPI_TYPE_STRUCT(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype)
IN countnumber of blocks (integer) (non-negative integer) -- also number of entries in arrays array_of_types, array_of_displacements and array_of_blocklengths
IN array_of_blocklengthnumber of elements in each block (array of non-negative integer)
IN array_of_displacementsbyte displacement of each block (array of integer)
IN array_of_typestype of elements in each block (array of handles to datatype objects)
OUT newtypenew datatype (handle)

int MPI_Type_struct(int count, int *array_of_blocklengths, MPI_Aint *array_of_displacements, MPI_Datatype *array_of_types, MPI_Datatype *newtype)

MPI_TYPE_STRUCT(COUNT, ARRAY_OF_BLOCKLENGTHS, ARRAY_OF_DISPLACEMENTS, ARRAY_OF_TYPES, NEWTYPE, IERROR)
INTEGER COUNT, ARRAY_OF_BLOCKLENGTHS(*), ARRAY_OF_DISPLACEMENTS(*), ARRAY_OF_TYPES(*), NEWTYPE, IERROR
The following function is deprecated and is superseded by MPI_GET_ADDRESS in MPI-2.0. The language independent definition and the C binding of the deprecated function is the same as of the new function, except of the function name. Only the Fortran language binding is different.
MPI_ADDRESS(location, address)
IN locationlocation in caller memory (choice)
OUT addressaddress of location (integer)

int MPI_Address(void* location, MPI_Aint *address)

MPI_ADDRESS(LOCATION, ADDRESS, IERROR)
<type> LOCATION(*)
INTEGER ADDRESS, IERROR
The following functions are deprecated and are superseded by MPI_TYPE_GET_EXTENT in MPI-2.0.
MPI_TYPE_EXTENT(datatype, extent)
IN datatypedatatype (handle)
OUT extentdatatype extent (integer)

int MPI_Type_extent(MPI_Datatype datatype, MPI_Aint *extent)

MPI_TYPE_EXTENT(DATATYPE, EXTENT, IERROR)
INTEGER DATATYPE, EXTENT, IERROR

Returns the extent of a datatype, where extent is as defined on page Lower-Bound and Upper-Bound Markers . The two functions below can be used for finding the lower bound and the upper bound of a datatype.

MPI_TYPE_LB( datatype, displacement)
IN datatypedatatype (handle)
OUT displacementdisplacement of lower bound from origin, in bytes (integer)

int MPI_Type_lb(MPI_Datatype datatype, MPI_Aint* displacement)

MPI_TYPE_LB( DATATYPE, DISPLACEMENT, IERROR)
INTEGER DATATYPE, DISPLACEMENT, IERROR

MPI_TYPE_UB( datatype, displacement)
IN datatypedatatype (handle)
OUT displacementdisplacement of upper bound from origin, in bytes (integer)

int MPI_Type_ub(MPI_Datatype datatype, MPI_Aint* displacement)

MPI_TYPE_UB( DATATYPE, DISPLACEMENT, IERROR)
INTEGER DATATYPE, DISPLACEMENT, IERROR

The following function is deprecated and is superseded by MPI_COMM_CREATE_KEYVAL in MPI-2.0. The language independent definition of the deprecated function is the same as that of the new function, except for the function name and a different behavior in the C/Fortran language interoperability, see Section Attributes on page Attributes . The language bindings are modified.
MPI_KEYVAL_CREATE(copy_fn, delete_fn, keyval, extra_state)
IN copy_fnCopy callback function for keyval
IN delete_fnDelete callback function for keyval
OUT keyval key value for future access (integer)
IN extra_stateExtra state for callback functions

int MPI_Keyval_create(MPI_Copy_function *copy_fn, MPI_Delete_function *delete_fn, int *keyval, void* extra_state)

MPI_KEYVAL_CREATE(COPY_FN, DELETE_FN, KEYVAL, EXTRA_STATE, IERROR)
EXTERNAL COPY_FN, DELETE_FN
INTEGER KEYVAL, EXTRA_STATE, IERROR
The copy_fn function is invoked when a communicator is duplicated by MPI_COMM_DUP. copy_fn should be of type MPI_Copy_function, which is defined as follows:

typedef int MPI_Copy_function(MPI_Comm oldcomm, int keyval, 
                              void *extra_state, void *attribute_val_in, 
                              void *attribute_val_out, int *flag) 

A Fortran declaration for such a function is as follows:

SUBROUTINE COPY_FUNCTION(OLDCOMM, KEYVAL, EXTRA_STATE, ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT, FLAG, IERR)
INTEGER OLDCOMM, KEYVAL, EXTRA_STATE, ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT, IERR
LOGICAL FLAG
copy_fn may be specified as MPI_NULL_COPY_FN or MPI_DUP_FN from either C or FORTRAN; MPI_NULL_COPY_FN is a function that does nothing other than returning flag = 0 and MPI_SUCCESS. MPI_DUP_FN is a simple-minded copy function that sets flag = 1, returns the value of attribute_val_in in attribute_val_out, and returns MPI_SUCCESS. Note that MPI_NULL_COPY_FN and MPI_DUP_FN are also deprecated. Analogous to copy_fn is a callback deletion function, defined as follows. The delete_fn function is invoked when a communicator is deleted by MPI_COMM_FREE or when a call is made explicitly to MPI_ATTR_DELETE. delete_fn should be of type MPI_Delete_function, which is defined as follows:

typedef int MPI_Delete_function(MPI_Comm comm, int keyval, 
    void *attribute_val, void *extra_state); 
A Fortran declaration for such a function is as follows:

SUBROUTINE DELETE_FUNCTION(COMM, KEYVAL, ATTRIBUTE_VAL, EXTRA_STATE, IERR)
INTEGER COMM, KEYVAL, ATTRIBUTE_VAL, EXTRA_STATE, IERR
delete_fn may be specified as MPI_NULL_DELETE_FN from either C or FORTRAN; MPI_NULL_DELETE_FN is a function that does nothing, other than returning MPI_SUCCESS. Note that MPI_NULL_DELETE_FN is also deprecated. The following function is deprecated and is superseded by MPI_COMM_FREE_KEYVAL in MPI-2.0. The language independent definition of the deprecated function is the same as of the new function, except of the function name. The language bindings are modified.
MPI_KEYVAL_FREE(keyval)
INOUT keyval Frees the integer key value (integer)

int MPI_Keyval_free(int *keyval)

MPI_KEYVAL_FREE(KEYVAL, IERROR)
INTEGER KEYVAL, IERROR
The following function is deprecated and is superseded by MPI_COMM_SET_ATTR in MPI-2.0. The language independent definition of the deprecated function is the same as of the new function, except of the function name. The language bindings are modified.
MPI_ATTR_PUT(comm, keyval, attribute_val)
INOUT commcommunicator to which attribute will be attached (handle)
IN keyval key value, as returned by
MPI_KEYVAL_CREATE (integer)
IN attribute_valattribute value

int MPI_Attr_put(MPI_Comm comm, int keyval, void* attribute_val)

MPI_ATTR_PUT(COMM, KEYVAL, ATTRIBUTE_VAL, IERROR)
INTEGER COMM, KEYVAL, ATTRIBUTE_VAL, IERROR
The following function is deprecated and is superseded by MPI_COMM_GET_ATTR in MPI-2.0. The language independent definition of the deprecated function is the same as of the new function, except of the function name. The language bindings are modified.
MPI_ATTR_GET(comm, keyval, attribute_val, flag)
IN commcommunicator to which attribute is attached (handle)
IN keyvalkey value (integer)
OUT attribute_valattribute value, unless flag = false
OUT flag true if an attribute value was extracted; false if no attribute is associated with the key

int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag)

MPI_ATTR_GET(COMM, KEYVAL, ATTRIBUTE_VAL, FLAG, IERROR)
INTEGER COMM, KEYVAL, ATTRIBUTE_VAL, IERROR
LOGICAL FLAG
The following function is deprecated and is superseded by MPI_COMM_DELETE_ATTR in MPI-2.0. The language independent definition of the deprecated function is the same as of the new function, except of the function name. The language bindings are modified.
MPI_ATTR_DELETE(comm, keyval)
INOUT commcommunicator to which attribute is attached (handle)
IN keyvalThe key value of the deleted attribute (integer)

int MPI_Attr_delete(MPI_Comm comm, int keyval)

MPI_ATTR_DELETE(COMM, KEYVAL, IERROR)
INTEGER COMM, KEYVAL, IERROR
The following function is deprecated and is superseded by MPI_COMM_CREATE_ERRHANDLER in MPI-2.0. The language independent definition of the deprecated function is the same as of the new function, except of the function name. The language bindings are modified.
MPI_ERRHANDLER_CREATE( function, errhandler )
IN functionuser defined error handling procedure
OUT errhandlerMPI error handler (handle)

int MPI_Errhandler_create(MPI_Handler_function *function, MPI_Errhandler *errhandler)

MPI_ERRHANDLER_CREATE(FUNCTION, ERRHANDLER, IERROR)
EXTERNAL FUNCTION
INTEGER ERRHANDLER, IERROR
Register the user routine function for use as an MPI exception handler. Returns in errhandler a handle to the registered exception handler.

In the C language, the user routine should be a C function of type MPI_Handler_function, which is defined as:


typedef void (MPI_Handler_function)(MPI_Comm *, int *, ...); 
The first argument is the communicator in use, the second is the error code to be returned. In the Fortran language, the user routine should be of the form:

2.2

SUBROUTINE HANDLER_FUNCTION(COMM, ERROR_CODE) 
   INTEGER COMM, ERROR_CODE 
The following function is deprecated and is superseded by MPI_COMM_SET_ERRHANDLER in MPI-2.0. The language independent definition of the deprecated function is the same as of the new function, except of the function name. The language bindings are modified.
MPI_ERRHANDLER_SET( comm, errhandler )
INOUT commcommunicator to set the error handler for (handle)
IN errhandlernew MPI error handler for communicator (handle)

int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler)

MPI_ERRHANDLER_SET(COMM, ERRHANDLER, IERROR)
INTEGER COMM, ERRHANDLER, IERROR

Associates the new error handler errorhandler with communicator comm at the calling process. Note that an error handler is always associated with the communicator. The following function is deprecated and is superseded by MPI_COMM_GET_ERRHANDLER in MPI-2.0. The language independent definition of the deprecated function is the same as of the new function, except of the function name. The language bindings are modified.
MPI_ERRHANDLER_GET( comm, errhandler )
IN commcommunicator to get the error handler from (handle)
OUT errhandlerMPI error handler currently associated with communicator (handle)

int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler)

MPI_ERRHANDLER_GET(COMM, ERRHANDLER, IERROR)
INTEGER COMM, ERRHANDLER, IERROR

Returns in errhandler (a handle to) the error handler that is currently associated with communicator comm.



Up: Contents Next: Deprecated since MPI-2.2 Previous: Deprecated Functions


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