<html><body>
<p>Dick Treumann  -  MPI Team/TCEM            <br>
IBM Systems & Technology Group<br>
Dept 0lva / MS P963 -- 2455 South Road -- Poughkeepsie, NY 12601<br>
Tele (845) 433-7846         Fax (845) 433-8363<br>
<br>
<br>
<tt>mpi-22-bounces@lists.mpi-forum.org wrote on 04/24/2008 11:33:42 AM:<br>
<br>
> Hi,<br>
> <br>
> Note that this is an argument for making the assertions optional: those<br>
> who don't care don't have to use them. Those who care should use them<br>
> correctly or else. As usual.<br>
> <br>
> Best regards.<br>
> <br>
> Alexander <br>
> <br>
</tt><br>
<tt>Hi Alexander </tt><br>
<br>
<tt>The assertions are optional in this proposal.  If this is added to the MPI standard the minimal impacts (day one impacts) are:</tt><br>
<br>
<tt>==</tt><br>
<tt>To application writers (none) - MPI_INIT and MPI_INIT_THREAD still work. MPI_INIT_THREAD_xxx can be</tt><br>
<tt>passed 0 (zero) as the assertions bit vector.</tt><br>
<br>
<tt>To MPI Implementors (small) - subroutine MPI_INIT_THREAD_xxx can be a clone of MPI_INIT_THREAD under the covers. If the Forum decides the query function is for asking what assertions are being honored, the implementation can just return "none" to every query. If there is also a query for what assertions have been made then there are a few more lines of code the implementor must write to preserve the value so it can be returned(maybe 10 lines)</tt><br>
<br>
<tt>Writers of opaque libraries (small) - call the query function at library init time and if any assertions are found, issue an error message and kill the job. This is awkward for a library that wants to support every MPI whether it has implemented the new query function or not.</tt><br>
<tt>==</tt><br>
<br>
<tt>As MPI implementations begin to take advantage of assertions there is more work for the MPI implementor and the library author must begin to think about whether his customer will be upset if the library simply outlaws all assertions. </tt><br>
<br>
<tt>The library author will never be wrong if he simply forbids assertions forever. If they become valuable he will feel the pressure to work it out. </tt><br>
<br>
<tt>The MPI implementor will never be wrong if he adds the API but simply ignores assertions forever. If they become valuable he will feel the pressure to honor some at least.</tt><br>
</body></html>