
Jeremy Graham Siek wrote:
Hi All,
Review questions ================
Please always explicitly state in your review, whether you think the library should be accepted into Boost.
YES please accept into Boost.
You might want to comment on the following questions:
- What is your evaluation of the design?
I have not dug into the design and these comments come from running some tests. I very much like the integration of boost serialization, which in particular makes it easy to transfer strings between tasks of different rank.
- What is your evaluation of the implementation?
The implementation has made extensive use of other boost components. As well as serialize, parts of archive and detail are used, I think as a consequence of the use of serialize. This came to light as my base installation is boost 1.33.1 and I installed only the required components from cvs.
- What is your evaluation of the documentation?
I found this fairly easy to follow. I think there is a typo in this line in the code on page 6. world << "I am process " << world.rank() << " of " << world.size() << "." << std::endl; The example did not compile as there does not seem to be operator<< defined for the communicator.
- What is your evaluation of the potential usefulness of the library?
I think this is useful for those working in a multiprocessor environment using MPI.
- Did you try to use the library? With what compiler?
I have used the code on a single processor system (AMD64) using 32 bit Linux (Fedora 4) with g++ 4.0.2 and a base of boost 1.33.1. I used LAM MPI. As commented above I used cvs to obtain uptodate copies of boost components: serialise, archive and detail and compiled only those source files which were needed.
Did you have any problems?
Only with the code typo above, once I had identified the need for the uptodate archive version.
- How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
I have spent a couple of evenings and have run most of the examples in the manual and examples. I very much liked the string-cat example which can be easily adapted to gather output from all the tasks.
- Are you knowledgeable about the problem domain?
I have used mpich and OOMPI (http://www.osl.iu.edu/research/oompi/) which does something similar in a different way. I have also experimented with bsfcpp (http://f.loulergue.free.fr/research/bsfcpp/main.html) John Fletcher