[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?.