OpenCoarrays
OpenCoarrays copied to clipboard
OpenMPI no longer supported for OpenCoarrays
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.