[Mpi3-rma] Draft Plenary Presentation for MPI RMA

James Dinan 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 mailing list