[Mpi3-rma] Target displacement in dynamic windows
    Jim Dinan 
    dinan at mcs.anl.gov
       
    Mon Sep 17 16:12:19 CDT 2012
    
    
  
Hi All,
In today's meeting, we arrived at the following approach to addressing 
the target displacements issue for dynamic windows:
The MPI 3.0 errata should include the following two statements:
1. For dynamic windows, the target_disp argument to RMA communication 
operations is not restricted to non-negative values.
2. Users are cautioned that displacement arithmetic can overflow in 
variables with MPI_Aint type and result in unexpected values on some 
platforms.  This issue will be addressed in a future version of MPI.
In MPI 3.1, we will look at two possible mechanisms for providing safe 
offset arithmetic:
1. MPI_Get_pointer(MPI_Aint address, void *ptr), which will allow a user 
to convert between addresses and pointers.
2. MPI_Auint -- an address integer which can represent the full range of 
MPI_Aint as a positive integer.  This could be an unsigned integer, but 
for Fortran compatibiliy, it may need to be a singed integer that's 
larger than MPI_Aint.  The following conversion functions would be provided:
MPI_Get_auint(MPI_Aint addr, MPI_Auint *uaddr)
MPI_Get_aint(MPI_Auint uaddr, MPI_Aint *addr)
Please send comments.  Thanks,
  ~Jim.
    
    
More information about the mpiwg-rma
mailing list