Skip to content

Conversation

@artpol84
Copy link
Contributor

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)

@artpol84
Copy link
Contributor Author

Efficiency verification

#3375 (comment)

    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)
@artpol84 artpol84 force-pushed the comm_create/v2.0.x branch from 807cc6e to 548092d Compare April 21, 2017 01:37
@bwbarrett-bot
Copy link

Test Passed

@artpol84
Copy link
Contributor Author

MTT verification

#3375 (comment)

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) {
Copy link
Contributor

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) {
Copy link
Contributor

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)

@jsquyres
Copy link
Member

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);
Copy link
Contributor

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);
Copy link
Contributor

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;
Copy link
Contributor

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

@jsquyres
Copy link
Member

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.

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.

5 participants