|
13 | 13 | #include "ompi/mca/op/op.h" |
14 | 14 | #include <ucc/api/ucc.h> |
15 | 15 |
|
16 | | -#define COLL_UCC_DT_UNSUPPORTED -1 |
17 | | -#define COLL_UCC_OP_UNSUPPORTED -1 |
| 16 | +#define COLL_UCC_DT_UNSUPPORTED ((ucc_datatype_t)-1) |
| 17 | +#define COLL_UCC_OP_UNSUPPORTED ((ucc_reduction_op_t)-1) |
18 | 18 |
|
19 | 19 | static ucc_datatype_t ompi_datatype_2_ucc_dt[OPAL_DATATYPE_MAX_PREDEFINED] = { |
20 | | - COLL_UCC_DT_UNSUPPORTED, /*OPAL_DATATYPE_LOOP 0 */ |
21 | | - COLL_UCC_DT_UNSUPPORTED, /*OPAL_DATATYPE_END_LOOP 1 */ |
22 | | - COLL_UCC_DT_UNSUPPORTED, /*OPAL_DATATYPE_LB 2 */ |
23 | | - COLL_UCC_DT_UNSUPPORTED, /*OPAL_DATATYPE_UB 3 */ |
24 | | - UCC_DT_INT8, /*OPAL_DATATYPE_INT1 4 */ |
25 | | - UCC_DT_INT16, /*OPAL_DATATYPE_INT2 5 */ |
26 | | - UCC_DT_INT32, /*OPAL_DATATYPE_INT4 6 */ |
27 | | - UCC_DT_INT64, /*OPAL_DATATYPE_INT8 7 */ |
28 | | - UCC_DT_INT128, /*OPAL_DATATYPE_INT16 8 */ |
29 | | - UCC_DT_UINT8, /*OPAL_DATATYPE_UINT1 9 */ |
30 | | - UCC_DT_UINT16, /*OPAL_DATATYPE_UINT2 10 */ |
31 | | - UCC_DT_UINT32, /*OPAL_DATATYPE_UINT4 11 */ |
32 | | - UCC_DT_UINT64, /*OPAL_DATATYPE_UINT8 12 */ |
33 | | - UCC_DT_UINT128, /*OPAL_DATATYPE_UINT16 13 */ |
34 | | - UCC_DT_FLOAT16, /*OPAL_DATATYPE_FLOAT2 14 */ |
35 | | - UCC_DT_FLOAT32, /*OPAL_DATATYPE_FLOAT4 15 */ |
36 | | - UCC_DT_FLOAT64, /*OPAL_DATATYPE_FLOAT8 16 */ |
37 | | - COLL_UCC_DT_UNSUPPORTED, /*OPAL_DATATYPE_FLOAT12 17 */ |
38 | | - COLL_UCC_DT_UNSUPPORTED, /*OPAL_DATATYPE_FLOAT16 18 */ |
39 | | - COLL_UCC_DT_UNSUPPORTED, /*OPAL_DATATYPE_SHORT_FLOAT_COMPLEX 19 */ |
40 | | - COLL_UCC_DT_UNSUPPORTED, /*OPAL_DATATYPE_FLOAT_COMPLEX 20 */ |
41 | | - COLL_UCC_DT_UNSUPPORTED, /*OPAL_DATATYPE_DOUBLE_COMPLEX 21 */ |
42 | | - COLL_UCC_DT_UNSUPPORTED, /*OPAL_DATATYPE_LONG_DOUBLE_COMPLEX 22 */ |
43 | | - COLL_UCC_DT_UNSUPPORTED, /*OPAL_DATATYPE_BOOL 23 */ |
44 | | - COLL_UCC_DT_UNSUPPORTED, /*OPAL_DATATYPE_WCHAR 24 */ |
45 | | - UCC_DT_INT64, /*OPAL_DATATYPE_LONG 25 */ |
46 | | - UCC_DT_UINT64, /*OPAL_DATATYPE_UNSIGNED_LONG 26 */ |
47 | | - COLL_UCC_DT_UNSUPPORTED /*OPAL_DATATYPE_UNAVAILABLE 27 */ |
| 20 | + [OPAL_DATATYPE_LOOP] = COLL_UCC_DT_UNSUPPORTED, |
| 21 | + [OPAL_DATATYPE_END_LOOP] = COLL_UCC_DT_UNSUPPORTED, |
| 22 | + [OPAL_DATATYPE_LB] = COLL_UCC_DT_UNSUPPORTED, |
| 23 | + [OPAL_DATATYPE_UB] = COLL_UCC_DT_UNSUPPORTED, |
| 24 | + [OPAL_DATATYPE_INT1] = UCC_DT_INT8, |
| 25 | + [OPAL_DATATYPE_INT2] = UCC_DT_INT16, |
| 26 | + [OPAL_DATATYPE_INT4] = UCC_DT_INT32, |
| 27 | + [OPAL_DATATYPE_INT8] = UCC_DT_INT64, |
| 28 | + [OPAL_DATATYPE_INT16] = UCC_DT_INT128, |
| 29 | + [OPAL_DATATYPE_UINT1] = UCC_DT_UINT8, |
| 30 | + [OPAL_DATATYPE_UINT2] = UCC_DT_UINT16, |
| 31 | + [OPAL_DATATYPE_UINT4] = UCC_DT_UINT32, |
| 32 | + [OPAL_DATATYPE_UINT8] = UCC_DT_UINT64, |
| 33 | + [OPAL_DATATYPE_UINT16] = UCC_DT_UINT128, |
| 34 | + [OPAL_DATATYPE_FLOAT2] = UCC_DT_FLOAT16, |
| 35 | + [OPAL_DATATYPE_FLOAT4] = UCC_DT_FLOAT32, |
| 36 | + [OPAL_DATATYPE_FLOAT8] = UCC_DT_FLOAT64, |
| 37 | + [OPAL_DATATYPE_FLOAT12] = COLL_UCC_DT_UNSUPPORTED, |
| 38 | + [OPAL_DATATYPE_FLOAT16] = COLL_UCC_DT_UNSUPPORTED, |
| 39 | + [OPAL_DATATYPE_SHORT_FLOAT_COMPLEX] = COLL_UCC_DT_UNSUPPORTED, |
| 40 | + [OPAL_DATATYPE_FLOAT_COMPLEX] = COLL_UCC_DT_UNSUPPORTED, |
| 41 | + [OPAL_DATATYPE_DOUBLE_COMPLEX] = COLL_UCC_DT_UNSUPPORTED, |
| 42 | + [OPAL_DATATYPE_LONG_DOUBLE_COMPLEX] = COLL_UCC_DT_UNSUPPORTED, |
| 43 | + [OPAL_DATATYPE_BOOL] = COLL_UCC_DT_UNSUPPORTED, |
| 44 | + [OPAL_DATATYPE_WCHAR] = COLL_UCC_DT_UNSUPPORTED, |
| 45 | +#if SIZEOF_LONG == 4 |
| 46 | + [OPAL_DATATYPE_LONG] = UCC_DT_INT32, |
| 47 | + [OPAL_DATATYPE_UNSIGNED_LONG] = UCC_DT_UINT32, |
| 48 | +#elif SIZEOF_LONG == 8 |
| 49 | + [OPAL_DATATYPE_LONG] = UCC_DT_INT64, |
| 50 | + [OPAL_DATATYPE_UNSIGNED_LONG] = UCC_DT_UINT64, |
| 51 | +#endif |
| 52 | + [OPAL_DATATYPE_UNAVAILABLE] = COLL_UCC_DT_UNSUPPORTED |
48 | 53 | }; |
49 | 54 |
|
50 | 55 | static inline ucc_datatype_t ompi_dtype_to_ucc_dtype(ompi_datatype_t *dtype) |
|
0 commit comments