[Mpi3-rma] Info accumulate_ops

Jim Dinan dinan at mcs.anl.gov
Tue Oct 23 10:13:37 CDT 2012

+1 to Torsten's comment.

My reading of the current text "default" would indicate that the user 
should be able to query this info key and get same_op_no_op unless they 
have set it to same_op.  If this is not allowed or what we intended, an 
errata to clarify this seems reasonable.  We could indicate a text 
change from:

The default is same_op_no_op.

to something like:

When this info key is not specified, the default behavior assumes 

Hubert, concurrent accumulate operations with different ops, targeting 
the same location is forbidden by the MPI-2 and MPI-3 standards.  We 
added an exception for no_op in MPI-3, which the user can disable as a 
performance hint.


On 10/19/12 1:38 PM, Torsten Hoefler wrote:
> On Tue, Oct 16, 2012 at 01:35:08PM +0000, Hubert Ritzdorf wrote:
>>     Hi,
>>     I think that there is a problem in the definition of info argument
>>     "accumulate_ops" of MPI_Win_create functions (Page 406, Line 4-9
>>     of MPI 3.0 document).
>>     (*) A value is missing if not all concurrent accumulate calls perform the
>>          same operation.
>>          Possible values might be: "not_same_op" or "false"
> This would be illegal (as described in the semantics section). The NO_OP
> was an exception to allow querying a flag with our "fake atomic reads"
> while performing atomic updates CAS etc.. So really only the two
> mentioned combinations are legal.
>>     (*) The actual default value of "same_op_no_op" breaks the backward
>>           compatibility and causes problems in portability of applications,
>>     since a MPI
>>           implementation is not required to evaluate (recognize) info keys.
>>           Therefore, "not_same_op" must be the default value of info argument
>>           "accumulate_ops".
> Default value means that this is the default semantic if the key is not
> set (or not evaluated). So a valid user program in MPI-2.2 was only
> allowed to use the same OP for concurrent accumulates. In MPI-3.0 it may
> use the same op and also NO_OP in addition. Thus, this richer semantic
> cannot break backward compatibility. Setting the info key enables the
> user to enable the more limited MPI-2.2 semantics which may unlock a set
> of richer optimizations possible in the library.
> Best,
>    Torsten

More information about the mpiwg-rma mailing list