Skip to content
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

Calling MPI_Request_free on RMA requests #29

Open
devreal opened this issue Sep 23, 2024 · 5 comments
Open

Calling MPI_Request_free on RMA requests #29

devreal opened this issue Sep 23, 2024 · 5 comments

Comments

@devreal
Copy link

devreal commented Sep 23, 2024

Does anyone remember why we explicitly disallow MPI_Request_free on RMA requests? If the window has been flushed we might as well release the requests via MPI_Request_free in addition to test & wait.

We have an errata that roles back a change we made accidentally in 4.1 that allowed this behavior was contradicting language explicitly disallowing the use of MPI_Request_free: https://github.com/mpi-forum/mpi-standard/pull/904

The language in question is here: https://github.com/mpi-forum/mpi-standard/blob/6d3fc03aac92c0ac62dcb7638bb0a8935aaa2081/chap-one-side/one-side-2.tex#L2024

@jeffhammond
Copy link
Member

Unlike Send, there's no way to know RMA completed otherwise. There's no valid use case for allowing it and plenty of harm.

@devreal
Copy link
Author

devreal commented Sep 23, 2024

You know that the operation is complete once MPI_Win_flush returns. After that, all that is left to do is to release the request back to MPI.

@jeffhammond
Copy link
Member

Fine but that's pointless. Don't use request based RMA if you're going to complete with flush.

@jeffhammond
Copy link
Member

The use case for freeing RMA requests is incompatible with the use case for getting RMA requests in the first place.

@jdinan
Copy link

jdinan commented Sep 23, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants