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

Allow non-contiguous option for MPI_Win_allocate #39

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

AtlantaPepsi
Copy link

This is a draft PR, work in progress to address known Issues #2 in README:

alloc_shared_noncontig option is forced to be true for shared window at the moment, to enable non-contiguous memory some additional operations/functionalities would be necessary.

Most obviously, the offset from target user to ghost base needs to be recalculated. Aside from the existing approach (of accumulating window sizes of all ghosts+users in front of calling process), I'm adding a new calculation, using MPI_shared_query from ghost processes to query users' base address (local to ghost) in shared window, then send offset = usr_addr-ghost_base back to users in middle of alloc_shared_window function.

But the subsequent window creation and RMA wrapper will be further complicated, too. Few months ago when I was first looking at this issue, I recall there were some difficulties when I was looking at CSPU_target_get_ghost protocols, as well as some critical conflicts with Window flavor requirement. I can't remember the specific details (which is problematic) and have to start over to review the code.

For this reason this draft PR will also serve as a personal log, lest I forget my previous efforts wherever I left them due to my unpredictable schedule :S

@minsii
Copy link
Collaborator

minsii commented May 13, 2021

@AtlantaPepsi I plan to make a production release for Casper. It will be great if this PR can be included. Can you please update if the code is ready to review?

@AtlantaPepsi
Copy link
Author

Hi @minsii , to be honest I haven't gotten time to work on Casper code for a while. I have more time recently, but there's quite a few things I haven't fixed/figured out yet AFAIK... When do you plan to make the release?

@minsii
Copy link
Collaborator

minsii commented May 14, 2021

I am targeting by end of May. But it is flexible.

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

Successfully merging this pull request may close these issues.

2 participants