[Mpi3-rma] Dynamic windows example

Torsten Hoefler htor at illinois.edu
Mon Dec 6 07:30:23 CST 2010

On Sun, Dec 05, 2010 at 10:57:06PM -0600, James Dinan wrote:
> On 12/05/2010 10:29 PM, Pavan Balaji wrote:
> > 
> > On 12/05/2010 10:19 PM, James Dinan wrote:
> >>> Using MPI_BYTE in the broadcast is also not working in heterogeneous
> >>> environments (where you should also compare the sizes of MPI_Aint).
> >>
> >> Will dynamic windows be usable on such systems if processes don't agree
> >> on the size of MPI_Aint?
> > 
> > Yes. What part of the current draft is not heterogeneous-safe?
> The displacement into a dynamic window where a newly registered buffer
> will be accessed is the address of the buffer cast to an MPI_Aint.  If
> processes don't agree on the size of an address then it seems like it
> will be challenging to handle dynamic window displacements in a
> heterogeneous-safe way.  
Yes, that's what I meant by checking the sizes of MPI_Aint in my
original comments :-).

> Even if the MPI implementation handles this by
> making the size of MPI_Aint large enough to accommodate all processes,
> the address arithmetic I used to get the next field from an item pointer
> will not be valid (consider a 32 bit process casting 64 bit MPI_Aint to
> llist_item_t*):
Well, sending the MPI_Aint to another process would convert it into the
right format to be interpreted correctly (including offset calculations)
on this process. This, of course, assumes a linear address space. I
don't see why a process should ever cast a remote address into a local
address. Remote addresses can only be accessed through MPI functions.

> (MPI_Aint) &(((llist_item_t*)tail_ptr.disp)->next)
> So, it seems like for the above to be heterogeneous-safe I should be
> using MPI types.
Yes, generally.

All the Best,

 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

More information about the mpiwg-rma mailing list