Description
Problem
Remark 18 in Appendix A.2 (Summary of the Semantics of all Operation-Related MPI Procedures) states
Based on their semantics, when called using an intra-communicator, MPI_ALLGATHER,
MPI_ALLTOALL, and their V and W variants, MPI_ALLREDUCE, MPI_REDUCE_SCATTER,
and MPI_REDUCE_SCATTER_BLOCK must synchronize (i.e., S1/S2 instead of W1/W2) provided that all counts and the size of all datatypes are larger than zero
In the March Forum meeting the question came up whether the hard guarantee (must synchronize) is actually true or if there are cases which can be implemented (in some smart way) that doesn't require synchronization.
Proposal
Check whether that statement is actually true replace it if not.
Changes to the Text
Remove the hard requirement if not necessary
Impact on Implementations
All-to-all collectives could be implemented in a non-synchronizing way
Impact on Users
Users can't rely on synchronization properties of collective routines
References and Pull Requests
Metadata
Metadata
Assignees
Labels
Type
Projects
Status