This ticket proposes a new communicator split type, MPI_COMM_TYPE_ADDRESS_SPACE. The result of this split will be a new communicator containing all processes in the parent communicator that share an address space with the calling process.
Motivation
Processes may share an address space when processes are implemented as threads, or when the proposed MPI endpoints extension is used. Compatible applications and libraries could use this query to optimize for shared memory. For applications or libraries that rely on processes occupying separate VA space (e.g. they rely on per-process global or static data) this query would allow these codes to detect whether they are compatible with the given communicator.
I’m going to propose moving this to MPI 5.0. If someone objects and thinks we’ll be ready to read this soon, leave a comment and we can discuss bringing it back into MPI 4.1.
This was https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/485.
Summary
This ticket proposes a new communicator split type,
MPI_COMM_TYPE_ADDRESS_SPACE
. The result of this split will be a new communicator containing all processes in the parent communicator that share an address space with the calling process.Motivation
Processes may share an address space when processes are implemented as threads, or when the proposed MPI endpoints extension is used. Compatible applications and libraries could use this query to optimize for shared memory. For applications or libraries that rely on processes occupying separate VA space (e.g. they rely on per-process global or static data) this query would allow these codes to detect whether they are compatible with the given communicator.