[Mpi-comments] (A) Typo and (B) mal-correction in all MPI_Wait.../Test... descriptions

William Gropp wgropp at illinois.edu
Mon Jun 11 03:42:08 CDT 2018


This looks like type-0 correction.  I’m happy to treat it as such if there are no objections.

Bill

William Gropp
Director and Chief Scientist, NCSA
Thomas M. Siebel Chair in Computer Science
University of Illinois Urbana-Champaign






> On Jun 8, 2018, at 10:42 AM, Rolf Rabenseifner <rabenseifner at hlrs.de> wrote:
> 
> Dear all,
> 
> A) Typo:
> 
> My colleague Martin Bernreuther detected the following typo:
> 
> MPI-3.1 Section "3.7.3 Communication Completion", "MPI_WAIT"
> page 53, lines 24-25 read
> 
> "[...]. Any other type of request
> is and the request handle is set to MPI_REQUEST_NULL. [...]"
> 
> but should read
> "[...]. Any other type of request
> is deallocated and the request handle is set to MPI_REQUEST_NULL. [...]"
> 
> In other Locations, this sentence is correct, i.e., includes the
> word "deallocated", see MPI-3.1 
> - page 54, lines 20-21 in MPI_TEST, 
> - page 57, lines 45-46 in MPI_WAITANY,
> - page 58, lines 35-36 in MPI_TESTANY,
> - page 59, lines 23-24 in MPI_WAITALL,
> - page 60, lines 25-26 in MPI_TESTALL,
> - page 61, lines 19-20 in MPI_WAITSOME,
> whereas MPI_TESTALL does not contain this sentence due
> to a shorter description.
> 
> 
> B) Mal-correction:
> 
> The correction from MPI-2.2 to MPI-3.0 contains wrong wording for 
> MPI_Wait/Test... in the case of inactive request handles.
> 
> The correction was done to include also nonblocking collectives and IO.
> But the change to MPI-3.0 was not correct for inactive persistent request handles.
> 
> MPI-1.1 - MPI-2.2 used the wording:
> 
> "A call to MPI WAIT returns when the operation identified by request is complete. 
> If the communication object associated with this request was created by a nonblocking send or
> receive call, then the object is deallocated by the call to MPI WAIT and the request handle
> is set to MPI REQUEST NULL. 
> MPI WAIT is a non-local operation.
> The call returns, in status, [...].
> One is allowed to call MPI WAIT with a null or inactive request argument. In this case
> the operation returns immediately with empty status."
> 
> For inactive persistent request handles, the text says:
> - no change for the request handle,
> - empty status returned.
> 
> 
> MPI-3.0 and MPI-3.1 uses the following modified wording:
> 
> "A call to MPI_WAIT returns when the operation identified by request is complete. 
> If the request is an active persistent request, it is marked inactive. Any other type of request
> is [deallocated] and the request handle is set to MPI_REQUEST_NULL. 
> MPI_WAIT is a non-local operation.
> The call returns, in status, [...].
> One is allowed to call MPI_WAIT with a null or inactive request argument. In this case
> the operation returns immediately with empty status."
> 
> For inactive persistent request handles, the text says:
> - that it shpould be set to MPI_REQUEST_NULL, and
> - empty status returned.
> 
> The MPI_REQUEST_NULL was never intented and I expect that no MPI-library 
> has implemented that wrong behavior.
> Note that in the case of an array of request handles, in a sequence of MPI_Wait/Test-any/some
> calls, it is allowed to keep the whole array untouched until all regular requests
> are set to MPI_REQUEST_NULL and all active persistent requests are changed to inactive.
> 
> 
> Proposal for correcting thos bug:
> 
> Change all sentences
> 
> "Any other type of request
> is deallocated and the request handle is set to MPI_REQUEST_NULL."
> 
> into
> 
> "Any other type of non-persistent request
> is deallocated and the request handle is set to MPI_REQUEST_NULL."
> 
> The locations are:
> 
> - page 53, lines 24-25 in MPI_WAIT (together with the typo, see (A) above)
> - page 54, lines 20-21 in MPI_TEST, 
> - page 57, lines 45-46 in MPI_WAITANY,
> - page 58, lines 35-36 in MPI_TESTANY,
> - page 59, lines 23-24 in MPI_WAITALL,
> - page 60, lines 25-26 in MPI_TESTALL,
> - page 61, lines 19-20 in MPI_WAITSOME.
> 
> 
> Best regards
> Rolf 
> 
> 
> -- 
> Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner at hlrs.de .
> High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530 .
> University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832 .
> Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner .
> Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307) .
> _______________________________________________
> mpi-comments mailing list
> mpi-comments at lists.mpi-forum.org
> https://lists.mpi-forum.org/mailman/listinfo/mpi-comments

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpi-comments/attachments/20180611/120b8805/attachment.html>


More information about the mpi-comments mailing list