[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