[mpiwg-p2p] Review of Pythonization changes for Chapter 3

HOLMES Daniel d.holmes at epcc.ed.ac.uk
Wed Jan 22 05:07:25 CST 2020

Hi all,

I have done a pass through Chapter 3 looking at the Pythonization changes (a little late).

I have found only one issue with the changes being made/reviewed.

0) In MPI_WAITANY and MPI_TESTANY the index parameter is described as "(integer)" in both versions but should be "(non-negative integer)" in the new version. This makes it consistent with tag, source, etc. It is non-negative or MPI_UNDEFINED but never negative.

I reported this to the BigCount WG already but please indicate (asap) if you disagree with this alteration.

I have marked the Google spreadsheet with an ‘X’ to indicate that our review of this chapter for Pythonization is complete. Let me know ASAP if you have Pythonization-related issues.


I have also found a few things that we should deal with as separate errata.

1) The LIS binding for MPI_TESTANY includes a mention of MPI_UNDEFINED in its description of the index parameter but MPI_WAITANY does not. We could fix that inconsistency either by removing the mention from the MPI_TESTANY binding or by adding it to the MPI_WAITANY binding. The normative text describes the use of MPI_UNDEFINED in both cases, so we would only be changing one of the LIS bindings.

2) The MPI_WAITALL and MPI_TESTALL bindings for F08 give the exact size for the array_of_requests but not for the array_of_statuses, even though they must be identically sized. We could fix this by changing "(*)" to "(count)” in the rendered document (by including the size of the array in the Python).

3) The F08 bindings for all variants of the MPI_TEST, MPI_WAIT, and MPI_PROBE functions and the MPI_REQUEST_GET_STATUS function do not specify an INTENT for the status(es) parameter. We could fix this by including “INTENT(OUT)” in all cases (by choosing the correct Python setting).

4) The LIS binding for MPI_CANCEL lists the request parameter as IN but the function “marks the request for cancellation”, i.e. could modify it. This intent is implied by the C binding (the absence of const). Compare with MPI_START as well. We could fix this by changing “IN” to “INOUT” in the LIS binding and changing the F08 binding from “INTENT(IN)” to “INTENT(INOUT)”.

I’d like to discuss these errata over email this week - if we can decide to proceed on any of them soon enough, we can create errata tickets in time for the next face-to-face, i.e. in time to be included in the MPI-4.0 document.

Dr Daniel Holmes PhD
Architect (HPC Research)
d.holmes at epcc.ed.ac.uk<mailto:d.holmes at epcc.ed.ac.uk>
Phone: +44 (0) 131 651 3465
Mobile: +44 (0) 7940 524 088
Address: Room 2.09, Bayes Centre, 47 Potterrow, Central Area, Edinburgh, EH8 9BT
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-p2p/attachments/20200122/039e979a/attachment.html>

More information about the mpiwg-p2p mailing list