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

Jed Brown jed at jedbrown.org
Mon Mar 5 07:31:42 CST 2018

Dave May <dave.mayhem23 at gmail.com> writes:

> For a 1D problem such as yours, I would use your favourite graph
> partitioner (Metis,Parmetis, Scotch) together with your cell based
> weighting and repartition the data yourself.

That's overkill in 1D.  You can MPI_Allreduce(SUM) and MPI_Scan(SUM) the
weights, then find the transition indices in each subdomain.  It'll be
cheaper, more intuitive/deterministic, and avoid the extra library
dependency.  Of course if you think you may want to move to multiple
dimensions, it would make sense to consider DMPlex or DMForest.

More information about the petsc-users mailing list