|
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