[Mpi3-rma] Info accumulate_ops
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
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
On 10/19/12 1:38 PM, Torsten Hoefler wrote:
> On Tue, Oct 16, 2012 at 01:35:08PM +0000, Hubert Ritzdorf wrote:
>> 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
> 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.
More information about the mpiwg-rma