[Mpi3-rma] Draft Plenary Presentation for MPI RMA
dinan at mcs.anl.gov
Fri Feb 4 15:40:09 CST 2011
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.
More information about the mpiwg-rma