Skip to content

Commit 96fea22

Browse files
committed
Don't allow some rank to don't count the collective if they have no data
to exchange. This is the same logic as in 77eaa5c applied to ialltoallw. Signed-off-by: George Bosilca <[email protected]>
1 parent b532564 commit 96fea22

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

ompi/mca/coll/libnbc/nbc_ialltoallw.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,13 @@ static int nbc_alltoallw_init(const void* sendbuf, const int *sendcounts, const
6767
span = lspan;
6868
}
6969
}
70+
/**
71+
* If this process has no data to send or receive it can bail out early,
72+
* but it needs to increase the nonblocking tag to stay in sycn with the
73+
* rest of the processses.
74+
*/
7075
if (OPAL_UNLIKELY(0 == span)) {
76+
ompi_coll_base_nbc_reserve_tags(comm, 1);
7177
return nbc_get_noop_request(persistent, request);
7278
}
7379
tmpbuf = malloc(span);

0 commit comments

Comments
 (0)