-
Notifications
You must be signed in to change notification settings - Fork 932
ompi/comm: Improve MPI_Comm_create algorithm (v2.0.x) #3388
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
Conversation
Efficiency verification |
Force only procs that are participating in the ne Comm to decide what
CID is appropriate. This will have 2 advantages:
* Speedup Comm creation for small communicators: non-participating procs
will not interfere
* Reduce CID fragmentation: non-overlaping groups will be allowed to use
same CID.
Signed-off-by: Artem Polyakov <[email protected]>
(cherry picked from commit f1f7f20)
807cc6e to
548092d
Compare
|
Test Passed |
MTT verification |
| for (unsigned int i = context->start ; i < mca_pml.pml_max_contextid ; ++i) { | ||
| flag = opal_pointer_array_test_and_set_item (&ompi_mpi_communicators, i, | ||
| context->comm); | ||
| if (true == flag) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor quibble, if (true == flag) could be changed to if (flag)
| bool flag; | ||
| flag = opal_pointer_array_test_and_set_item (&ompi_mpi_communicators, i, | ||
| context->comm); | ||
| if (true == flag) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor quibble, if (true == flag) could be changed to if (flag)
|
Do not merge until #3375 is merged. |
| ompi_request_t *subreq; | ||
| bool flag; | ||
| int ret; | ||
| int participate = (context->newcomm->c_local_group->grp_my_rank != MPI_UNDEFINED); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor quibble, participate could be a boolean
| ompi_comm_cid_context_t *context = (ompi_comm_cid_context_t *) request->context; | ||
| ompi_request_t *subreq; | ||
| int ret; | ||
| int participate = (context->newcomm->c_local_group->grp_my_rank != MPI_UNDEFINED); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor quibble, participate could be a boolean
|
|
||
| static int ompi_comm_nextcid_check_flag (ompi_comm_request_t *request) | ||
| { | ||
| ompi_comm_cid_context_t *context = (ompi_comm_cid_context_t *) request->context; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor quibble, participate could be a boolean
|
Per discussion on the 2017-04-26 webex and per further discussion by the RMs on 2017-04-26, this appears to be an enhancement that isn't classified as a bug fix (e.g., no customer problems were cited). As such, we're dropping it from v2.0.x. |
Signed-off-by: Artem Polyakov [email protected]
(cherry picked from commit f1f7f20)