Re: [Mpi3-rma] Draft Plenary Presentation for MPI RMA
On 02/04/2011 03:11 PM, Torsten Hoefler wrote:
On Fri, Feb 04, 2011 at 02:45:42PM -0600, James Dinan wrote:
Hi Torsten,
On 02/04/2011 12:35 PM, Torsten Hoefler wrote:
Slide 22: UPC doesn't allow sharing data on the stack, only heap data can be shared. In general, this is kind of an iffy thing, might encounter some resistance to suggest doing this. Linux is going to initially map the stack to the zero page which is marked copy-on-write, so beyond the parts you have used, the stack doesn't exist.
That's what registration is for. It has to be created then. Or am I missing something?
UPC doesn't allow shared variables on the stack and I can't think of any other PGAS model that does. So, the argument of registering and exposing the stack doesn't seem like it holds water to me. Well, the current proposal allows this. One can register anything that can be dereferenced, including stack variables. If you think that should not be allowed than we need to fix the proposal. The slides simply explain the proposal.
I don't think this should be forbidden. I just think it's a bad idea to do it and we should not present it as a motivation for the work. It's also not needed by UPC.
I believe Dan, et al.'s issue with MPI_Alloc_mem as a requirement is that *static* shared UPC objects could not be put into windows. Static distributed shared arrays are one of the most common use cases in UPC. Adding win_register now allows you to register statically declared arrays and expose them in a window. This is allowed too.
I would prefer to see static arrays used as the motivating example on slide 22 instead of the stack. It's needed by UPC and helpful in general to C/Fortran programmers. ~Jim.
participants (1)
-
James Dinan