<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">This looks like type-0 correction.  I’m happy to treat it as such if there are no objections.<div class=""><br class=""></div><div class="">Bill</div><div class=""><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">William Gropp<br class="">Director and Chief Scientist, NCSA<br class="">Thomas M. Siebel Chair in Computer Science<br class="">University of Illinois Urbana-Champaign</div><br class="Apple-interchange-newline"></div></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On Jun 8, 2018, at 10:42 AM, Rolf Rabenseifner <<a href="mailto:rabenseifner@hlrs.de" class="">rabenseifner@hlrs.de</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Dear all,<br class=""><br class="">A) Typo:<br class=""><br class="">My colleague Martin Bernreuther detected the following typo:<br class=""><br class="">MPI-3.1 Section "3.7.3 Communication Completion", "MPI_WAIT"<br class="">page 53, lines 24-25 read<br class=""><br class="">"[...]. Any other type of request<br class="">is and the request handle is set to MPI_REQUEST_NULL. [...]"<br class=""><br class="">but should read<br class="">"[...]. Any other type of request<br class="">is deallocated and the request handle is set to MPI_REQUEST_NULL. [...]"<br class=""><br class="">In other Locations, this sentence is correct, i.e., includes the<br class="">word "deallocated", see MPI-3.1 <br class=""> - page 54, lines 20-21 in MPI_TEST, <br class=""> - page 57, lines 45-46 in MPI_WAITANY,<br class=""> - page 58, lines 35-36 in MPI_TESTANY,<br class=""> - page 59, lines 23-24 in MPI_WAITALL,<br class=""> - page 60, lines 25-26 in MPI_TESTALL,<br class=""> - page 61, lines 19-20 in MPI_WAITSOME,<br class="">whereas MPI_TESTALL does not contain this sentence due<br class="">to a shorter description.<br class=""><br class=""><br class="">B) Mal-correction:<br class=""><br class="">The correction from MPI-2.2 to MPI-3.0 contains wrong wording for <br class="">MPI_Wait/Test... in the case of inactive request handles.<br class=""><br class="">The correction was done to include also nonblocking collectives and IO.<br class="">But the change to MPI-3.0 was not correct for inactive persistent request handles.<br class=""><br class="">MPI-1.1 - MPI-2.2 used the wording:<br class=""><br class="">"A call to MPI WAIT returns when the operation identified by request is complete. <br class="">If the communication object associated with this request was created by a nonblocking send or<br class="">receive call, then the object is deallocated by the call to MPI WAIT and the request handle<br class="">is set to MPI REQUEST NULL. <br class="">MPI WAIT is a non-local operation.<br class="">The call returns, in status, [...].<br class="">One is allowed to call MPI WAIT with a null or inactive request argument. In this case<br class="">the operation returns immediately with empty status."<br class=""><br class="">For inactive persistent request handles, the text says:<br class="">- no change for the request handle,<br class="">- empty status returned.<br class=""><br class=""><br class="">MPI-3.0 and MPI-3.1 uses the following modified wording:<br class=""><br class="">"A call to MPI_WAIT returns when the operation identified by request is complete. <br class="">If the request is an active persistent request, it is marked inactive. Any other type of request<br class="">is [deallocated] and the request handle is set to MPI_REQUEST_NULL. <br class="">MPI_WAIT is a non-local operation.<br class="">The call returns, in status, [...].<br class="">One is allowed to call MPI_WAIT with a null or inactive request argument. In this case<br class="">the operation returns immediately with empty status."<br class=""><br class="">For inactive persistent request handles, the text says:<br class="">- that it shpould be set to MPI_REQUEST_NULL, and<br class="">- empty status returned.<br class=""><br class="">The MPI_REQUEST_NULL was never intented and I expect that no MPI-library <br class="">has implemented that wrong behavior.<br class="">Note that in the case of an array of request handles, in a sequence of MPI_Wait/Test-any/some<br class="">calls, it is allowed to keep the whole array untouched until all regular requests<br class="">are set to MPI_REQUEST_NULL and all active persistent requests are changed to inactive.<br class=""><br class=""><br class="">Proposal for correcting thos bug:<br class=""><br class="">Change all sentences<br class=""><br class="">"Any other type of request<br class=""> is deallocated and the request handle is set to MPI_REQUEST_NULL."<br class=""><br class="">into<br class=""><br class="">"Any other type of non-persistent request<br class=""> is deallocated and the request handle is set to MPI_REQUEST_NULL."<br class=""><br class="">The locations are:<br class=""><br class=""> - page 53, lines 24-25 in MPI_WAIT (together with the typo, see (A) above)<br class=""> - page 54, lines 20-21 in MPI_TEST, <br class=""> - page 57, lines 45-46 in MPI_WAITANY,<br class=""> - page 58, lines 35-36 in MPI_TESTANY,<br class=""> - page 59, lines 23-24 in MPI_WAITALL,<br class=""> - page 60, lines 25-26 in MPI_TESTALL,<br class=""> - page 61, lines 19-20 in MPI_WAITSOME.<br class=""><br class=""><br class="">Best regards<br class="">Rolf <br class=""><br class=""><br class="">-- <br class="">Dr. Rolf Rabenseifner . . . . . . . . . .. email <a href="mailto:rabenseifner@hlrs.de" class="">rabenseifner@hlrs.de</a> .<br class="">High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530 .<br class="">University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832 .<br class="">Head of Dpmt Parallel Computing . . . <a href="http://www.hlrs.de/people/rabenseifner" class="">www.hlrs.de/people/rabenseifner</a> .<br class="">Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307) .<br class="">_______________________________________________<br class="">mpi-comments mailing list<br class=""><a href="mailto:mpi-comments@lists.mpi-forum.org" class="">mpi-comments@lists.mpi-forum.org</a><br class="">https://lists.mpi-forum.org/mailman/listinfo/mpi-comments<br class=""></div></div></blockquote></div><br class=""></div></body></html>