Here are some notes that are still issues in the svn version of March 27th. �This does not include updates to the bibliography, which I have sent to Rainer separately.
Bill
Contents (and forward) - The capitalization of section headings is inconsistent. �This is apparent when looking at the contents.
p29. �The tables of types in C do not include the types added in MPI 2. �Either they should be added or there should be a forward reference to them.
p59, line 13, example 3.15. �The MPI_Recv is missing a "status" argument.
p104, line 4. �MPI_GET_ELEMENT should be MPI_GET_ELEMENTS
p106, line 13, section 3.12,14, the MPI_COMM_RANK call is missing the ierr argument. �Line continuation is also not correct for Fortran.
p106, line 40, section 3.12.14, the MPI_COMM_RANK call is missing the ierr argurment. Line continuation is also not correct for Fortran.
p107, line 15, section 3.12.14, the MPI_COMM_RANK call is missing the ierr argument. �Line continuation is also not correct for Fortran.
p107, line 27, section 3.12.14, the MPI_COMM_RANK call is missing the ierr argument. �Line continuation is also not correct for Fortran.
p133, line 46 (MPI_GATHERV) the array index should be [j], not [i], to match the following text.
p134, line 44, the myrank argument of MPI_Comm_rank needs to be &myrank.
p149, line 41, �the Recv is missing the recvtype before the "i".
p155, lines 39-end of page - the table of predefined reduction operations for C needs to be reformatted.
p160, line 13, example 4.18, remove the semicolon in the Fortran declaration of err. �
p160, line 15, example 4.18, the MPI_COMM_RANK call is missing the ierr argument.
p160, line 21-21, example 4.18, the REDUCE call is missing the "CALL" and has an (invalid) semicolon at the end.
p178, line 28, "in not" should be "is not"
p179, lines 44-47. �This text, about processes dynamically joining an MPI execution, dates from MPI-1 and is misleading. �This entire paragraph needs to be replaced.
p187, lines 5-8. �This advice to implementors on reference counts for groups should include MPI_COMM_GROUP as a routine that increments the reference count.
p197, line 8, section 5.5.1, the status argument is missing from MPI_Recv
p198, line 23, Section 5.5.3. �The closing brace on the test if (me != 0) should be moved after the MPI_COMM_FREE, other MPI_COMM_FREE will be called with MPI_COMM_NULL, which is erroneous.
p198. �Section 5.5.3, there is an extra space in "( commslave)"
p194, Figure 5.2 has the left edge of each box clipped off
p199 Section 5.5.4, example 4: �t&hecomm -> &thecomm
p199: the close } on the "me != MPI_UNDEFINED needs to be moved to after the MPI_Comm_free, otherwise thecomm is MPI_COMM_NULL.
p200, line 45. �The value of the status point must be initialized. �For example, use MPI_Status status, and pass the address of that status to the two MPI_Wait calls.
p208, top of page. �Figure 5.3 has the left edge of the left square clipped off
p210, top of page. �Figure 5.4 has the left line clipped off.
William�Gropp
Paul and Cynthia Saylor Professor of Computer Science
University of Illinois Urbana-Champaign