MPI_COMM_SELF handling issues in AMPI
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.
The MPI_Comm_split failures have been observed in XPACC.
- Target version changed from 6.8.0 to 6.8.1
- Status changed from In Progress to New
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.
- Status changed from New to In Progress
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?
Yes, I'm working on the full support now
- Assignee changed from Edward Hutter to Sam White
- Status changed from In Progress to Implemented
It would probably be good to get this into 6.8.0
- Target version changed from 6.8.1 to 6.8.0
- Status changed from Implemented to Merged
Also available in: Atom