|
Boost : |
From: Douglas Gregor (doug.gregor_at_[hidden])
Date: 2006-09-16 09:55:09
On Sep 16, 2006, at 6:09 AM, Markus Blatt wrote:
> Consider a distributed array or vector. Each entry of the global
> vector has a consecutive, zero starting local index l and a
> coresponding global index g together with tag specifying whether the
> process is owner of the value (meaning that he can compute a new value
> from consistent data without communication) or not.
>
> Process 0:
> local global tag
> 0 0 owner
> 1 3 owner
> 2 4 notowner
>
> Process 1:
> local global tag
> 0 1 owner
> 1 2 owner
> 3 3 notowner
>
> This would represent a global array of 5 entries.
Very interesting. We're actually working on this very problem on a
different project (our parallel graph library). If we come up with a
good, general abstraction, we could try to get it into Boost.MPI. At
the moment, however, i think Matthias has the right approach, using a
special data-type wrapper that provides an alternative way to
serialize the local/global array when building the skeleton.
Doug
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk