[Mpi-comments] Comments on MPI 3.0 draft 2 [part 3]

Jeremiah Willcock jewillco at osl.iu.edu
Mon Aug 20 16:22:29 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.

Chapter 9:

Page 367 line 21: There is an extra space before "value" that is not in 
other occurrences of that pair name.

Page 367 line 29: Why is there a standard-defined upper limit on key 
length, rather than just saying it's up to implementations?

Page 367 line 30: There is no lower bound given on MPI_MAX_INFO_VAL, 
allowing an implementation to have an absurdly low limit such as one 
character.

Page 368 line 2: Are all strings consisting only of an (optional) sign and 
decimal digits considered to be decimal (and not octal if they begin with 
a leading zero)?  This issue has come up in practice.

Page 368 line 3: There is an extra space before "integer".

Page 368 line 6: What is a "valid element"?  Is that just a value of the 
correct type for that particular info key?  Is it possible to have lists 
of lists?  Is there a way to escape a comma in a list element?

Page 369 line 16: What if the key is too long?

Page 370 line 29: Why does this particular case of the key being too long 
not return a defined error class, while the other functions do?

Chapter 10:

The chapter uses "intercommunicator" as one word, which is inconsistent 
with the chapter on communicators.

Page 373 line 19: "allow" should be "allows".

Page 373 line 24: "later" should be "latter".

Page 373 line 32: There is extra space before and after "MPI".

Page 374 line 31: There is extra space before "group".

Page 376 line 1: There is extra space after "MPI_UNIVERSE_SIZE".

Page 376 lines 11-12: "(group,rank)" was written without spaces before 
this, but with spaces here.

Page 376 line 21: "starting first" should be "first starting".

Page 377 line 1 and page 382: Is there a reason that argv is not "const 
char* const argv[]" or similar?  Compatibility?

Page 378 lines 13-18: This is written very informally.

Page 378 lines 22-23: Is there a way to pass an empty argument in Fortran 
without terminating the argument list?

Page 379 line 36: "soft" should be in italics (the one on line 37 should 
not be).

Page 380 line 3: The 9 here refers to a chapter, not a section.

Page 380 line 16: Must the root argument be consistent across the entire 
communicator?

Page 380 line 24: Must the same error code be used for all the failed 
processes?  If not, the "error code" part needs to be plural.

Page 380 lines 30-32: This refers to the C++ binding which have been 
removed.

Page 381 lines 13-14: Is calling MPI_COMM_FREE on the parent 
intercommunicator an error?  If not, why not?

Page 382 lines 35-36: These argument declarations should be separate so 
the list of variables is not split onto two lines.

Page 383 line 25: Why can't MPI_ARGV_NULL be used for individual commands?

Page 384 lines 7-8: The command name and arguments should be in the code 
font.

Page 384 line 17: This text is very informal.

Page 384 lines 37-: Lines 2+ of each of these paragraphs does not line up 
with the text on the first line.

Page 384 line 45: "path" should be in sans-serif.

Page 385 line 15: Is c allowed to be zero?  Is b allowed to be equal to a?

Page 385 lines 20 and 23: Add "a" (on 20) and "an" (on 23) after "allows".

Page 385 line 27: There is extra space before "Using".

For spawned processes, what happens if one or more of the child processes 
calls MPI_Finalize?  MPI_Abort?  What about one or more of the parents? 
Which processes can continue in those cases, and what happens to the 
various communicators?  Page 400 mentions it for connected processes, but 
are the rules for children different?

Page 387 line 27: "client server" should be "client/server".

Page 387 line 44: There should be a comma after "simple".

Page 387 line 45 and page 389 lines 19 and 29: "internet" may or may not 
need to be capitalized depending on which meaning is intended.

Page 387 line 47: The comma should be a semicolon.

Page 389 line 19 and others: Some or all of "(host:port)" might need to be 
in sans-serif or code font.

Page 390 line 33 and page 391 line 26: Must root be the same on all 
processes in the communicator?

Page 391 line 37: "high quality" should be "high-quality".

Page 391 line 40: There should be a comma after "MPI_COMM_ACCEPT".

Page 392 line 2: Some parts of this line should be in sans-serif or code 
font.

Page 392 line 42: Should the behavior be implementation-dependent (with a 
defined error class if the implementation chooses to return an error) 
rather than completely undefined?

Page 394 line 33: IP does not have port numbers; they are added by 
higher-level protocols such as TCP and UDP.

Page 395 line 9: "stdin" should be in the code font.

Page 395 lines 22-34: Do some of these calls need to execute on only a 
single rank if the program is parallel?

Page 396 line 17: Doesn't the client need to be disconnected explicitly in 
this case as well?  Page 399 lines 35-36 seem to say that.

Page 399 lines 11-12: Having only a single "appnum" info argument for 
MPI_COMM_SPAWN_MULTIPLE breaks the usual mechanism in which each command 
spawned gets a different MPI_APPNUM.  Is there a way to specify a list of 
appnums instead of a single one for MPI_COMM_SPAWN_MULTIPLE?

Page 399 line 46: There should be a comma before "may".

Page 400: What does MPI_COMM_DISCONNECT do to/on spawned processes?

Page 400 line 36: There should be a comma after "MPI_WIN_FREE".

Page 400 line 38: "Notes" should be "Note".

Page 402 line 12: Does "concurrently" mean "concurrently on the same 
socket"?

-- Jeremiah Willcock



More information about the mpi-comments mailing list