
On Jun 29, 2006, at 10:29 AM, John Fletcher wrote:
Does this library make any use of the work done in OOMPI (see http://www.osl.iu.edu/research/oompi/) which also provides a C++ interface for MPI?
I work in the Open Systems Lab, which is also responsible for OOMPI, so we're well-aware of OOPMPI and there's definitely some institutional mindshare. That said, OOMPI and the candidate Boost.MPI take rather different approaches to presenting MPI in C++. Architecturally, OOMPI is, well, OO: it relies on inheritance, virtual functions, and overloading for abstraction. Boost.MPI is build using Generic Programming, so it relies on templates, traits, and specialization for abstraction. Boost.MPI is meant to fit in best with the style of programming used in STL and Boost, with function objects, integration with Boost.Serialization, etc. I think there's also a philosophical difference between the two. OOMPI provides some syntactic innovations (such as ports) that can make MPI easier to use. Boost.MPI is a little more "purist", attempting to keep the flavor of the C MPI bindings while adapting better to modern C++. We still "send" in the same way as "MPI_Send" in Boost.MPI. Of course, should something like ports be useful, they could be added as syntactic sugar. Doug