LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: hedman_at_[hidden]
Date: 2004-09-27 04:05:55


>>>>> On Fri, 24 Sep 2004 14:22:34 -0400, Jeff Squyres <jsquyres_at_[hidden]> said:
    jsquyres> That's all fine and good, but it's just not
    jsquyres> part of MPI. :-) This would have to be

I know that it is not MPI, but rather something that I wish
would be there:)

One problem with the C++ interface of MPI is that it was
done before STL and as it stands today I can not see what it
really adds over the C API. Sure namespaces and exceptions
are used and it is object based, but why all the virtual
functions in the interface? I would assume that a library
builder of today would aggregate MPI objects rather that
inheriting the interface. Furthermore, using MPI with data
stored in a e.g. std::vector is awkward, and there are also
sometimes odd data-types in the interface: the count
argument is an int and not a size_t. In short, I think that
the C++ interface could use an overhaul; maybe a mpi2
namespace?

    jsquyres> something layered on top of MPI. Hence, your
    jsquyres> function will probably eventually resolve down
    jsquyres> to an MPI_SEND that will do the actual sending
    jsquyres> of the correct datatype. With a bit of
    jsquyres> cleverness, the function could probably be
    jsquyres> inlined, and there would be little performance
    jsquyres> overhead (although going through the iterators
    jsquyres> might take some time... you'd have to evaluate
    jsquyres> that for your own requirements/needs).

Sending the data takes eons anyway, at least compared with a
function call or going through iterators.

    jsquyres> The OOMPI project took a few steps in the
    jsquyres> direction of a class library for MPI several
    jsquyres> years ago (1996-ish?), but didn't do anything
    jsquyres> like this. Both the C++ language itself and
    jsquyres> the quality of compilers available have
    jsquyres> improved significantly since then.

Yep I have seen it, but never gotten around to using it.

[...]

--
Fredrik Hedman