|
Boost : |
From: Douglas Gregor (doug.gregor_at_[hidden])
Date: 2006-09-08 08:29:39
On Sep 6, 2006, at 5:10 PM, Dean Michael Berris wrote:
> - What is your evaluation of the implementation?
>
> Given the very well-thought out and straightforward design, I have
> some reservations about the interface specifically with the
> Communicator class. Having been reading up on type-safe interfaces,
> the main issue I see is the relative ease in confusing the order of
> the fields/types in communicator::send/receive/isend/ireceive
> arguments:
>
> template <typename T> void send(int, int, const T &) const ;
>
> The above line doesn't say anything about what the first int is, and
> what the second int is -- and it's fairly easy to confuse which one is
> the rank and which one is the tag. A suggestion I would make is either
> to utilize Boost.Parameter to come up with something like:
>
> mpi::communicator c;
> std::string str("Hello, World!");
> c.send(tag=0, rank=1, value=str);
> c.send(rank=1, tag=0, value=str);
> c.send(value=str, rank=1, tag=0);
I like this a lot. I expect it will be very easy to do with with the
Parameter library :)
> - What is your evaluation of the documentation?
>
> The web documentation contains certain characters marked and displayed
> as question marks not present in the PDF version. There are also a
> handful of typographical errors, though nothing a quick copy-editing
> would not be able to fix.
Ugh. I'll regenerate the documentation on a different machine to get
rid of the question marks.
> There is also a need to revise the introduction, and move the in-depth
> details in a separate section. The Introduction section already talks
> about a lot of the specifics, when a user reading the documentation
> would be more concerned really just about what Boost.MPI is rather
> than the details of how it implemented certain things.
You are right.
> I can elaborate in a separate email, which I think I should
> probably do.
That would be greatly appreciated.
Thanks for the review!
Cheers,
Doug
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk