[Mpi-forum] Merged Nonblocking Collectives into MPI-3 - Please Review!

Torsten Hoefler htor at cs.indiana.edu
Mon Feb 15 14:15:39 CST 2010

Hello Forum,

I finished my merger of NBC into MPI-3 as we discussed at the last
meeting. I did the merge in the following order:

1) I merged all MPI-2.2 changes into NBC rev. 6 (the version that we
voted into MPI-3, attached to #109). This was a relatively
straightforward manual process.

2) I merged the combined document into the MPI-3 tree. This was much
more complex than anticipated because the MPI-3 tree is "cleaned up"
(i.e., many change-macros are gone) and after discussion with Jeff,
we realized that the script could not be applied to separate
chapters. This, I performed a manual cleanup and removed the change
macros in this process. This was not as simple as 1) and seems more
error-prone.

3) I re-read and compared the colored MPI-2.2 document and the MPI-3
document and committed it as rev. 524.

The ability to highlight the changes between the revisions (particularly
the MPI-2.2 changes) were important for the merger. Bill did a great job
making those extremely helpful for my review. I would suggest that we
use the same or a similar mechanism for MPI-3. Right now, I left all my
(b/w) change-macros (\htorchange, defined at the bottom of mpi-macs.tex)
in the source so that we can see what changed after MPI-2.2. I would
volunteer to transition them to a new mechanism based on whatever we
decide.

Please review the document carefully, the changes that I made were not
minor and much more intrusive then all MPI-2.2 changes to the
collectives chapter. It would be good to have some designated careful
reviewers, any volunteers?

I think we strived to have reviews at the March meeting and I was
supposed to deliver a draft two weeks in advance. Now we have three
weeks left. That is not very long imho, so we might consider to move the

Here are some things that I added which we did not explicitly vote on
(however, they are minor and straight-forward from our past votes):

1) fixed some typos (missing ")" and removed some spaces where
appropriate (see svn diff)

2) added MPI_Reduce_scatter to various lists in the introduction of
Chapter 5 (this is a bug in MPI-2.2)

3) added MPI_Ireduce_scatter_block to the listing of nonblocking
collectives. Please review the function interface carefully! This was
not voted on or reviewed yet.

4) added a \label{} in the p2p Chapter 3 to reference nonblocking
progression semantics (they're referenced nowhere else ;-)).

I put two versions of the document online for easier reviewing. Both
versions have the MPI-2.2 changes highlighted (purple for removals, red
for additions plus the ticket number at the margin) and also the MPI-3
changes (striked out for removals, underlined for additions, limited to
Chapter 5).

MPI-2.2: http://www.unixer.de/sec/mpi-2.2.pdf
MPI-3.0: http://www.unixer.de/sec/mpi-3.0.pdf

It should be sufficient to review Chapter 5 only. Please let me know if
you have any questions or find any problems.

All the Best,
Torsten

--
bash\$ :(){ :|:&};: --------------------- http://www.unixer.de/ -----
Torsten Hoefler         | Research Associate
Blue Waters Directorate | University of Illinois
1205 W Clark Street     | Urbana, IL, 61801
NCSA Building           | +01 (217) 244-7736