@@ -27,10 +27,11 @@ BEGIN_C_DECLS
2727#define COLL_UCC_CTS (UCC_COLL_TYPE_BARRIER | UCC_COLL_TYPE_BCAST | \
2828 UCC_COLL_TYPE_ALLREDUCE | UCC_COLL_TYPE_ALLTOALL | \
2929 UCC_COLL_TYPE_ALLTOALLV | UCC_COLL_TYPE_ALLGATHER | \
30- UCC_COLL_TYPE_REDUCE | UCC_COLL_TYPE_ALLGATHERV)
30+ UCC_COLL_TYPE_REDUCE | UCC_COLL_TYPE_ALLGATHERV | \
31+ UCC_COLL_TYPE_REDUCE_SCATTER)
3132
32- #define COLL_UCC_CTS_STR "barrier,bcast,allreduce,alltoall,alltoallv,allgather,allgatherv,reduce," \
33- "ibarrier,ibcast,iallreduce,ialltoall,ialltoallv,iallgather,iallgatherv,ireduce"
33+ #define COLL_UCC_CTS_STR "barrier,bcast,allreduce,alltoall,alltoallv,allgather,allgatherv,reduce,reduce_scatter_block, " \
34+ "ibarrier,ibcast,iallreduce,ialltoall,ialltoallv,iallgather,iallgatherv,ireduce,ireduce_scatter_block "
3435
3536typedef struct mca_coll_ucc_req {
3637 ompi_request_t super ;
@@ -64,42 +65,46 @@ OMPI_MODULE_DECLSPEC extern mca_coll_ucc_component_t mca_coll_ucc_component;
6465 * UCC enabled communicator
6566 */
6667struct mca_coll_ucc_module_t {
67- mca_coll_base_module_t super ;
68- ompi_communicator_t * comm ;
69- int rank ;
70- ucc_team_h ucc_team ;
71- mca_coll_base_module_allreduce_fn_t previous_allreduce ;
72- mca_coll_base_module_t * previous_allreduce_module ;
73- mca_coll_base_module_iallreduce_fn_t previous_iallreduce ;
74- mca_coll_base_module_t * previous_iallreduce_module ;
75- mca_coll_base_module_reduce_fn_t previous_reduce ;
76- mca_coll_base_module_t * previous_reduce_module ;
77- mca_coll_base_module_ireduce_fn_t previous_ireduce ;
78- mca_coll_base_module_t * previous_ireduce_module ;
79- mca_coll_base_module_barrier_fn_t previous_barrier ;
80- mca_coll_base_module_t * previous_barrier_module ;
81- mca_coll_base_module_ibarrier_fn_t previous_ibarrier ;
82- mca_coll_base_module_t * previous_ibarrier_module ;
83- mca_coll_base_module_bcast_fn_t previous_bcast ;
84- mca_coll_base_module_t * previous_bcast_module ;
85- mca_coll_base_module_ibcast_fn_t previous_ibcast ;
86- mca_coll_base_module_t * previous_ibcast_module ;
87- mca_coll_base_module_alltoall_fn_t previous_alltoall ;
88- mca_coll_base_module_t * previous_alltoall_module ;
89- mca_coll_base_module_ialltoall_fn_t previous_ialltoall ;
90- mca_coll_base_module_t * previous_ialltoall_module ;
91- mca_coll_base_module_alltoallv_fn_t previous_alltoallv ;
92- mca_coll_base_module_t * previous_alltoallv_module ;
93- mca_coll_base_module_ialltoallv_fn_t previous_ialltoallv ;
94- mca_coll_base_module_t * previous_ialltoallv_module ;
95- mca_coll_base_module_allgather_fn_t previous_allgather ;
96- mca_coll_base_module_t * previous_allgather_module ;
97- mca_coll_base_module_iallgather_fn_t previous_iallgather ;
98- mca_coll_base_module_t * previous_iallgather_module ;
99- mca_coll_base_module_allgatherv_fn_t previous_allgatherv ;
100- mca_coll_base_module_t * previous_allgatherv_module ;
101- mca_coll_base_module_iallgatherv_fn_t previous_iallgatherv ;
102- mca_coll_base_module_t * previous_iallgatherv_module ;
68+ mca_coll_base_module_t super ;
69+ ompi_communicator_t * comm ;
70+ int rank ;
71+ ucc_team_h ucc_team ;
72+ mca_coll_base_module_allreduce_fn_t previous_allreduce ;
73+ mca_coll_base_module_t * previous_allreduce_module ;
74+ mca_coll_base_module_iallreduce_fn_t previous_iallreduce ;
75+ mca_coll_base_module_t * previous_iallreduce_module ;
76+ mca_coll_base_module_reduce_fn_t previous_reduce ;
77+ mca_coll_base_module_t * previous_reduce_module ;
78+ mca_coll_base_module_ireduce_fn_t previous_ireduce ;
79+ mca_coll_base_module_t * previous_ireduce_module ;
80+ mca_coll_base_module_barrier_fn_t previous_barrier ;
81+ mca_coll_base_module_t * previous_barrier_module ;
82+ mca_coll_base_module_ibarrier_fn_t previous_ibarrier ;
83+ mca_coll_base_module_t * previous_ibarrier_module ;
84+ mca_coll_base_module_bcast_fn_t previous_bcast ;
85+ mca_coll_base_module_t * previous_bcast_module ;
86+ mca_coll_base_module_ibcast_fn_t previous_ibcast ;
87+ mca_coll_base_module_t * previous_ibcast_module ;
88+ mca_coll_base_module_alltoall_fn_t previous_alltoall ;
89+ mca_coll_base_module_t * previous_alltoall_module ;
90+ mca_coll_base_module_ialltoall_fn_t previous_ialltoall ;
91+ mca_coll_base_module_t * previous_ialltoall_module ;
92+ mca_coll_base_module_alltoallv_fn_t previous_alltoallv ;
93+ mca_coll_base_module_t * previous_alltoallv_module ;
94+ mca_coll_base_module_ialltoallv_fn_t previous_ialltoallv ;
95+ mca_coll_base_module_t * previous_ialltoallv_module ;
96+ mca_coll_base_module_allgather_fn_t previous_allgather ;
97+ mca_coll_base_module_t * previous_allgather_module ;
98+ mca_coll_base_module_iallgather_fn_t previous_iallgather ;
99+ mca_coll_base_module_t * previous_iallgather_module ;
100+ mca_coll_base_module_allgatherv_fn_t previous_allgatherv ;
101+ mca_coll_base_module_t * previous_allgatherv_module ;
102+ mca_coll_base_module_iallgatherv_fn_t previous_iallgatherv ;
103+ mca_coll_base_module_t * previous_iallgatherv_module ;
104+ mca_coll_base_module_reduce_scatter_block_fn_t previous_reduce_scatter_block ;
105+ mca_coll_base_module_t * previous_reduce_scatter_block_module ;
106+ mca_coll_base_module_ireduce_scatter_block_fn_t previous_ireduce_scatter_block ;
107+ mca_coll_base_module_t * previous_ireduce_scatter_block_module ;
103108};
104109typedef struct mca_coll_ucc_module_t mca_coll_ucc_module_t ;
105110OBJ_CLASS_DECLARATION (mca_coll_ucc_module_t );
@@ -195,5 +200,18 @@ int mca_coll_ucc_iallgatherv(const void *sbuf, int scount, struct ompi_datatype_
195200 ompi_request_t * * request ,
196201 mca_coll_base_module_t * module );
197202
203+ int mca_coll_ucc_reduce_scatter_block (const void * sbuf , void * rbuf , int rcount ,
204+ struct ompi_datatype_t * dtype ,
205+ struct ompi_op_t * op ,
206+ struct ompi_communicator_t * comm ,
207+ mca_coll_base_module_t * module );
208+
209+ int mca_coll_ucc_ireduce_scatter_block (const void * sbuf , void * rbuf , int rcount ,
210+ struct ompi_datatype_t * dtype ,
211+ struct ompi_op_t * op ,
212+ struct ompi_communicator_t * comm ,
213+ ompi_request_t * * request ,
214+ mca_coll_base_module_t * module );
215+
198216END_C_DECLS
199217#endif
0 commit comments