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. 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. ~Jim.