Open
Description
GFortran 15+ introduces a new way of accessing coarrays on the remote image. For this the id of an MPI_Win(-dow) is transfered to the remote image along with other instructions and the access is executed there by a separate thread. OpenMPI unfortunately does not provide an id for MPI_Wins, like all other MPI-implementations do, which makes it unusable at the moment. In OpenMPI an MPI_Win is a pointer to an opaque type. The address of a MPI_Win is therefore different on each image/process.
Solutions to this problem could possibly be:
- motivate OpenMPI to create an id for each MPI_Win which can be used on remote images, too
- compute a unique id for each MPI_Win in OpenCoarrays itself and use it for MPI_Win identification across images/processes, or
- modify OpenCoarrays to make use of the local copies of the remote memory, which imposes new limitations on allocatable components in derived types.
The first solution would much more preferable.
Metadata
Metadata
Assignees
Labels
No labels