[Mpi-21] MPI-2.1 April 1 document comments
Bronis R. de Supinski
bronis at [hidden]
Mon Apr 7 13:32:40 CDT 2008
Jeff:
You should send the individual issues to the chapter owners.
I will try to look over the issues for chapters 11 and 14.
I don't have a strong opinon on either of them and will
certainly delete the "const" in chapter 14 if others agree.
Bronis
On Mon, 7 Apr 2008, Jeff Squyres wrote:
> While reading the April 1 MPI-2.1 document for C++ and chapter 13
> issues, I itemized a list of other issues that I found. Some may want
> to be pushed off to 2.2 (I have noted all of these with "--> This will
> require a vote") -- I leave these up to the Forum to decide -- but
> others should be fixed in 2.1.
>
> Enjoy.
>
> -----
>
> April 7 2008
> Comments on MPI-2.1 April 1, 2008 document
>
> (notation: pX.Y = page X, line Y)
>
> Overall
> =======
>
> - Frontage numbering is still roman numerals -- I thought we agreed to
> have the physical and PDF page numbers agree.
>
> - Some function pointer typedefs are "_function", others are "_fn"
> We should be consistent throughout the text.
>
> Intro chapter
> =============
>
> - p5.2: Two open source MPI implementations are cited that are no
> longer relevant. This entire sentence should be removed. Indeed,
> the language in the overall paragraph is forward-looking -- it
> should probably be re-worked to be in the present tense.
>
> - p6.46: Chapter 13 discusses Fortran issues (not Fortran 90 issues),
> and also discusses language interoperability issues.
>
> - p7.11: Looks like a broken LaTeX reference.
>
> Terms and Conventions
> =====================
>
> - p9.40-10.10: The C and Fortran language neutral name do not include
> the prefix "MPI_", but the C++ bindings include the prefix "MPI::".
> Shouldn't the C/Fortran bindings be "MPI_CLASS_ACTION_SUBSET"
> (etc.)?
>
> - p10.35: due to the decision from last meeting (sort out the
> IN/OUT/INOUT mess in MPI-2.2), the language should be softened in
> this paragraph and the full paragraph following this one (because
> they contradict each other). Specifically, I propose changing:
>
> 10.35: Thus, in C++, IN aguments are either references...
> to
> Thus, in C++, IN arguments are usually either references...
>
> - p11.22: "Fortran in this document refers to Fortran 90". For
> MPI-2.1, it is probably suitable to leave this, but we might want to
> make a statement (footnote or parenthetical) that it is expected to
> be updated in future MPI spec revisions.
>
>
> Point-to-Point Communication
> ============================
>
> - p66.33: Why is the request argument to the C bindings MPI_CANCEL
> take a pointer? The language neutral binding is IN, and the C++
> binding is const. This seems to be a contradiction.
> --> This cannot be changed easily because every MPI implementation
> uses (MPI_Request *) as the type.
>
> - p83.29: extra space: "( int count,"
>
> - p92.43: mising "const" before "void* location". Adding "const"
> will not break any user codes or MPI implementations.
> --> This will require a vote.
>
> - p95.47-48: remove "const" before lb an extent arguments.
> Removing "const" will not break any user codes or MPI
> implementations.
> --> This will require a vote.
>
> Collective Communications
> =========================
>
> - p123.32: "relaxed" uses quote marks in the wrong direction
>
> - p123.27: should say "MPI-1" instead of "MPI-1.2"
>
> Groups, Contexts, and Communicators
> ===================================
>
> - p186.5: Descriptions for the C++ bindings need to be included here,
> since they are different than the C bindings. The text from 13.1.7
> would seem to be sufficient.
>
> - p214.32: Missing "const" before "void* attribute_val_in" (datatype
> callback argument is const)
> --> This will require a vote.
>
> - p214.36: Delete function comm argument should be const (?)
> --> This will require a vote.
>
> - p219.5: Missing "const" before "void* attribute_val_in" (datatype
> callback argument is const)
> --> This will require a vote.
>
> - p219.9: Delete function win argument should be const (?)
> --> This will require a vote.
>
> - p221.44: Delete function type argument should be const (?)
> --> This will require a vote.
>
> MPI Environmental Management
> ============================
>
> - p248.3: Earlier in the document, references are made to v1.3. Is
> that not a valid tuple to return from MPI_GET_VERSION?
>
> - p249.45: Remove duplicate C++ binding
>
> - p254.21: Remove erroneous MPI::Intracomm::Create C++ binding
>
> - p255.2: First argument (comm handle reference) to errhandler
> function should be const.
> --> This will require a vote.
>
> - p256.27: First argument (win handle reference) to errhandler
> function should be const.
> --> This will require a vote.
>
> - p257.41: First argument (file handle reference) to errhandler
> function should be const.
> --> This will require a vote.
>
> - p258.39: Delete duplicate C++ binding
>
> - p259.13: Delete duplicate C++ binding
>
> - p260.36-43: First letter of description should be capitolized to be
> consistent with rest of list.
>
> - p261.42: Delete duplicate C++ binding
>
> - p263.21-23: Delete duplicate C++ bindings
>
> - p264.22: Delete duplicate C++ binding
>
> - p267.24: Delete duplicate C++ binding
>
> - p267.42: Delete duplicate C++ binding
>
> Process Creation and Management
> ===============================
>
> - p288.11: Function should be const.
> --> This will require a vote.
>
> - p288.15: Function should be const.
> --> This will require a vote.
>
> External Interfaces
> ===================
>
> - p344.39: Arguments of query_fn, free_fn, and cancel_fn need to have
> *'s. This is a consistency issue (the rest of the standard uses
> "*" for function pointer parameters), not a correctness issue --
> works both ways. Should not break any user code or MPI
> implementations.
>
> I/O
> ===
>
> - p419.43: datatype argument should be const
>
> Language Bindings
> =================
>
> - p437.18: Delete first sentence of paragraph
>
> - p437.22: Delete "original"
>
> - p437.24-29: Delete first and last sentences of paragraph
>
> - p437.29: New last sentence, "See Annex A.4.19 for a function cross
> reference."
>
> - p438.11: Delete "for MPI-1"
>
> - p438.14-37: Join the two namespaces together and delete the
> "Additionally, the following classes defined for MPI-2:" text.
> Re-sort the class names as appropriate.
>
> - p439.2: Delete last sentence ("To maintain ... in [23].")
>
> - p442: Table 13.1 is redundant with Annex A.1. However, the
> following C++ types are missing from Annex A.1:
>
> MPI::SIGNED_CHAR
> MPI::BOOL
> MPI::COMPLEX
> MPI::DOUBLE_COMPLEX
> MPI::LONG_DOUBLE_COMPLES
>
> - p442: Table 13.2 is redundant with Annex A.1
>
> - p445.5-11: These functions are not listed in Annex A
>
> - p445.36-38: Remove this entire paragraph ("Compilers that do not
> support..."). This feature has been a part of C++ since C++98, and
> exists in all modern C++ compilers.
>
> - p446.7-17: Declarations for the MPI::Exceptions class are missing
> from Annex A
>
> - p448.47: Remove trailing "/" from "OUT/"
>
> - p450.26-44: The bullet list is wholly redundant with section 2.6.2.
>
> - p456.27-29: VOLATILE is in Fortran 200x; reword first sentence from:
> "In the longer term, the attribute VOLATILE is under
> consideration for Fortran 2000 and would give the buffer or
> variable the properties needed, but it would inhibit
> optimization of any code containing the buffer or variable."
> to
> "The VOLATILE attribute, available in later versions of Fortran,
> would give the buffer or variable the properties needed, but it
> would inhibit optimization of any code containing the buffer or
> variable."
>
> - p459.11-15: Delete paragraph
>
> - p462.43-45: Delete paragraph
>
> - p463.17-18: Delete first sentence; delete "In MPI-2,"
>
> - p467.23: There is an extra space before "MPI_FINALIZE"
>
> - p468.16-39: None of these functions appear in Annex A (they
> should!)
>
> - p469.41 and 44: These functions do not appear in Annex A (they
> should!)
>
> - p470.46: Change sentence from:
> "It is important to note that all C++ objects and their
> corresponding C handles..."
> to
> "It is important to note that all C++ objects with
> corresponding C handles..."
> I.e., this sentence is referring only to C++ handles that actually
> have corresponding C handles (e.g., not
> MPI::ERRORS_THROW_EXCEPTIONS).
>
> Profiling Interface
> ===================
>
> - p481.4: Delete "const"
> --> This may require a vote.
>
> Annex A
> =======
>
> - p494.15: s/Fortran/Fortran only
>
> - p494.30: Missing MPI::ERRORS_THROW_EXCEPTIONS
>
> - p495.18-19 and 33-34: MPI_BYTE and MPI_PACKED are listed in two
> separate tables.
>
> - p495.30: MPI::COMPLEX should be MPI::F_COMPLEX
>
> - p495.38: Looks like a blank extra 3rd column is in this table
>
> - p495.bottom: Missing table for "C++ only" datatypes:
> MPI::BOOL
> MPI::COMPLEX
> MPI::DOUBLE_COMPLEX
> MPI::LONG_DOUBLE_COMPLEX
> MPI::SIGNED_CHAR
>
> - p496.1: Add ", no Fortran" before the ")"
>
> - p496.10, s/Fortran/Fortran only/
>
> - p496.27-30: Alignment of table entries should be to the left, not
> centered.
>
> - p544.13: Many of the prototypes for Clone() and Dup() are missing
>
> - p547.all: Many doubles of C++ bindings; likely because of errors in
> the chapter text.
>
> - p554.41: Do we need an empty deprecated functions section?
>
> - p555.45-46: Forgot to mention MPI_ERRCODES_IGNORE,
> MPI_F_STATUSES_IGNORE, and MPI_F_STATUS_IGNORE
>
> - p556.bottom: Missing prototypes for the MPI::Exceptions class
>
> --
> Jeff Squyres
> Cisco Systems
>
> _______________________________________________
> mpi-21 mailing list
> mpi-21_at_[hidden]
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-21
>
More information about the Mpi-21
mailing list