[mpiwg-rma] Ticket 435 and Re: MPI_Win_allocate_shared and synchronization functions
Rolf Rabenseifner
rabenseifner at hlrs.de
Wed Jul 2 09:38:56 CDT 2014
Bill, Rajeev, and all other RMA WG members,
Hubert and Torsten discussed already in 2012 the meaning of
the MPI one-sided synchronization routines for MPI-3.0 shared memory.
This question is still unresolved in the MPI-3.0 + errata.
Does the term "RMA Operation" include "a remote load/store
from an origin process to the window Memory on a target"?
Or not?
The ticket #435 expects "not".
In this case, MPI_Win_fence and post-start-complete-wait
cannot be used for synchronizing the sending process of data
with the receiving process of data that use only
local and remote load/stores on shared memory windows.
Ticket 435 extends the meaning of
MPI_Win_fence and post-start-complete-wait that they
provide sender-Receiver synchronization between processes
that use local and remote load/stores
on shared memory windows.
I hope that all RMA working group members, agree that
- currently the behavior of these sync-routines for
shared memory remote load/stores is undefined due to
the undefined definition of "RMA Operation"
- and that we need an errata that resolves this problem.
What is your opinion about the solution provided in
https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/435 ?
Best regards
Rolf
PS: Ticket 435 is the result of a discussion of Pavan, Hubert and I at ISC2014.
----- Original Message -----
> From: Hubert Ritzdorf
> Sent: Tuesday, September 11, 2012 7:26 PM
> To: mpi3-rma at lists.mpi-forum.org
> Subject: MPI_Win_allocate_shared and synchronization functions
>
> Hi,
>
> it's quite unclear what Page 410, Lines 17-19
>
> A consistent view can be created in the uni?fied
> memory model (see Section 11.4) by utilizing the window
> synchronization functions (see
> Section 11.5)
>
> really means. Section 11.5 doesn't mention any (load/store) access to
> shared memory.
> Thus, must
>
> (*) RMA communication calls and RMA operations
> be interpreted as RMA communication calls (MPI_GET, MPI_PUT,
> ...) and
> ANY load/store access to shared
> window
> (*) put call as put call and any store to shared memory
> (*) get call as get call and any load from shared memory
> (*) accumulate call as accumulate call and any load or store access
> to shared window ?
>
> Example: Assertion MPI_MODE_NOPRECEDE
>
> Does
>
> the fence does not complete any sequence of locally issued RMA calls
>
> mean for windows created by MPI_Win_Allocate_shared ()
>
> the fence does not complete any sequence of locally issued RMA calls
> or
> any load/store access to the window memory ?
>
> It's not clear to me. I will be probably not clear for the standard
> MPI user.
> RMA operations are defined only MPI functions for window objects
> (as far as I can see).
> But possibly I'm totally wrong and the synchronization functions
> synchronize
> only the RMA communication calls (MPI_GET, MPI_PUT, ...).
>
> Hubert
>
> -----------------------------------------------------------------------------
>
> Wednesday, September 12, 2012 11:37 AM
>
> Hubert,
>
> This is what I was referring to. I'm in favor of this proposal.
>
> Torsten
>
--
Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner at hlrs.de
High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530
University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832
Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner
Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307)
More information about the mpiwg-rma
mailing list