@@ -143,11 +143,59 @@ typedef ucc_status_t (*ucc_tl_ucp_copy_test_fn_t)(ucc_tl_ucp_context_t *ctx,
143
143
ucc_tl_ucp_copy_task_t * copy_task );
144
144
typedef ucc_status_t (* ucc_tl_ucp_copy_finalize_fn_t )(ucc_tl_ucp_copy_task_t * copy_task );
145
145
146
+ typedef struct ucc_tl_ucp_team {
147
+ ucc_tl_team_t super ;
148
+ ucc_status_t status ;
149
+ uint32_t seq_num ;
150
+ ucc_tl_ucp_task_t * preconnect_task ;
151
+ void * va_base [MAX_NR_SEGMENTS ];
152
+ size_t base_length [MAX_NR_SEGMENTS ];
153
+ ucc_tl_ucp_worker_t * worker ;
154
+ ucc_tl_ucp_team_config_t cfg ;
155
+ const char * tuning_str ;
156
+ ucc_topo_t * topo ;
157
+ ucc_ep_map_t ctx_map ;
158
+ ucc_rank_t opt_radix ; /* generic opt radix */
159
+ ucc_rank_t opt_radix_host ; /* host specific opt radix */
160
+ } ucc_tl_ucp_team_t ;
161
+ UCC_CLASS_DECLARE (ucc_tl_ucp_team_t , ucc_base_context_t * ,
162
+ const ucc_base_team_params_t * );
163
+
164
+ typedef ucc_status_t (* ucc_tl_ucp_send_nb_fn_t )(void * buffer , size_t msglen ,
165
+ ucc_memory_type_t mtype ,
166
+ ucc_rank_t dest_group_rank ,
167
+ ucc_tl_ucp_team_t * team ,
168
+ ucc_tl_ucp_task_t * task );
169
+
170
+ typedef ucc_status_t (* ucc_tl_ucp_recv_nb_fn_t )(void * buffer , size_t msglen ,
171
+ ucc_memory_type_t mtype ,
172
+ ucc_rank_t dest_group_rank ,
173
+ ucc_tl_ucp_team_t * team ,
174
+ ucc_tl_ucp_task_t * task );
175
+
176
+ typedef ucc_status_t (* ucc_tl_ucp_recv_nz_fn_t )(void * buffer , size_t msglen ,
177
+ ucc_memory_type_t mtype ,
178
+ ucc_rank_t dest_group_rank ,
179
+ ucc_tl_ucp_team_t * team ,
180
+ ucc_tl_ucp_task_t * task );
181
+
182
+ typedef ucc_status_t (* ucc_tl_ucp_send_nz_fn_t )(void * buffer , size_t msglen ,
183
+ ucc_memory_type_t mtype ,
184
+ ucc_rank_t dest_group_rank ,
185
+ ucc_tl_ucp_team_t * team ,
186
+ ucc_tl_ucp_task_t * task );
187
+
146
188
typedef struct ucc_tl_ucp_context {
147
189
ucc_tl_context_t super ;
148
190
ucc_tl_ucp_context_config_t cfg ;
149
191
ucc_tl_ucp_worker_t worker ;
150
192
ucc_tl_ucp_worker_t service_worker ;
193
+ struct {
194
+ ucc_tl_ucp_send_nb_fn_t ucc_tl_ucp_send_nb ;
195
+ ucc_tl_ucp_recv_nb_fn_t ucc_tl_ucp_recv_nb ;
196
+ ucc_tl_ucp_send_nz_fn_t ucc_tl_ucp_send_nz ;
197
+ ucc_tl_ucp_recv_nz_fn_t ucc_tl_ucp_recv_nz ;
198
+ } sendrecv_cbs ;
151
199
uint32_t service_worker_throttling_count ;
152
200
ucc_mpool_t req_mp ;
153
201
ucc_tl_ucp_remote_info_t * remote_info ;
@@ -162,26 +210,8 @@ typedef struct ucc_tl_ucp_context {
162
210
} copy ;
163
211
} ucc_tl_ucp_context_t ;
164
212
UCC_CLASS_DECLARE (ucc_tl_ucp_context_t , const ucc_base_context_params_t * ,
165
- const ucc_base_config_t * );
166
-
167
- typedef struct ucc_tl_ucp_team {
168
- ucc_tl_team_t super ;
169
- ucc_status_t status ;
170
- uint32_t seq_num ;
171
- ucc_tl_ucp_task_t * preconnect_task ;
172
- void * va_base [MAX_NR_SEGMENTS ];
173
- size_t base_length [MAX_NR_SEGMENTS ];
174
- ucc_tl_ucp_worker_t * worker ;
175
- ucc_tl_ucp_team_config_t cfg ;
176
- const char * tuning_str ;
177
- ucc_topo_t * topo ;
178
- ucc_ep_map_t ctx_map ;
179
- ucc_rank_t opt_radix ; /* generic opt radix */
180
- ucc_rank_t opt_radix_host ; /* host specific opt radix */
181
- } ucc_tl_ucp_team_t ;
182
- UCC_CLASS_DECLARE (ucc_tl_ucp_team_t , ucc_base_context_t * ,
183
- const ucc_base_team_params_t * );
184
-
213
+ const ucc_base_config_t * );
214
+
185
215
extern ucc_config_field_t ucc_tl_ucp_lib_config_table [];
186
216
187
217
#define UCC_TL_UCP_SUPPORTED_COLLS \
0 commit comments