|
Boost Users : |
Subject: Re: [Boost-users] [mpi] broadcast performance
From: Brian Budge (brian.budge_at_[hidden])
Date: 2012-09-06 14:03:09
The only idea I had was potentially to use MPI_Hindexed and
MPI_Address to create the full memory layout, and then go through the
data calling placement new, etc...
Given the lack of documentation around how to actually do this with
MPI, I can't really think of anything better than what is currently
happening inside boost::mpi. If I need the better performance, I will
have to uglify my code :)
Thanks,
Brian
On Thu, Sep 6, 2012 at 10:49 AM, Júlio Hoffimann
<julio.hoffimann_at_[hidden]> wrote:
> Hi Brian,
>
> I don't remember the details, but what you said is completely right, when we
> pass an object to any of the Boost.MPI methods, it can be either of MPI
> type, in what case it's properly forwarded to the C implementation, or it
> can be of a serializable type when the magic happens.
>
> At the other end of the wire, Boost.MPI will magically deserialize the
> object and you have no additional work. You keep working on high-level C++.
>
> The main bottleneck here is the act of serialize/deserialize repeatedly. As
> you already know, Boost.MPI solved this problem for some cases (with fixed
> layout): the skeleton and content approach.
>
> When the approach is not applicable, you have to live with C raw buffers
> doing the &vec[0] trick. I'll take a better look to see if specializing the
> template with that trick is safe and covered by the C++ standard.
>
> You're also free to investigate and produce patches. :-)
>
> Regards,
> Júlio.
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net