[petsc-dev] Generality of VecScatter

Jed Brown jedbrown at mcs.anl.gov
Thu Nov 24 12:20:26 CST 2011


On Thu, Nov 24, 2011 at 12:10, Dmitry Karpeev <karpeev at mcs.anl.gov> wrote:

> What's the general flavor of these "high-level persistent communication
> primitives"?
> I think it's important to define them at least somewhat in order to
> understand the rest of the discussion copied here.
>

I'm trying to evaluate whether my suggestion is sufficient. It can be
described succinctly as offering pointwise broadcast, reduce, gather, and
scatter over a bipartite graph where one side is identified as having
maximum degree one and the other side---with arbitrarily high degree---can
perform reductions and get the results of gathers.

The specification can be provided as either a single-valued function to
{(owner rank, offset), NULL} defined on the side with maximum degree one
(this has the lowest overhead and can be used directly for communication)
or by having the owner list shared processes (in which case the graph is
inverted, but this can be done without O(size) storage and without global
synchronization).

What I don't want to offer (because I think it is complicated to use and
hopefully unnecessary, not because I can't implement it using only
moderately heavier data structures) is to have arbitrary degree on both
sides.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20111124/9f55d961/attachment.html>


More information about the petsc-dev mailing list