Skip to content

Commit da58ec5

Browse files
committed
TL/UCP: refresh active radix after phase
1 parent 46f6fd0 commit da58ec5

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

src/components/tl/ucp/allgather/allgather_knomial.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ void ucc_tl_ucp_allgather_knomial_progress(ucc_coll_task_t *coll_task)
6363
ucc_coll_args_t *args = &TASK_ARGS(task);
6464
ucc_tl_ucp_team_t *team = TASK_TEAM(task);
6565
ucc_tl_ucp_context_t *ctx = UCC_TL_UCP_TEAM_CTX(team);
66+
ucc_kn_radix_t radix = task->allgather_kn.p.radix;
6667
uint8_t node_type = task->allgather_kn.p.node_type;
6768
ucc_knomial_pattern_t *p = &task->allgather_kn.p;
6869
void *rbuf = GET_DST(args);
@@ -152,7 +153,7 @@ void ucc_tl_ucp_allgather_knomial_progress(ucc_coll_task_t *coll_task)
152153
&local_seg_offset);
153154
sbuf = PTR_OFFSET(rbuf, local_seg_offset * dt_size);
154155

155-
for (loop_step = p->radix - 1; loop_step > 0; loop_step--) {
156+
for (loop_step = radix - 1; loop_step > 0; loop_step--) {
156157
peer = ucc_knomial_pattern_get_loop_peer(p, rank, loop_step);
157158
if (peer == UCC_KN_PEER_NULL)
158159
continue;
@@ -170,7 +171,7 @@ void ucc_tl_ucp_allgather_knomial_progress(ucc_coll_task_t *coll_task)
170171
task, out);
171172
}
172173

173-
for (loop_step = 1; loop_step < p->radix; loop_step++) {
174+
for (loop_step = 1; loop_step < radix; loop_step++) {
174175
peer = ucc_knomial_pattern_get_loop_peer(p, rank, loop_step);
175176
if (peer == UCC_KN_PEER_NULL)
176177
continue;
@@ -198,6 +199,7 @@ void ucc_tl_ucp_allgather_knomial_progress(ucc_coll_task_t *coll_task)
198199
return;
199200
}
200201
ucc_kn_ag_pattern_next_iter(p);
202+
radix = p->radix;
201203
}
202204

203205
if (KN_NODE_PROXY == node_type) {

0 commit comments

Comments
 (0)