From: David Greene (greened_at_[hidden])
Date: 2006-07-03 18:17:22
Doug Gregor wrote:
> 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.
I'm not terribly familiar with OOMPI but my brief look-see
got me interested in the ports feature. Something like this
on top of Boost.MPI would be great. Even better would be a
communication interface that could work with various underlying
technologies (MPI, Boost.asio, Boost.interprocess, etc.).
I don't know how practically realizable it is to do with while
maintaining performance, though.
A while back I did some experiments with a colleague to hack
up a UPC compiler to recognize UPC constructs in C++. It turns
out that one can do a bunch of nifty things with template
metaprogramming in the context of parallel computation in the
style of UPC. I wonder if it would be possible to emulate
something like a UPC++ with creative operator overloading, a
parallel communication library and template metaprogramming
wizardry? I don't think it would be possible to approach the
speed of a native UPC++ but it might be interesting for some
machine architectures such as clusters or other low-bandwidth
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk