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

Tobin Isaac tisaac at cc.gatech.edu
Mon Mar 5 08:01:01 CST 2018


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.


On March 5, 2018 8:31:42 AM EST, Jed Brown <jed at jedbrown.org> wrote:
>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