[Mpi-21] MPI-2.1 April 1 document comments

Rolf Rabenseifner rabenseifner at [hidden]
Mon Apr 7 14:43:25 CDT 2008



Please do not change any interfaces.
All "const" discussion is moved to MPI-2.2.
This was a decision of the Forum at March meeting.

Best regards
Rolf

On Mon, 7 Apr 2008 11:32:40 -0700 (PDT)
 "Bronis R. de Supinski" <bronis_at_[hidden]> wrote:
> 
> 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
> >
> _______________________________________________
> mpi-21 mailing list
> mpi-21_at_[hidden]
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-21

Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner_at_[hidden]
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: Allmandring 30)



More information about the Mpi-21 mailing list