|
1 | 1 | /** |
2 | 2 | Copyright (c) 2021 Mellanox Technologies. All rights reserved. |
3 | 3 | Copyright (c) 2022 NVIDIA Corporation. All rights reserved. |
| 4 | + Copyright (c) 2025 Fujitsu Limited. All rights reserved. |
4 | 5 | $COPYRIGHT$ |
5 | 6 |
|
6 | 7 | Additional copyrights may follow |
@@ -61,6 +62,7 @@ struct mca_coll_ucc_component_t { |
61 | 62 | ucc_lib_attr_t ucc_lib_attr; |
62 | 63 | ucc_coll_type_t cts_requested; |
63 | 64 | ucc_coll_type_t nb_cts_requested; |
| 65 | + ucc_coll_type_t ps_cts_requested; |
64 | 66 | ucc_context_h ucc_context; |
65 | 67 | opal_free_list_t requests; |
66 | 68 | }; |
@@ -132,6 +134,34 @@ struct mca_coll_ucc_module_t { |
132 | 134 | mca_coll_base_module_t* previous_scatter_module; |
133 | 135 | mca_coll_base_module_iscatter_fn_t previous_iscatter; |
134 | 136 | mca_coll_base_module_t* previous_iscatter_module; |
| 137 | + mca_coll_base_module_allreduce_init_fn_t previous_allreduce_init; |
| 138 | + mca_coll_base_module_t* previous_allreduce_init_module; |
| 139 | + mca_coll_base_module_reduce_init_fn_t previous_reduce_init; |
| 140 | + mca_coll_base_module_t* previous_reduce_init_module; |
| 141 | + mca_coll_base_module_barrier_init_fn_t previous_barrier_init; |
| 142 | + mca_coll_base_module_t* previous_barrier_init_module; |
| 143 | + mca_coll_base_module_bcast_init_fn_t previous_bcast_init; |
| 144 | + mca_coll_base_module_t* previous_bcast_init_module; |
| 145 | + mca_coll_base_module_alltoall_init_fn_t previous_alltoall_init; |
| 146 | + mca_coll_base_module_t* previous_alltoall_init_module; |
| 147 | + mca_coll_base_module_alltoallv_init_fn_t previous_alltoallv_init; |
| 148 | + mca_coll_base_module_t* previous_alltoallv_init_module; |
| 149 | + mca_coll_base_module_allgather_init_fn_t previous_allgather_init; |
| 150 | + mca_coll_base_module_t* previous_allgather_init_module; |
| 151 | + mca_coll_base_module_allgatherv_init_fn_t previous_allgatherv_init; |
| 152 | + mca_coll_base_module_t* previous_allgatherv_init_module; |
| 153 | + mca_coll_base_module_gather_init_fn_t previous_gather_init; |
| 154 | + mca_coll_base_module_t* previous_gather_init_module; |
| 155 | + mca_coll_base_module_gatherv_init_fn_t previous_gatherv_init; |
| 156 | + mca_coll_base_module_t* previous_gatherv_init_module; |
| 157 | + mca_coll_base_module_reduce_scatter_block_init_fn_t previous_reduce_scatter_block_init; |
| 158 | + mca_coll_base_module_t* previous_reduce_scatter_block_init_module; |
| 159 | + mca_coll_base_module_reduce_scatter_init_fn_t previous_reduce_scatter_init; |
| 160 | + mca_coll_base_module_t* previous_reduce_scatter_init_module; |
| 161 | + mca_coll_base_module_scatterv_init_fn_t previous_scatterv_init; |
| 162 | + mca_coll_base_module_t* previous_scatterv_init_module; |
| 163 | + mca_coll_base_module_scatter_init_fn_t previous_scatter_init; |
| 164 | + mca_coll_base_module_t* previous_scatter_init_module; |
135 | 165 | }; |
136 | 166 | typedef struct mca_coll_ucc_module_t mca_coll_ucc_module_t; |
137 | 167 | OBJ_CLASS_DECLARATION(mca_coll_ucc_module_t); |
@@ -305,5 +335,78 @@ int mca_coll_ucc_iscatter(const void *sbuf, size_t scount, |
305 | 335 | ompi_request_t** request, |
306 | 336 | mca_coll_base_module_t *module); |
307 | 337 |
|
| 338 | +int mca_coll_ucc_allreduce_init(const void *sbuf, void *rbuf, size_t count, |
| 339 | + struct ompi_datatype_t *dtype, struct ompi_op_t *op, |
| 340 | + struct ompi_communicator_t *comm, struct ompi_info_t *info, |
| 341 | + ompi_request_t **request, mca_coll_base_module_t *module); |
| 342 | + |
| 343 | +int mca_coll_ucc_reduce_init(const void *sbuf, void *rbuf, size_t count, |
| 344 | + struct ompi_datatype_t *dtype, struct ompi_op_t *op, int root, |
| 345 | + struct ompi_communicator_t *comm, struct ompi_info_t *info, |
| 346 | + ompi_request_t **request, mca_coll_base_module_t *module); |
| 347 | + |
| 348 | +int mca_coll_ucc_barrier_init(struct ompi_communicator_t *comm, struct ompi_info_t *info, |
| 349 | + ompi_request_t **request, mca_coll_base_module_t *module); |
| 350 | + |
| 351 | +int mca_coll_ucc_bcast_init(void *buff, size_t count, struct ompi_datatype_t *datatype, int root, |
| 352 | + struct ompi_communicator_t *comm, struct ompi_info_t *info, |
| 353 | + ompi_request_t **request, mca_coll_base_module_t *module); |
| 354 | + |
| 355 | +int mca_coll_ucc_alltoall_init(const void *sbuf, size_t scount, struct ompi_datatype_t *sdtype, |
| 356 | + void *rbuf, size_t rcount, struct ompi_datatype_t *rdtype, |
| 357 | + struct ompi_communicator_t *comm, struct ompi_info_t *info, |
| 358 | + ompi_request_t **request, mca_coll_base_module_t *module); |
| 359 | + |
| 360 | +int mca_coll_ucc_alltoallv_init(const void *sbuf, ompi_count_array_t scounts, |
| 361 | + ompi_disp_array_t sdisps, struct ompi_datatype_t *sdtype, |
| 362 | + void *rbuf, ompi_count_array_t rcounts, ompi_disp_array_t rdisps, |
| 363 | + struct ompi_datatype_t *rdtype, struct ompi_communicator_t *comm, |
| 364 | + struct ompi_info_t *info, ompi_request_t **request, |
| 365 | + mca_coll_base_module_t *module); |
| 366 | + |
| 367 | +int mca_coll_ucc_allgather_init(const void *sbuf, size_t scount, struct ompi_datatype_t *sdtype, |
| 368 | + void *rbuf, size_t rcount, struct ompi_datatype_t *rdtype, |
| 369 | + struct ompi_communicator_t *comm, struct ompi_info_t *info, |
| 370 | + ompi_request_t **request, mca_coll_base_module_t *module); |
| 371 | + |
| 372 | +int mca_coll_ucc_allgatherv_init(const void *sbuf, size_t scount, struct ompi_datatype_t *sdtype, |
| 373 | + void *rbuf, ompi_count_array_t rcounts, ompi_disp_array_t disps, |
| 374 | + struct ompi_datatype_t *rdtype, struct ompi_communicator_t *comm, |
| 375 | + struct ompi_info_t *info, ompi_request_t **request, |
| 376 | + mca_coll_base_module_t *module); |
| 377 | + |
| 378 | +int mca_coll_ucc_gather_init(const void *sbuf, size_t scount, struct ompi_datatype_t *sdtype, |
| 379 | + void *rbuf, size_t rcount, struct ompi_datatype_t *rdtype, int root, |
| 380 | + struct ompi_communicator_t *comm, struct ompi_info_t *info, |
| 381 | + ompi_request_t **request, mca_coll_base_module_t *module); |
| 382 | + |
| 383 | +int mca_coll_ucc_gatherv_init(const void *sbuf, size_t scount, struct ompi_datatype_t *sdtype, |
| 384 | + void *rbuf, ompi_count_array_t rcounts, ompi_disp_array_t disps, |
| 385 | + struct ompi_datatype_t *rdtype, int root, |
| 386 | + struct ompi_communicator_t *comm, struct ompi_info_t *info, |
| 387 | + ompi_request_t **request, mca_coll_base_module_t *module); |
| 388 | + |
| 389 | +int mca_coll_ucc_reduce_scatter_block_init(const void *sbuf, void *rbuf, size_t rcount, |
| 390 | + struct ompi_datatype_t *dtype, struct ompi_op_t *op, |
| 391 | + struct ompi_communicator_t *comm, |
| 392 | + struct ompi_info_t *info, ompi_request_t **request, |
| 393 | + mca_coll_base_module_t *module); |
| 394 | + |
| 395 | +int mca_coll_ucc_reduce_scatter_init(const void *sbuf, void *rbuf, ompi_count_array_t rcounts, |
| 396 | + struct ompi_datatype_t *dtype, struct ompi_op_t *op, |
| 397 | + struct ompi_communicator_t *comm, struct ompi_info_t *info, |
| 398 | + ompi_request_t **request, mca_coll_base_module_t *module); |
| 399 | + |
| 400 | +int mca_coll_ucc_scatterv_init(const void *sbuf, ompi_count_array_t scounts, |
| 401 | + ompi_disp_array_t disps, struct ompi_datatype_t *sdtype, void *rbuf, |
| 402 | + size_t rcount, struct ompi_datatype_t *rdtype, int root, |
| 403 | + struct ompi_communicator_t *comm, struct ompi_info_t *info, |
| 404 | + ompi_request_t **request, mca_coll_base_module_t *module); |
| 405 | + |
| 406 | +int mca_coll_ucc_scatter_init(const void *sbuf, size_t scount, struct ompi_datatype_t *sdtype, |
| 407 | + void *rbuf, size_t rcount, struct ompi_datatype_t *rdtype, int root, |
| 408 | + struct ompi_communicator_t *comm, struct ompi_info_t *info, |
| 409 | + ompi_request_t **request, mca_coll_base_module_t *module); |
| 410 | + |
308 | 411 | END_C_DECLS |
309 | 412 | #endif |
0 commit comments