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. Xin ________________________________________ From: mpiwg-rma [[email protected]] on behalf of Balaji, Pavan [[email protected]] 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 <[email protected]> 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 [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-rma