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