Emend the point-to-point progress rule 'on two processes' #498
Labels
chap-p2p
Point to Point Communication Chapter Committee
errata
Errata items for the previous MPI Standard
had reading
Completed the formal proposal reading
mpi-4.1
For inclusion in the MPI 4.1 standard
passed final vote
Passed the final formal vote
wg-p2p
Point-to-Point Working Group
Projects
Milestone
Problem
Reported by Jasper Larsson Träff.
The current expression of the point-to-point progress rule starts "If a pair of matching send and receives have been initiated on two processes, ..."
The "on two processes" is not required and is confusing. A send-to-self, receive-from-self pattern is specifically excluded by this expression of the progress rule but should not be. I do not believe it was ever the intent to exclude the progress guarantee for this communication pattern. This communication pattern is possible even for blocking operations with multi-threading.
Proposal
Clarify to include the communicate-with-self pattern in the progress guarantee.
Changes to the Text
§3.5 "Progress" 1st line (MPI-4.0-RC-FEB, p54, line 42)
Remove the words "on two processes".
The process(es) involved in the communication is/are already unambiguously specified by the "source" and "dest" parameters in the point-to-point MPI procedures. The word "matching" requires that the receiving process is specified as "dest" at the sender process and that the sender process is specified (or at least covered by, in the case of a wildcard) by the "source" at the sender process. There is no loss of intended specification detail; only the potentially conflicting superfluous phrase is removed.
Impact on Implementations
Additional clarity.
Impact on Users
Additional clarity.
References and Pull Requests
Fixed by PR: https://github.com/mpi-forum/mpi-standard/pull/589 (closed prematurely)
Fixed by PR: https://github.com/mpi-forum/mpi-standard/pull/605 (replacement targeting mpi-4.x branch)
The text was updated successfully, but these errors were encountered: