LIP_USER_FUNCTION(iin, tin, invec, iinout, tinout, inoutvec, len, datatype) |
IN | iin | input vector index array (choice) |
---|---|---|
IN | tin | input vector index type (handle) |
IN | invec | input vector (choice) |
IN | iinout | input/output vector index array (choice) |
IN | tinout | input/output vector index type (handle) |
INOUT | inoutvec | input/output vector (choice) |
IN | len | number of elements in both vectors (integer) |
IN | datatype | MPI data type of elements in both vectors (handle) |
C syntax:
typedef void (*LIP_User_function) (void *iin, LIP_Indextype tin, void
*invec,
void *iinout, LIP_Indextype tinout, void *inoutvec, int *count,
MPI_Datatype *datatype)
|
LIP_USER_FUNCTION is a prototype of a user-supplied function which could be used in a call to LIP_OP_CREATE. Its semantics with respect to the invec, inoutvec, len and datatype arguments are the same as in the user function required for MPI_OP_CREATE. However, since the data arrays are indexed indirectly, the indirect arrays are provided in iin and tin for invec and in iinout and tinout for inoutvec. It is guaranteed that the indexing types passed to the user function will already be known by the user.
Next: LIP_OP_FREE
Up: User-defined Irregular Operation
Previous: LIP_OP_CREATE