[petsc-users] Parallel Graph Coloring

Peter Brune brune at mcs.anl.gov
Tue Nov 5 10:39:29 CST 2013


On Tue, Nov 5, 2013 at 10:29 AM, Gaetan Kenway <gaetank at gmail.com> wrote:

> Hi
>
> I have a quick question regarding the MatGetColoring() function. According
> to the documentation,
>
>  "For parallel matrices currently converts to sequential matrix and uses
> the sequential coloring on that."
>
>
The meaning of this is that it transfers the parallel matrix to a single
processor and does the coloring there, not that it only considers
on-processor entries.  What comes out is therefore a valid column coloring
of the whole matrix.  Parallel matrix coloring is in development but is not
quite ready for public consumption.  Anecdotal evidence suggests that the
serial coloring does not become a bottleneck on small parallel runs.

A good option is to provide the coloring through your discretization.  This
will often be more efficient than the matrix colorings, as you know the
structure of your problem.

- Peter


> I am wondering does this give actually give a valid parallel coloring? My
> application is a cell centered multi-block finite volume code, (with
> block-based decomposition)  and the communications are done using a two
> level exchange of halo cells. I would like to use FD (actually forward mode
> AD to compute the jacbian matrix). So, what I'm wondering is, if a cell
> with color 0 is perturbed on processor 0, is it guaranteed that a residual
> on processor 1, that is influenced by the 0-colored cell on proc zero is
> *only* influenced by the color 0 from proc 0 and not a 0-colored cell on
> proc 1?
>
> I hope that is clear
>
> Thank you,
>
> Gaetan Kenway
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20131105/504b163f/attachment.html>


More information about the petsc-users mailing list