Re: [Mpi-forum] MPI Ain't and MPI 3.1
On Jul 16 2013, Jim Dinan wrote:
I apologize for the long-delayed follow-up from our last meeting on how to handle the MPI Aint arithmetic ticket (tt #349). At the last meeting, we all agreed that this is an important fix that we would like to get out ASAP, but we weren't sure how to do it. I wanted to resume that discussion on the mailing list to get broader feedback and help move the discussion along in between meetings, if we can.
This isn't about the procedure, but about the proposed solution. I think that it is a serious mistake, and merely compounds the problems caused by MPI_BOTTOM. The simplest resolution would be that the conversion functions would take a window argument, as well, and that the Aint/address/displacement were required to be associated with that window. E.g.: int MPI_Get_disp(const void *location, MPI_Disp *disp, MPI_Win win); int MPI_Aint_to_disp(MPI_Aint aint, MPI_Disp *disp, MPI_Win win); int MPI_Disp_to_aint(MPI_Disp disp, MPI_Aint *aint, MPI_Win win); The point here is that even C still supports segmented and tagged memory architectures. Currently, they are in abeyance, but they still exist and they may return to the mainstream any time. The wording in the C (and even C++) standard is phrased the way it is specifically to allow for such things. Fortran, of course, has always supported them, and more. Regards, Nick Maclaren.
participants (1)
-
N.M. Maclaren