|
Boost Users : |
Subject: Re: [Boost-users] Parallel BGL status in Boost
From: Nick Edmonds (ngedmond_at_[hidden])
Date: 2009-09-11 16:39:21
On Sep 4, 2009, at 8:24 AM, Mathieu Malaterre wrote:
> On Thu, Sep 3, 2009 at 10:37 PM, Nick
> Edmonds<ngedmond_at_[hidden]> wrote:
>> Yep, PBGL as in the distributed data structures, MPI
>> infrastructure, and
>> distributed algorithms is now in Boost.
>
> Cool, I did not see it in the changelog, so I was confused.
>
>
>> Yep, that webpage is desperately out of date, I'm a terrible
>> webmaster.
>> Updating it (and the attendant performance numbers) has been on my
>> todo
>> list for ages. I'd make more promises, but they'd probably sound
>> hollow
>> now. So when I actually do it, it will be a pleasant surprise.
>
> So that it serve as reference to anyone reading this. The
> documentation have been updated, simply not uploaded neither on
> boost.org page nor on the old PBGL page. It is available locally as:
>
> file:///path/to/boost/libs/graph_parallel/doc/html/index.html
>
Yep, 1.40 is unfortunately missing the proper redirect in libs/
graph_parallel to libs/graph_parallel/doc/html/index.html. I've fixed
this in the trunk. When 1.41 goes out hopefully the docs will show up
on boost.org, this was due to my ignorance w.r.t. how docs got to the
webpage during the release process.
>> Structural information about the graph is only available on the
>> process that
>> owns that portion of the graph. Currently PBGL distributes the
>> graph using
>> a row-wise decomposition of the adjacency matrix. This means that
>> calling
>> vertices(g) returns the local vertex set owned by the calling
>> process. The
>> result of calling edges(g) depends on the directed category of the
>> edge, but
>> basically iterates over incident edges. Attempting to access
>> structural
>> information that is not local to the calling process, i.e. calling
>> out_edges(v, g) where 'v' is not owned by the calling process is
>> invalid and
>> results in undefined behavior.
>
> ok that clears things quite a bit !
>
>> If you want more details, to know why things work the way they do
>> now, or
>> how they might work in the future, feel free to ask away.
>
> 'in the future', what do you mean ? What are the actual plans ?
Well, there are lots of plans... Hybrid parallelism (distributed
memory + threads), 2-dimensional decomposition for graphs (as opposed
to the current row-wise decomposition), and alternates to MPI as a
communication infrastructure amongst many less important plans (and
the thesis project I'm keeping under my hat because I haven't
published enough about it to claim it yet). There's also a very
nascent project to do multi-core/highly multi-threaded BGL, starting
from the BGL sources as opposed to PBGL.
That's the short list, as (if?) we get more people working on the
project there's lots more to be done as well.
Thanks,
Nick
>
>
> Thanks again,
> --
> Mathieu
> _______________________________________________
> 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