[petsc-users] Load balancing / redistributing a 1D DM

Jed Brown jed at jedbrown.org
Mon Mar 5 08:48:23 CST 2018

Matthew Knepley <knepley at gmail.com> writes:

> On Mon, Mar 5, 2018 at 9:01 AM, Tobin Isaac <tisaac at cc.gatech.edu> wrote:
>> This is a somewhat incomplete description of the steps in linear
>> partitioning.  The rest can be accomplished with PetscSF calls, but I
>> should wrap it up in a PetscPartitioner because it's a mistake-prone
>> operation.
> Jed likes to do everything by hand because it is transparent, but then you
> become the maintainer.
> I think this is easy to do in Plex, and we maintain the code. It is less
> transparent, which is the tradeoff.

DMDA gives you direct indexing of neighbors, second neighbors, etc.
DMPlex doesn't ensure that, though you could configure a DMPlex to sort
vertices according to a particular convention.  I don't know whether
that convention would be preserved on repartitioning/redistribution.

With your very expensive material models, indirect indexing wouldn't be
a performance issue, but still may impact readability.

More information about the petsc-users mailing list