Allow non-contiguous option for MPI_Win_allocate#39
Draft
AtlantaPepsi wants to merge 3 commits intopmodels:masterfrom
Draft
Allow non-contiguous option for MPI_Win_allocate#39AtlantaPepsi wants to merge 3 commits intopmodels:masterfrom
AtlantaPepsi wants to merge 3 commits intopmodels:masterfrom
Conversation
Collaborator
|
@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? |
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? |
Collaborator
|
I am targeting by end of May. But it is flexible. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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_baseback to users in middle ofalloc_shared_windowfunction.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_ghostprotocols, 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