OpenCoarrays icon indicating copy to clipboard operation
OpenCoarrays copied to clipboard

OpenMPI no longer supported for OpenCoarrays

Open vehre opened this issue 6 months ago • 2 comments

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.

vehre avatar Apr 10 '25 12:04 vehre