Re: [mpiwg-rma] MPI_Win_create on unmapped memory?
I see no harm in adding a clarification - not an errata, and not a change. Is my text sufficiently precise, or is there better text that we could use? Bill William Gropp Director and Chief Scientist, NCSA Thomas M. Siebel Chair in Computer Science University of Illinois Urbana-Champaign
On Jan 2, 2018, at 3:54 PM, Jeff Hammond <[email protected]> wrote:
I agree with all of these comments, but a user is arguing that these requirements are not clear from the text, e.g. because the meaning of existence in "existing memory" is not defined. It seems that what is obvious to us is not obvious to users.
Jeff
On Tue, Jan 2, 2018 at 12:54 PM, William Gropp <[email protected] <mailto:[email protected]>> wrote: Yes. The r and l values must remain valid until the free.
Bill
William Gropp Director and Chief Scientist, NCSA Thomas M. Siebel Chair in Computer Science University of Illinois Urbana-Champaign
On Jan 2, 2018, at 2:52 PM, Nathan Hjelm <[email protected] <mailto:[email protected]>> wrote:
I would expect that the intent is also that the memory should not be freed/unmapped before the matching call to MPI_Win_free() correct?
-Nathan
On Jan 02, 2018, at 01:19 PM, William Gropp <[email protected] <mailto:[email protected]>> wrote:
It was certainly the intent that the memory be allocated. Specifically, if a is the pointer and the region is of length L, then (assuming char *a and ) a[0] … a[L-1] must be valid r and l values at the point of the call.
Bill
William Gropp Director and Chief Scientist, NCSA Thomas M. Siebel Chair in Computer Science University of Illinois Urbana-Champaign
On Jan 2, 2018, at 1:52 PM, Jeff Hammond <[email protected] <mailto:[email protected]>> wrote: If a user passes a (base,size) pair that corresponds to a range of addresses that are not allocated and/or mapped, is that a correct MPI program?
The only text I can find that implies that buffers passed to MPI_Win_create have to be allocated is the following, assuming that one interprets "existing memory" this way.
"Each process specifies a window of existing memory that it exposes to RMA accesses by the processes in the group of comm." (MPI 3.1 11.2.1)
The Fortran-specific text is similarly suggestive, but it only says that a user can pass a simply contiguous array, not that such a thing is required.
"In Fortran, one can pass the first element of a memory region or a whole array, which must be ‘simply contiguous’"
Thanks,
Jeff
-- Jeff Hammond [email protected] <mailto:[email protected]> http://jeffhammond.github.io/ <http://jeffhammond.github.io/>_______________________________________________ mpiwg-rma mailing list [email protected] <mailto:[email protected]> https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma <https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma>
mpiwg-rma mailing list [email protected] <mailto:[email protected]> https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma <https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma>_______________________________________________ mpiwg-rma mailing list [email protected] <mailto:[email protected]> https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma <https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma>
_______________________________________________ mpiwg-rma mailing list [email protected] <mailto:[email protected]> https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma <https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma>
-- Jeff Hammond [email protected] <mailto:[email protected]> http://jeffhammond.github.io/ <http://jeffhammond.github.io/>_______________________________________________ mpiwg-rma mailing list [email protected] https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma
participants (1)
-
William Gropp