forked from open-mpi/ompi
-
Notifications
You must be signed in to change notification settings - Fork 1
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
sessions: fix a problem with fortran comm handles #14
Open
hppritcha
wants to merge
9
commits into
hjelmn:sessions_new
Choose a base branch
from
hppritcha:sessions_new
base: sessions_new
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains 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
Sessions related changes changed the order of initialization of pre-defined communicators used in the World Process Model. This led to issues for MPI Fortran applications since the predefined handles for MPI_COMM_WORLD, MPI_COMM_SELF, and MPI_COMM_NULL were wrong, leading to a meltdown with any call to MPI using communicators from the Fortran interfaces. Further, when using sessions, there's no guarantee when the app might finally cause MPI_Init, so the original algorithm for adding entries to the comm struct f_to_c pointer array no longer works as-is. This commit fixes these issues with Fortran interfaces and MPI communicator handles. Signed-off-by: Howard Pritchard <howardp@lanl.gov>
@hjelmn this fixes a problem Sam was hitting with the app since it uses fortran 😄 |
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
@hjelmn could you merge this in when you have a moment? |
so that the code can compile when configured with --disable-c11-atomics Signed-off-by: Howard Pritchard <howardp@lanl.gov>
pml/ob1: use opal_atomic
fix fortran problems with sessions
the way fboxes works has issues for the sessions implementation, in particular tthe session finalize approach. what happens without this temporary fix is that if there is not some fully shcnronizing call prior to calling session_finalize, there are cases where a process may be probing its fast mailboxes for processes that are tearing down theses fboxes. That results in segfauls and sigbus problems. The fast box mechanism will need to be supplemented with some kind of shutdown mechanism that will tell the owner of the fboxes when its okay to actually tear them down. IN the interest of making progress using the sessions prototype with applications, shut down the fbox process for the prototype and return to coming up with a real fix at a later date. relates to #3 Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
temporarily disable fboxes for sessions
Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
fix a session related prototype in mpi.h
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.
Sessions related changes changed the order of initialization
of pre-defined communicators used in the World Process Model.
This led to issues for MPI Fortran applications since the predefined
handles for MPI_COMM_WORLD, MPI_COMM_SELF, and MPI_COMM_NULL were
wrong, leading to a meltdown with any call to MPI using communicators
from the Fortran interfaces.
Further, when using sessions, there's no guarantee when the app might
finally call MPI_Init, so the original algorithm for adding entries
to the comm struct f_to_c pointer array no longer works as-is.
This commit fixes these issues with Fortran interfaces and MPI
communicator handles.
Signed-off-by: Howard Pritchard howardp@lanl.gov