[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: first batch of corrections
suggested changes
1. ______________________________________________________________________
Page 24, lines 20-21 read
MPI_FINALIZE is collective on MPI_COMM_WORLD.
but should read
MPI_FINALIZE is collective over all connected processes. If no
processes were spawned, accepted or connected then this means over
MPI_COMM_WORLD; otherwise it is collective over the union of all
processes that are connected, as explained in Section 5.5.4.
2. ______________________________________________________________________
Page 27, line 26 reads
must be added to line 3 of page 54.
but should read
must be added to line 3 of page 52.
3. ______________________________________________________________________
Page 69, lines 14-15 read
MPI::Datatype MPI::Datatype::Resized(const MPI::Aint lb, const
MPI::Aint extent) const
but should read
MPI::Datatype MPI::Datatype::Create_resized(const MPI::Aint lb,
const
MPI::Aint extent) const
4. ______________________________________________________________________
Page 94, line 29 reads
are the original sets of of processes.
but should read
are the original sets of processes.
5. ______________________________________________________________________
Page 162, lines 43--44 curently read
The ``in place'' option for intracommunicators is specified by
passing
the value MPI_IN_PLACE to the argument sendbuf at the root.
but should read
The ``in place'' option for intracommunicators is specified by
passing
the value MPI_IN_PLACE to the argument sendbuf at all processes.
6. ______________________________________________________________________
Page 165, lines 4--22 read
[ IN sendbuf] address of send buffer (choice)
[ IN sendcounts] integer array or length group size. Entry j
specifies the
number of elements to send to process j (array of integers)
[ IN sdispls] integer array of length group size. Entry j specifies
the displacement in bytes (relative to sendbuf) from which to take
the
outgoing data destined for process j (array of integers)
[ IN sendtypes] array of datatypes of length group size. Entry j
specifies the type of data to send to process j (array of handles)
[ OUT recvbuf] address of receive buffer (choice)
[ IN recvcounts] integer array of length group size. Entry i
specifies the
number of elements that can be received from process i (array of
integers)
[ IN rdispls] integer array of length group size. Entry i specifies
the displacement in bytes (relative to recvbuf) at which to place
the
incoming data from process i (array of integers)
[ IN recvtypes] array of datatypes of length group size. Entry i
specifies the type of data received from process i (array of
handles)
NOTE: we sometimes say: "address of send (receive) buffer" and sometimes
say "starting address of send (receive)
buffer. Would be nice to use consistent terminology everywhere.
18. ______________________________________________________________________
|o C++ and Fortran Complex
|
| Mail discussing
|
| This needs more discussion. The problem is that some of the C++
| datatypes have no easily defined counterparts in C or Fortran. The
| minimum fix is really a clarification that says that there is no
| interlanguage support for the C++ complex types.
|
| Proposed text:
|
| Page 276, after line 4, add
|
| Advice to users.
| Most but not all datatypes in each language have corresponding
| datatypes in other languages. For example, there is no C or
| Fortran counterpart to the MPI::BOOL or the the
MPI::COMPLEX,
| MPI::DOUBLE_COMPLEX, or MPI:LONG_DOUBLE_COMPLEX.
| End of advice to users.
|
| Extending the C++ datatypes to C and Fortran needs to include
MPI::BOOL
| as well as the complex types, and should define what the equivalent
| types are in C and Fortran. The real issue here is the
MPI:F_COMPLEX
| and completing the list of such routines.
NOTE: as I pointed out THERE ARE C counterparts to all these types. Text
should change accordingly.
We probably need to add MPI_BOOL, MPI_COMPLEX, MPI_DOUBLE_COMPLEX and
MPI_LONG_DOUBLE_COMPLEX, which will correspond to
the C types _Bool, float _Complex, double _Complex and long double
_Complex, respectively.
I assume, but have not checked, that these new C types correspond to the
C++ types bool, Complex<float>, Complex<double> and Complex<long double>--
does anybody know for sure?.