Hi Hubert, Thanks for weighing in on the Fortran side of this issue. IIUC, are you saying that the dynamic window displacement should be relative to the location of MPI_BOTTOM? The intent of the working group was that the displacement should be relative to the /value/ of MPI_BOTTOM, which is assumed to be NULL. Unfortunately, removing "non-negative" from the target_disp argument in MPI_{GET, RGET, PUT, RPUT, ACCUMULATE, ...} is a bigger change than we can make at this stage. ~Jim. On 9/5/12 10:50 AM, Hubert Ritzdorf wrote:
Hi,
dependent on the actual discussion, I propose a change in the current version of MPI 3.0 draft. I send it to the rma list instead of mpi-comments list in order to get one of the discussed changes or this change into the MPI document:
The argument target_disp in the RMA function MPI_{GET, RGET, PUT, RPUT, ACCUMULATE, ...} is qualified as non-negative integer. I think, that this cannot be guaranteed for the Fortran version of new function MPI_WIN_CREATE_DYNAMIC. The displacement is actually relative to MPI_BOTTOM which is a variable in a common block or module.
The location of MPI_BOTTOM may be dependent on compiler (and possibly compiler options) and the sequence of common blocks/modules in memory. (Example: The memory of a window might be located in a common block, which is located in front of the common block which contains MPI_BOTTOM). Therefore, non-negative displacements cannot be guaranteed for windows created by MPI_WIN_CREATE_DYNAMIC in Fortran .
The simple change would be to remove "non-negative". But I assume that a rationale would be required.
Hubert
_______________________________________________ mpi3-rma mailing list [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-rma