[Mpi3-rma] current version of proposal
William Gropp
wgropp at illinois.edu
Tue Mar 8 13:48:34 CST 2011
I believe that this has already been fixed in some version of the doc
- I just downloaded the current version, and this has been fixed
already.
Bill
On Mar 8, 2011, at 1:44 PM, James Dinan wrote:
> Hi All,
>
> I think there's a bug in the prototype for MPI_Get_accumulate:
>
> int MPI_Get_accumulate(void *origin_addr, int origin_count,
> MPI_Datatype origin_datatype, void *result_addr,
> int result_count, MPI_Datatype result_datatype,
> int target_rank, MPI_Aint target_disp, int *target_count,
> MPI_Datatype target_datatype, MPI_Op op, MPI_Win win)
>
> I think that the target count should be 'int' rather than 'int*'.
> MPI_Rget_accumulate has this same type problem for the origin, result,
> and target counts:
>
> int MPI_Rget_accumulate(void *origin_addr, int *origin_count,
> MPI_Datatype origin_datatype, void *result_addr,
> int *result_count, MPI_Datatype result_datatype,
> int target_rank, MPI_Aint target_disp, int *target_count,
> MPI_Datatype target_datatype, MPI_Op op, MPI_Win win,
> MPI_Request *req)
>
> Cheers,
> ~Jim.
>
> On 3/5/11 4:45 PM, Torsten Hoefler wrote:
>> On Fri, Mar 04, 2011 at 11:35:41PM -0600, Rajeev Thakur wrote:
>>> Thanks. A few more comments:
>>>
>>>>> 5:28 - What discussion of alloc_mem in Section 8.2 also applies
>>>>> here? Is it the Rationale on the next page after free_mem? That
>>>>> should be mentioned here. It is important to mention here that
>>>>> void* actually means void**.
>>>> Yes, it's now referencing discussions and retionale.
>>>
>>> I don't think the current sentence "The discussion of and
>>> rationales for MPI_ALLOC_MEM and MPI_FREE_MEM in Section 8.2 also
>>> apply to MPI_WIN_ALLOCATE"
>>>
>>> is enough for the user to realize there is important information
>>> back in Sec 8.2 that explains that void *baseptr is actually void
>>> **baseptr. And it's a common mistake users make when passing this
>>> parameter. How about adding this text "in particular... " at the
>>> end:
>>>
>>> "The discussion of and rationales for MPI_ALLOC_MEM and
>>> MPI_FREE_MEM in Section 8.2 also apply to MPI_WIN_ALLOCATE; in
>>> particular, see the rationale in Section 8.2 for an explanation of
>>> the type used for \mpiarg{baseptr}.
>> done
>>
>>>>> 6:11 - Change "This is combined with local routines" to "It must
>>>>> be used in combination with local routines (MPI_Win_attach and
>>>>> MPI_Win_detach)"
>>>> done
>>>
>>> Can you delete the parentheses around those functions (although they
>>> were there in my mail).
>> done - I also added a "the"
>>
>>>>> 7:19 - Awkward sentence. Change to "The memory region specified
>>>>> must not contain any part that is already attached to the window
>>>>> win." Delete the part starting from "that is"
>>>> done
>>>
>>> Change "are erroneous" to "is erroneous" in 7:21.
>> done
>>
>>>>> 19:37 - "datatype of" should be "origin_datatype from"
>>>> done
>>>
>>> Bad line break now at 19:37.
>> Hmm, that's a macro thing :-(. Not sure what to do.
>>
>>>>> 20:46 - awkward sentence. Change "and MPI_NO_OP or MPI_REPLACE"
>>>>> to "as well as MPI_NO_OP and MPI_REPLACE," (add comma at the end)
>>>> done
>>>
>>> There should be a comma after MPI_REDUCE as well (as was there
>>> earlier).
>> done
>>
>>>>> 29:43 - These two calls -> These four calls. Add sentence to
>>>>> cover lock_all and unlock_all
>>>> done
>>>>
>>>>> 31:35 - comma after "needed". Delete then
>>>>> 31:36 - make it compare-and-swap
>>>> done
>>>
>>> The last one is not done. I had suggested changing "compare and
>>> swap and accumulates" to "compare-and-swap and accumulates" (i.e.,
>>> adding the hyphens) just to make the sentence read more clearly.
>> this is gone now
>>
>>>>> 37:11 - Awkward sentence. Change to "During the epoch, the
>>>>> calling process can access the window memory on all processes in
>>>>> win by using RMA operations."
>>>> done
>>>
>>> win should be \mpiarg{win}
>> done
>>
>>>>> 40:1 - Sentence style is different from previous functions.
>>>>> Change to "Locally completes at the origin all..."
>>>> done
>>>
>>> Typo: origina -> origin
>> done
>>
>>> I would prefer "Locally completes" instead of "Locally complete".
>>> It is a short form of "This function locally completes..."
>> done
>>
>>>>> 47:14 - I would say delete this advice to implementors. If we
>>>>> keep it, I would like to fix the first sentence, which is awkward.
>>>> I fixed it.
>>>
>>> "Overlapping accesses (and other operations that MPI-3 specifies)
>>> are undefined."
>>> It is not clear to the reader what "other operations" the text in
>>> parenthesis refers to.
>> right, I removed it.
>>
>>> "However, implementations may wish to provide a mode in which such
>>> operations are erroneous to aid in debugging code."
>>>
>>> "are erroneous to aid in debugging code" at the end of the
>>> sentence doesn't read well. I would change that sentence to
>>>
>>> "However, to assist users in debugging code, implementations may
>>> wish to provide a mode in which such operations are erroneous."
>> done
>>
>>>>> 47:28 - why is "that use the same operation" being removed. It
>>>>> should be there.
>>>> no, this is now in the new info key. I added a sentence
>>>> clarifying this
>>>> (and referencing back).
>>>
>>> OK. With that deletion, the chapter doesn't say anywhere whether
>>> concurrent overlapping accumulates with different operators are
>>> allowed or not. Or are they allowed only if one of the two
>>> operations is a no_op?
>>>
>>> And what is the default if the user doesn't pass any info key
>>> accumulate_ops? What should the implementation assume?
>> Right, I believe Brian is working on a fix (we should put this on the
>> list of open issues).
>>
>> A new version is uploaded.
>>
>> Thanks& All the Best,
>> Torsten
>>
>
> _______________________________________________
> mpi3-rma mailing list
> mpi3-rma at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-rma
William Gropp
Deputy Director for Research
Institute for Advanced Computing Applications and Technologies
Paul and Cynthia Saylor Professor of Computer Science
University of Illinois Urbana-Champaign
More information about the mpiwg-rma
mailing list