Boost logo

Boost :

From: K. Noel Belcourt (kbelco_at_[hidden])
Date: 2006-09-16 02:20:32

On Sep 6, 2006, at 1:16 PM, Jeremy Graham Siek wrote:

> Review questions
> ================
> Please always explicitly state in your review, whether you think the
> library should be accepted into Boost.

I strongly recommend that this library be accepted into Boost.

> You might want to comment on the following questions:
> - What is your evaluation of the design?

The design reflects considerable effort into streamlining the MPI
interface (fewer arguments). I like the use of vector<T> in the
collectives although most of the legacy codes use C style arrays. I
also like the overloaded gather and scatter for root / non-root

> - What is your evaluation of the implementation?

I found the implementation to be lucid, well documented and ready for

I was able to review the implementations of the broadcast, gather,
scatter, and reduce functions which all call through to the
corresponding MPI_ function. This is perfectly reasonable. But
these, and other, functions can be implemented much more efficiently
using sends and recvs. These less efficient implementations may
adversely impact adoption of Boost.MPI by the larger high performance
computing community. I would like the authors to consider these more
efficient algorithms at some point in the future.

> - What is your evaluation of the documentation?

Modulo a few typos, perfectly acceptable.

> - What is your evaluation of the potential usefulness of the library?

This is a huge win over coding the C functions directly or using the
very poor MPI C++ bindings as noted by the authors.

> - Did you try to use the library? With what compiler?
> Did you have any problems?

I modified a small explicit dynamics code to use some calls from the
Boost MPI library. The conversion was straight forward and
successful using the Sun 5.7 compilers with Sun's HPC library. There
were no problems but I was unable to test the skeleton and the
function object capabilities, which interest me greatly.

> - How much effort did you put into your evaluation?

A moderate amount of time. I spent 7 hours converting a program's
MPI calls to use Boost.MPI and testing the changes, and a couple of
hours reading the documentation and perusing the implementation code.

> - Are you knowledgeable about the problem domain?


-- Noel Belcourt

Boost list run by bdawes at, gregod at, cpdaniel at, john at