← Back to team overview

dolfin team mailing list archive

Re: Boost MPI

 

On 24 September 2011 07:40, Anders Logg <logg@xxxxxxxxx> wrote:
> On Sat, Sep 24, 2011 at 12:19:34AM +0100, Garth N. Wells wrote:
>> On 23 September 2011 23:35, Anders Logg <logg@xxxxxxxxx> wrote:
>> > On Fri, Sep 23, 2011 at 05:26:48PM +0100, Garth N. Wells wrote:
>> >> On 23 September 2011 17:21, Anders Logg <logg@xxxxxxxxx> wrote:
>> >> > On Fri, Sep 23, 2011 at 04:50:33PM +0100, Garth N. Wells wrote:
>> >> >> On 22 September 2011 12:46, Johannes Ring <johannr@xxxxxxxxx> wrote:
>> >> >> > On Wed, Sep 21, 2011 at 1:19 PM, Johannes Ring <johannr@xxxxxxxxx> wrote:
>> >> >> >> On Wed, Sep 21, 2011 at 1:01 PM, Garth N. Wells <gnw20@xxxxxxxxx> wrote:
>> >> >> >>> On 21 September 2011 11:55, Johannes Ring <johannr@xxxxxxxxx> wrote:
>> >> >> >>>> On Wed, Sep 21, 2011 at 12:27 PM, Garth N. Wells <gnw20@xxxxxxxxx> wrote:
>> >> >> >>>>> On 21 September 2011 11:06, Johannes Ring <johannr@xxxxxxxxx> wrote:
>> >> >> >>>>>> On Wed, Sep 21, 2011 at 11:45 AM, Garth N. Wells <gnw20@xxxxxxxxx> wrote:
>> >> >> >>>>>>> A while ago, we used some Boost MPI but then removed it because of
>> >> >> >>>>>>> some older systems lack support. Could we start using it now? I would
>> >> >> >>>>>>> like to. It would make some parallel things a lot simpler. Would the
>> >> >> >>>>>>> buildbots need to be updated?
>> >> >> >>>>>>
>> >> >> >>>>>> Yes, some of them would need an update. Also, we would no longer be
>> >> >> >>>>>> able to provide packages for Ubuntu 10.04 LTS, which is by far the
>> >> >> >>>>>> Ubuntu version with the most downloads from the PPA.
>> >> >> >>>>>>
>> >> >> >>>>>
>> >> >> >>>>> OK, so the decision is whether or not to continue support for 10.04.
>> >> >> >>>>> Since I don't use 10.04 but I do use MPI, I vote for ditching 10.04
>> >> >> >>>>> and using Boost MPI. A compromise would be to use Boost MPI, and not
>> >> >> >>>>> provide parallel support in the 10.04 package.
>> >> >> >>>>>
>> >> >> >>>>> How do we deal with Swig 2 in 10.04? Or is it not required since the
>> >> >> >>>>> wrappers have already been generated?
>> >> >> >>>>
>> >> >> >>>> I have backported SWIG 2.0 to Lucid.
>> >> >> >>>>
>> >> >> >>>
>> >> >> >>> OK,  what about backporting Boost too? There are a few PPAs already, e.g.
>> >> >> >>>
>> >> >> >>>   https://launchpad.net/~infie/+archive/boost-1.47
>> >> >> >>>   https://launchpad.net/~gezakovacs/+archive/boost
>> >> >> >>
>> >> >> >> Yes, I will try to backport Boost in my test PPA
>> >> >> >> (https://launchpad.net/~johannr/+archive/test-ppa). I am just afraid
>> >> >> >> that it will break some of the other packages that depends on the
>> >> >> >> older Boost, but I will give it a shot.
>> >> >> >
>> >> >> > It seems to work out nicely. I only had to rebuild UFC against the new
>> >> >> > Boost packages and then everything ran smoothly.
>> >> >> >
>> >> >> > It will require some work on the buildbots if we start using Boost MPI.
>> >> >> >
>> >> >>
>> >> >> Does anyone else want to throw in an opinion on this?
>> >> >
>> >> > ok for me. Is the plan to keep the MPI:: utility functions and replace
>> >> > the implementation by boost? Or will we be using boost throughout? In
>> >> > particular, does it have a replacement for MPI::distribute?
>> >> >
>> >>
>> >> I suggest keeping the functions in MPI.h.
>> >>
>> >> Boost MPI won't replace MPI::distribute, but it will make the
>> >> internals of  MPI::distribute simpler and more general (e.g. handle
>> >> booleans, which we don't at the moment because they need to be treated
>> >> as a special case).
>> >>
>> >> The two big advantages of Boost MPI are
>> >>
>> >> 1. It's templated, so we don't need *4+* versions of each function
>> >> (uint, int, double, bool, . . .)
>> >> 2. It can handle various C++ STL objects seamlessly.
>> >>
>> >> When do we want to start?
>> >
>> > What about speed compared to vanilla MPI?
>> >
>>
>> http://www.boost.org/doc/libs/1_47_0/doc/html/mpi/performance.html
>
> That looks good.
>
> So beta2 early next week, and then use the boost MPI wrappers?
>

I would suggest sneaking a few MPI.Boost functions into beta2 to get
more build testing. Better in beta2 than in a RC.

Garth

> --
> Anders
>


Follow ups

References