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.comhttp://jeffhammond.github.io/