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?BillWilliam 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 <jeff.science@gmail.com> 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.______________________________JeffOn Tue, Jan 2, 2018 at 12:54 PM, William Gropp <wgropp@illinois.edu> wrote:Yes. The r and l values must remain valid until the free.BillWilliam 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 <hjelmn@mac.com> 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?-NathanIt 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.BillWilliam Gropp
Director and Chief Scientist, NCSA
Thomas M. Siebel Chair in Computer Science
University of Illinois Urbana-ChampaignOn Jan 2, 2018, at 1:52 PM, Jeff Hammond <jeff.science@gmail.com> 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
jeff.science@gmail.com
http://jeffhammond.github.io/_________________
mpiwg-rma mailing list
mpiwg-rma@lists.mpi-forum.org
https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma _______________________________________________
mpiwg-rma mailing list
mpiwg-rma@lists.mpi-forum.org
https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma _________________
mpiwg-rma mailing list
mpiwg-rma@lists.mpi-forum.org
https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma
_______________________________________________
mpiwg-rma mailing list
mpiwg-rma@lists.mpi-forum.org
https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma --
_________________
mpiwg-rma mailing list
mpiwg-rma@lists.mpi-forum.org
https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma
_______________________________________________
mpiwg-rma mailing list
mpiwg-rma@lists.mpi-forum.org
https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma