upc_op_t
- Date:
05-03-2013
NAME
upc_op_t - UPC operators
SYNOPSIS
#include <upc_collective_cray.h>
DESCRIPTION
The following operators are defined by the UPC 1.2 specification for collective reductions. They can be accessed by including the upc_collective.h header file.
UPC_ADD Addition (all types)
UPC_MULT Multiplication (all types)
UPC_AND Bitwise AND (integer types)
UPC_OR Bitwise OR (integer types)
UPC_XOR Bitwise XOR (integer types)
UPC_LOGAND Logical AND (all types)
UPC_LOGOR Logical OR (all types)
UPC_MIN Minimum value (all types)
UPC_MAX Maximum value (all types)
UPC_FUNC Associative + Commutative user function
UPC_NONCOMM_FUNC Associative user function
Cray additionally supports two more predefined values that can be accessed by including the <upc_collective_cray.h> header file. They are only defined for the CRAY_UPC_FLOAT_INT, CRAY_UPC_DOUBLE_INT, CRAY_UPC_LONG_INT, CRAY_UPC_2INT, and CRAY_UPC_SHORT_INT data types and are, therefore, only usable with the Cray UPC team reduction functions cray_upc_team_reduce(3c) and cray_upc_team_allreduce(3c). They work the same way as MPI_MINLOC and MPI_MAXLOC.
CRAY_UPC_MINLOC Minimum value + location
CRAY_UPC_MAXLOC Maximum value + location
Users can also create their own operators with the function cray_upc_op_create(3c), accessed via the <upc_collective_cray.h> header file. Operators created in this manner may be used with both the UPC v1.2 collectives and the Cray UPC team reduction functions.
SEE ALSO
cray_upc_op_create(3c), cray_upc_op_free(3c), cray_upc_team_allreduce(3c), cray_upc_team_reduce(3c), cray_upc_user_fun(3c), upc_all_reduce(3c)