[Mpi3-hybridpm] [Mpi3-rma] Alternative Proposal for Shared Memory Support

Rajeev Thakur thakur at mcs.anl.gov
Tue Mar 15 21:48:40 CDT 2011


Also, at the last meeting we had trouble defining the MPI_SHM_Fence function. Dave said we won't be able to define it portably for all processor architectures wrt memory orderings etc. Someone else pointed out that, in Fortran, code can be moved around it. Those issues won't go away by effectively renaming MPI_SHM_Fence to MPI_Win_flush. (These issues are wrt direct loads/stores to shared memory.)

Rajeev

 
On Mar 15, 2011, at 9:39 PM, Rajeev Thakur wrote:

> That's what I meant in my first mail. We need to say whether this example will work or not.
> 
> A=10
> barrier         barrier
>                    x = A
> 
> If not, which synchronization functions need to be used and how? The current text does not automatically cover this example.
> 
> Rajeev
> 
> 
> On Mar 15, 2011, at 9:28 PM, Torsten Hoefler wrote:
> 
>> On Tue, Mar 15, 2011 at 09:22:49PM -0500, Rajeev Thakur wrote:
>>> All can be used, but none are needed, right?
>> We might need to talk about synch or flush. Some shared memory systems
>> are loosely coupled and need membars to guarantee correct ordering. 
>> 
>>> Currently, in the unified model you can do:
>>> 
>>> lock
>>> put(A)
>>> unlock
>>> barrier          barrier
>>>                     x = A
>>> 
>>> With shared memory, you could do
>>> 
>>> A=10
>>> barrier         barrier
>>>                    x = A
>>> 
>>> Right?
>> Not really. The barrier and the x=A might be re-ordered. This is also
>> the biggest issue with our definition of the unified model, some shared
>> memory systems might actually not be able to support it :-(. We had a
>> long discussion in Stuttgart about this.
>> 
>>> If the above is true, it might be a bit confusing to users that in the
>>> RMA chapter you use put, get, and synchronization functions for some
>>> things and can directly read/write memory for some other things.
>> Well, the standard is not a user documentation :-). But yes, having this
>> special kind of window requires some effort to understand it.
>> 
>> Best,
>> Torsten
>> 
>> -- 
>> bash$ :(){ :|:&};: --------------------- http://www.unixer.de/ -----
>> Torsten Hoefler         | Performance Modeling and Simulation Lead
>> Blue Waters Directorate | University of Illinois (UIUC)
>> 1205 W Clark Street     | Urbana, IL, 61801
>> NCSA Building           | +01 (217) 244-7736
>> _______________________________________________
>> mpi3-rma mailing list
>> mpi3-rma at lists.mpi-forum.org
>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-rma
> 
> 
> _______________________________________________
> mpi3-rma mailing list
> mpi3-rma at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-rma





More information about the mpiwg-hybridpm mailing list