|
Boost : |
Subject: Re: [boost] Multicore-BGL
From: Jeremiah Willcock (jewillco_at_[hidden])
Date: 2010-05-30 11:00:40
On Sun, 30 May 2010, Giorgio Zoppi wrote:
> 2010/5/30 Adam Merz <adammerz_at_[hidden]>:
>> Giorgio Zoppi <giorgio.zoppi <at> gmail.com> writes:
>>> we're intersted in how to optimize BGL on Multicore for adding our
>>> standard Bellman-Ford algorithms for optical networks.
>>> How do the current boost work on Multicore? BGL is thread-safe? Which
>>> parts are required to optimize?
>>
>> I believe what you're interested in is the Parallel BGL. See
>> http://www.boost.org/doc/libs/release/libs/graph_parallel/doc/html/index.html and
>> http://osl.iu.edu/research/pbgl/
>
> I skimmed the doc, however we're more fit in a multicore solution than
> a distributed process solution. I cannot find something about that in
> the doc. Any hints?
We are in the process of adding shared-memory/hybrid parallelism to PBGL,
but that's still in a very early stage. You can run multiple MPI
processes on the same machine (running them on different cores) and they
will communicate using shared memory. One issue that comes up is that
memory is often the limitation for graph algorithms, not CPU performance;
in that case, multicores don't really do much for performance. Are you
using more expensive algorithms that aren't memory intensive? If so,
there might be ways to do simple things with existing BGL algorithms to
make them run with shared memory (for example, adding OpenMP pragmas).
-- Jeremiah Willcock
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk