Skip to content

Commit 77eaa5c

Browse files
committed
Keep the non-blocking collective tags globally in sync.
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
1 parent c98e387 commit 77eaa5c

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

ompi/mca/coll/libnbc/nbc_ialltoallv.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,20 @@ static int nbc_alltoallv_init(const void* sendbuf, const int *sendcounts, const
7474
}
7575
}
7676
span = opal_datatype_span(&recvtype->super, count, &gap);
77+
/**
78+
* If this process has no data to send or receive it can bail out early,
79+
* but it needs to increase the nonblocking tag to stay in sycn with the
80+
* rest of the processses.
81+
*/
7782
if (OPAL_UNLIKELY(0 == span)) {
83+
ompi_coll_base_nbc_reserve_tags(comm, 1);
7884
return nbc_get_noop_request(persistent, request);
7985
}
8086
tmpbuf = malloc(span);
8187
if (OPAL_UNLIKELY(NULL == tmpbuf)) {
8288
return OMPI_ERR_OUT_OF_RESOURCE;
8389
}
90+
8491
sendcounts = recvcounts;
8592
sdispls = rdispls;
8693
} else {

0 commit comments

Comments
 (0)