[mpiwg-rma] same_op_no_op

Zhao, Xin xinzhao3 at illinois.edu
Thu Mar 13 13:00:09 CDT 2014

For my understanding, the difference between Pavan and Jeff is that, Pavan thinks the default behavior of an info value is actually a standard behavior ("same_op_no_op"), and user should follow that, whereas Jeff thinks it is indirect to the user since user needs to infer by themselves. It should be clearly defined in MPI-3 standard. Sorry if I understand wrongly. 

If I understand correctly, I agree with Jeff. 

From: mpiwg-rma [mpiwg-rma-bounces at lists.mpi-forum.org] on behalf of Balaji, Pavan [balaji at anl.gov]
Sent: Thursday, March 13, 2014 12:52 PM
To: MPI WG Remote Memory Access working group
Subject: Re: [mpiwg-rma] same_op_no_op

On Mar 13, 2014, at 12:37 PM, Jeff Hammond <jeff.science at gmail.com> wrote:
> How does MPI-3 indicate even indirectly that they are not allowed?  I
> do not believe the standard meets the minimum burden of telling the
> user this and therefore it cannot be inferred.

I’m still referring to the same sentence we have been discussing:

"If set to same_op_no_op, then the
implementation will assume that all concurrent accumulate calls to the
same target address will use the same operation or MPI_NO_OP.”

This means that the user promised that (s)he will only issue the same op or no_op.  If the user breaks this promise, that’s an erroneous program and the MPI implementation is allowed to set the machine room on fire.

This is the same model we have been using for other info arguments, e.g.,

"no_locks — if set to true, then the implementation may assume that passive target syn- chronization (i.e., MPI_WIN_LOCK, MPI_LOCK_ALL) will not be used on the given window."

If the user sets no_locks and uses MPI_WIN_LOCK, it’s an error.

  — Pavan
mpiwg-rma mailing list
mpiwg-rma at lists.mpi-forum.org

More information about the mpiwg-rma mailing list