[Mpi3-rma] Target displacement in dynamic windows

William Gropp wgropp at illinois.edu
Mon Sep 17 21:18:45 CDT 2012


Thanks - I think the 3.0 errata is a reasonable solution.  I'll note that the 3.1 solutions may not be practical in Fortran (e.g., a larger integer may not be available).

Bill

William Gropp
Director, Parallel Computing Institute
Deputy Director for Research
Institute for Advanced Computing Applications and Technologies
Paul and Cynthia Saylor Professor of Computer Science
University of Illinois Urbana-Champaign



On Sep 17, 2012, at 4:12 PM, Jim Dinan wrote:

> 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