[Mpi-comments] Comments on MPI 3.0 draft 2 [part 5]
Jeremiah Willcock
jewillco at osl.iu.edu
Sun Aug 26 17:54:51 CDT 2012
These are in reference to the draft at
<URL:http://meetings.mpi-forum.org/mpi3.0_draft_2.pdf>. Thank you for
considering them.
-- Jeremiah Willcock
Chapter 13:
Page 492 line 47: "8th" should be "eighth".
Page 492 line 48: Although "formal parameter" is the correct term
normally, MPI typically uses "argument" to mean that.
Page 494 lines 11-21: Some of the example text in here might be worth
putting in code font.
Page 494 line 31: Is MPI_MODE_RDWR intended to be equal to MPI_MODE_RDONLY
| MPI_MODE_WRONLY? If so, that will require changes in some of the nearby
text.
Page 495 lines 11-12: Are there any guarantees about the behavior of
MPI_MODE_DELETE_ON_CLOSE if the program exits (normally or abnormally)
without explicitly closing the file?
Page 499 lines 44-45: Wouldn't using log on the bit to test and then mod
and integer division on the amode be simpler than the loop?
Floating-point errors might cause trouble there, however, or if one of the
masks was not a single bit.
Page 500 line 36: "Section" should be "Chapter".
Page 501 line 20: There is an unnecessary line break at the end of the
line.
Page 501 line 47: "pair" should be "pairs".
Page 502 line 3: The "and" might need to be changed to "or".
Page 502 line 12: "Section" should be "Chapter".
Page 502 line 34: Is there a reason that "CYCLIC" is all-uppercase?
Page 503 lines 22-23: Is this hint intended to say how many devices to
use, not how many are in the system?
Page 505 lines 15, 25-28, and 32: "etype" and "filetype" should be in text
font when they are not referring to specific argument names.
Page 505 line 30: There should be a comma after "etype".
Page 506 lines 30-33: Is there an easy way to tell that a datatype is
derived? Is the datatype returned, if derived, guaranteed to be new (and
not, for example, one passed into MPI_FILE_SET_VIEW by the user)?
Page 506 lines 40-42: There is extra space after "vs." here (probably
needs to be 'vs.\ ' in LaTeX). I don't remember whether vs is italicized
elsewhere in the standard.
Page 506 line 44: The POSIX function names might need to be in code font.
Page 507 line 25: The em-dash should have spaces around it to match the
rest of the standard. This issue may occur elsewhere in the chapter as
well.
Page 508 line 3: "in to" should be "into".
Page 508 lines 9-11: Does that mean a buffer being written to a file can't
be concurrently sent? It seems like that restriction may be too strong,
especially when you can use a datatype to write the same data to a file
more than once in a single operation.
Page 509 lines 8-12: The section titles should be in the normal text font,
the commas and final period should be inside the quotes, and there needs
to be a comma after "Temporary Data Movements".
Page 509 line 18: The fields in MPI_Status are referred to in sans-serif
on page 30 where they are introduced.
Page 520 lines 30-31: Do all processes need to use equivalent views of the
file to use the shared file pointer? If not, what is the file pointer
relative to (i.e., if I read using it in a process with one view, then
read using it in a process with a different view, what happens)?
Pages 524-525: Are MPI_FILE_SEEK_SHARED and/or
MPI_FILE_GET_POSITION_SHARED collective?
Page 534 line 24: "of the MPI-1 document" should be removed, and "page"
should be "pages".
Page 536 line 26: There should be a comma after "8".
Page 536 line 30: This list should also include the C++ bool type now that
there is an MPI datatype for it.
Page 536 line 31: There should be a comma after "double _Complex". This
list should include the C++ complex types. In what order do the real and
imaginary components appear in the file?
Page 536 lines 34-35: Unicode has several encoding formats; which one are
you intending (UTF-7, UTF-8, UTF-16, UCS-16, UCS-32, or something else)?
Page 537 line 5: "size" should be "sizes".
Page 537 line 10: "less" should be "least".
Page 537 lines 9-12: Some of this information (what happens on overflows
from down-converting number formats, for example) is normative and should
be in the main text. Also, taking the least-significant bytes of a larger
number does not always preserve the sign bit in case of overflows
(converting the MPI_INT 32768 to an MPI_INTEGER2 leads to -32768, for
example). Is making sure to preserve the sign bit always the intended
behavior?
Page 538 line 9: Defining wchar as two bytes prevents it from representing
all valid Unicode code points (some of them are above 2^16). If such code
points are forbidden (even on platforms where wchar_t is 32 bits), be sure
to say that explicitly.
Page 538 line 40: Why is MPI_LOGICAL defined as 4 bytes instead of 1?
Does the MPI standard say anywhere that a byte is assumed to be 8 bits?
Page 540 line 17: There is extra whitespace at the end of the line.
Page 541 lines 29 and 44: What does "equivalent" mean? That they have the
same typemap and displacements, or that they are exactly the handles that
the user passed in (allowing caching)?
Page 541 lines 47-48: Does that mean that point-to-point operations are
OK? Non-collective file I/O?
Page 542 line 14: The first quotation mark is backwards.
Page 542 lines 17-25: The first item in this list appears to be a superset
of the third one, and it seems like all of them might be required to be
satisfied when applicable (not just "at least one").
Page 542 lines 47-: "FH", "fh", and "FOO" in math mode might need to be in
\mathit (I can't tell for sure).
Page 543 lines 4-5: How do you get multiple file handles out of the same
collective open of a file? Accesses from different processes only? Or
can file descriptors be sent between processes?
Page 545 line 32: There need to be spaces around the em dash.
Page 546 line 27: "dup" should be "duplicate", there should be spaces
around the em dash.
Page 547 line 10: Is MPI_Offset required to be signed?
Page 547 line 16: "KIND" might need to be in another font and/or
lowercase.
Page 547 line 26: "info" (and maybe "hints") should be in text font.
Page 550 line 31: "myfile" might need to be in code font.
Page 552 line 11: The em dash needs spaces around it.
Page 552 line 27: The comma should be a period.
Page 552 line 34: The line has extra space at the end.
Page 555 line 40: The ranges here appear to have hyphens in them, rather
than the correct en dashes.
Chapter 14:
Page 559 line 28: The default definition of MPI_PCONTROL needs to return
successfully; that is not stated explicitly.
Page 560: Line 20 should be moved above line 17 in the example so that the
MPI_Type_size call is not timed.
Page 560 line 33: "system" should be capitalized as a proper noun.
Page 560 line 47: ", however" should be "; however,".
Page 561 line 47: "they're" should be "they are", and there is extra space
just before the question mark.
Page 562 line 2: "single threaded" should be hyphenated.
Page 562 line 18: There should be a comma after "Therefore".
Page 562 line 25: "ared out" is not a standard term as far as I know;
maybe say something like "copied out of the base library and into the
profiling one using a tool such as ar.".
Why is the information on enumerations first in the documentation, before
any discussion of variables or how to use them?
Page 564 line 11: There should be a comma after "tuners".
Page 564 line 12: There should be a comma after "detailed".
Page 564 line 27, page 565 line 14, page 567 line 22, page 571 line 26,
page 591 line 45: Table captions in the standard typically do not end with
periods.
Page 567 line 30: Remove the comma before "which".
Page 568 line 18: Add a comma and space between "type" and "as".
Page 568 line 20: "enumerations" should be singular.
Page 568 lines 44-45: "of at least length one" should be "of length at
least one".
Page 569 line 10: The first comma should be before the closing quote.
Page 569 line 21: "its value" should be "their values".
Page 570 line 30: Can the number and/or names of enumerators change during
the course of a run?
Page 570 line 42: "mpiargenumtype" is a typo.
Page 571 line 33: Example titles have normally been subsections (with
numbers) before the bold "Example n.n" text.
Page 573 line 7: There is extra space at the end of this line.
Page 573 line 18: "variables" should be singular.
Page 574 line 21: There should be a comma after the right parenthesis.
Page 575 lines 17-18: "implementation specific" should be hyphenated when
used as an adjective (this applies to other parts of the standard as
well).
Page 575 line 34: "reseting" should be "resetting".
Page 576-577: The datatype names in here should be in sans-serif.
Page 577 line 21: "MPI_T_PVAR_CLASS_AGGREGATE" should be in sans-serif.
Page 577 lines 33-34: "variable specific" and "implementation defined"
both need to be hyphenated.
Page 577 line 40: ", otherwise" should be "; otherwise,".
Page 577 line 46: "its value" should be "their values".
Page 579 line 31: Remove the comma after "one".
Why are control variables and performance variables separate, given that
they have so much in common and relatively few differences (in operations,
attributes, etc.)? It does look like performance variables need to be
relative to a session, but there can be a flag for "session-specific" or
similar to handle that.
Does MPI_INIT need to be called before running performance experiments?
Page 580 line 44: "such object handles" should be "such an object handle".
Page 581 line 1: There is extra space at the end of the line.
Page 583 line 45, page 584 line 4: "sampling based" should be hyphenated.
Page 584 line 6: "guaranteeing" should be "requiring".
Page 584 line 11: There should be a comma after "write".
Page 584 line 21: The opening quotation mark is backwards.
Page 584 line 26: "clean up" should be "cleanup" or hyphenated.
Page 584 line 46, page 586 line 20: These lines are indented more than
those around them.
Page 589 line 43: "have been" should be "may have been".
Page 590 line 2: There should be a comma after "MPI_T_CATEGORY_GET_PVARS".
Page 590 line 3: There should be a comma after "MPI_T_PVAR_GET_INFO".
Page 590 line 20: "user provided" should be hyphenated.
Page 591 lines 11-12: "or has been deleted" seems to conflict with
enumeration indices not being allowed to be deleted (as far as I can
tell). By the way, can they be added during the run?
Page 591 line 26: The function names should be in sans-serif font.
Page 591 line 31: "READREST" should be "READRESET".
More information about the mpi-comments
mailing list