[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