Skip to content

MPI 4.0: Allow MPI_WIN_SHARED_QUERY on regular windows #13330

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

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

devreal
Copy link
Contributor

@devreal devreal commented Jul 11, 2025

MPI 4.0 allows MPI_WIN_SHARED_QUERY to be called on any allocated and created windows. It may return the pointer, size, and displacement unit if the peer is located on the same node and the memory is shared.

This PR adds this functionality for osc/sm and osc/rdma. There is an attempt to implement it in osc/ucx but it's incomplete. We need to exchange and store the base pointer for the peer processes on the same node so we can pass them to ucp_rkey_ptr(). I'm not sure how to easily determine whether a process is on the same node. Some help would be appreciated.

@devreal devreal marked this pull request as draft July 11, 2025 19:40
devreal added 5 commits July 11, 2025 15:40
MPI 4.0 introduced allows applications to query regular windows for shared
memory. This patch enables it for osc/rdma and osc/ucx and otherwise makes
sure we fail gracefully if the component does not provide the query callback.
For osc/rdma, this is currently supported only for allocated windows but could
later be extended to windows with application-provided memory through xpmem.

Signed-off-by: Joseph Schuchart <[email protected]>
@devreal devreal force-pushed the win-shared-query branch from caa091d to a15d221 Compare July 11, 2025 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant