Project

General

Profile

Bug #1240

MPI_COMM_SELF handling issues in AMPI

Added by Sam White almost 3 years ago. Updated about 2 years ago.

Status:
Merged
Priority:
Normal
Assignee:
Category:
AMPI
Target version:
Start date:
09/28/2016
Due date:
% Done:

0%


Description

AMPI creates 1d chare arrays for each communicator, except for MPI_COMM_SELF, for which we avoid creating a chare (to save memory?) and instead handle as a corner case everywhere.
So far we have found issues in Intercomm_create and Comm_split, but all of the communicator and topology routines should be reviewed to make sure they handle it correctly.

This is blocking work on Intercomm_create and Comm_create_group.

History

#1 Updated by Sam White over 2 years ago

The MPI_Comm_split failures have been observed in XPACC.

#2 Updated by Sam White over 2 years ago

  • Target version changed from 6.8.0 to 6.8.1
  • Status changed from In Progress to New

#3 Updated by Matthias Diener about 2 years ago

MPI_Comm_dup with a MPI_COMM_SELF communicator to duplicate also is not handled correctly (ampi::splitReduce expected a split contribution from every rank!). This breaks some functionality in ROMIO.

#4 Updated by Sam White about 2 years ago

  • Status changed from New to In Progress

This patch has some improvements, but is still broken for the ROMIO MPI_COMM_SELF MPI_Comm_dup case: https://charm.cs.illinois.edu/gerrit/#/c/2570/

#5 Updated by Matthias Diener about 2 years ago

To fix this properly, we might have to implement full support for MPI_COMM_SELF in AMPI. For example, how would MPI_Comm_set_attr() work on MPI_COMM_SELF without this support?

#6 Updated by Sam White about 2 years ago

Yes, I'm working on the full support now

#7 Updated by Sam White about 2 years ago

  • Assignee changed from Edward Hutter to Sam White

#8 Updated by Sam White about 2 years ago

  • Status changed from In Progress to Implemented

#9 Updated by Sam White about 2 years ago

It would probably be good to get this into 6.8.0

#10 Updated by Sam White about 2 years ago

  • Target version changed from 6.8.1 to 6.8.0

Related: make collectives optimizations for MPI_COMM_SELF apply to all comms with size of 1: https://charm.cs.illinois.edu/gerrit/#/c/2755/

#11 Updated by Sam White about 2 years ago

  • Status changed from Implemented to Merged

Also available in: Atom PDF