ADDITIONAL ITEMS, NOT YET IN SECTION 3.2 of MPI-2 ------------------------------------------------- Example 3.12 in MPI 1 has an error Page 43, lines 47 to Page 44, lines 1 read: CALL MPI_ISEND(outval, 1, MPI_REAL, 1, 0, req, ierr) CALL MPI_REQUEST_FREE(req, ierr) CALL MPI_IRECV(inval, 1, MPI_REAL, 1, 0, req, ierr) CALL MPI_WAIT(req, status, ierr) END DO ELSE ! rank.EQ.1 CALL MPI_IRECV(inval, 1, MPI_REAL, 0, 0, req, ierr) CALL MPI_WAIT(req, status) DO I=1, n-1 CALL MPI_ISEND(outval, 1, MPI_REAL, 0, 0, req, ierr) CALL MPI_REQUEST_FREE(req, ierr) CALL MPI_IRECV(inval, 1, MPI_REAL, 0, 0, req, ierr) CALL MPI_WAIT(req, status, ierr) END DO CALL MPI_ISEND(outval, 1, MPI_REAL, 0, 0, req, ierr) but should read: CALL MPI_ISEND(outval, 1, MPI_REAL, 1, 0, comm, req, ierr) CALL MPI_REQUEST_FREE(req, ierr) CALL MPI_IRECV(inval, 1, MPI_REAL, 1, 0, comm, req, ierr) CALL MPI_WAIT(req, status, ierr) END DO ELSE ! rank.EQ.1 CALL MPI_IRECV(inval, 1, MPI_REAL, 0, 0, comm, req, ierr) CALL MPI_WAIT(req, status) DO i=1, n-1 CALL MPI_ISEND(outval, 1, MPI_REAL, 0, 0, comm, req, ierr) CALL MPI_REQUEST_FREE(req, ierr) CALL MPI_IRECV(inval, 1, MPI_REAL, 0, 0, comm, req, ierr) CALL MPI_WAIT(req, status, ierr) END DO CALL MPI_ISEND(outval, 1, MPI_REAL, 0, 0, comm, req, ierr)