-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow overlapping regions in MPI_Scatter[v] #840
Comments
Is there a restriction on the input buffer of alltoallv? |
I don't see such restriction on alltoall or alltoallv. There probably should be a restriction on the output buffers of these operations? |
Any such restrictions will be non-enforceable by MPI because detecting overlap (in the general case) is P-complete. |
I think the restriction on the output buffers should be along the lines of "the result of overlapping regions in the result buffer is undefined", i.e., MPI can deposit data in any order. |
Here is what we are saying about this in the datatype chapter (5.1.11):
And then in 6.9.1:
The right approach is not to overspecify, but let the same logic apply. |
Problem
Section 6.6 contains the following constraints for
MPI_Scatter
andMPI_Scatterv
:The accompanying rationale says:
Someone working on collective components in Open MPI reported that there is at least one widely used applications out there that provides overlapping segments to
MPI_Scatterv
, and gets away with it.Proposal
Remove the sentence and the rationale for it. There is no reason for the restriction and the symmetry with
MPI_Gather
serves no purpose.Changes to the Text
TBD
Impact on Implementations
Given that applications have been violating this constraint and got away with it I don't expect that any implementation exploits it. So there should be no impact on implementations.
Impact on Users
Freedom to scatter overlapping regions!
References and Pull Requests
TBD
The text was updated successfully, but these errors were encountered: