1 /* UPc
Operation (used in collectives and atomic ops
).
*/
4 - Supported AMO integer types are UPC_INT
, UPC_UINT
, UPC_LONG
, UPC_ULONG
,
5 UPC_INT32
, UPC_UINT32
, UPC_INT64
, and UPC_UINT64.
6 - Supported AMO floating
-point types are UPC_FLOAT and UPC_DOUBLE.
7 - Supported AMO accessors are UPC_GET
, UPC_SET
, and UPC_CSWAP.
8 - Supported AMO bit
-wise operations are UPC_AND
, UPC_OR
, and UPC_XOR.
9 - Supported AMO numeric operations are UPC_ADD
, UPC_SUB
, UPC_MULT
, UPC_INC
,
10 UPC_DEC
, UPC_MAX
, and UPC_MIN.
*/
13 op_upc_name
= "UPC_ADD";
17 op_c_value
= "(1LL << 0)";
24 op_upc_name
= "UPC_MULT";
28 op_c_value
= "(1LL << 1)";
35 op_upc_name
= "UPC_AND";
39 op_c_value
= "(1LL << 2)";
46 op_upc_name
= "UPC_OR";
50 op_c_value
= "(1LL << 3)";
57 op_upc_name
= "UPC_XOR";
61 op_c_value
= "(1LL << 4)";
68 op_upc_name
= "UPC_LOGAND";
71 op_c_value
= "(1LL << 5)";
75 op_upc_name
= "UPC_LOGOR";
78 op_c_value
= "(1LL << 6)";
82 op_upc_name
= "UPC_MIN";
85 op_c_value
= "(1LL << 7)";
92 op_upc_name
= "UPC_MAX";
95 op_c_value
= "(1LL << 8)";
102 op_upc_name
= "UPC_GET";
105 op_c_value
= "(1LL << 9)";
108 op_require_fetch_ptr
;
113 op_upc_name
= "UPC_SET";
116 op_c_value
= "(1LL << 10)";
123 op_upc_name
= "UPC_CSWAP";
124 op_name
= "compare_exchange";
126 op_c_value
= "(1LL << 11)";
133 op_upc_name
= "UPC_SUB";
137 op_c_value
= "(1LL << 12)";
144 op_upc_name
= "UPC_INC";
148 op_c_value
= "(1LL << 13)";
155 op_upc_name
= "UPC_DEC";
159 op_c_value
= "(1LL << 14)";