[petsc-users] repartition for dynamic load balancing

Barry Smith bsmith at mcs.anl.gov
Thu Jan 28 11:21:52 CST 2016

> On Jan 28, 2016, at 11:11 AM, Xiangdong <epscodes at gmail.com> wrote:
> Yes, it can be either DMDA or DMPlex. For example, I have 1D DMDA with Nx=10 and np=2. At the beginning each processor owns 5 cells. After some simulation time, I found that repartition the 10 cells into 3 and 7 is better for load balancing. Is there an easy/efficient way to migrate data from one partition to another partition? I am wondering whether there are some functions or libraries help me manage this redistribution.

  For DMDA we don't provide tools for doing this, nor do we expect to. For this type of need for dynamic migration we recommend using DMPlex or some external mesh management system.


> Thanks.
> Xiangdong
> On Thu, Jan 28, 2016 at 12:20 AM, Jed Brown <jed at jedbrown.org> wrote:
> Xiangdong <epscodes at gmail.com> writes:
> > I have a question on dynamic load balance in petsc. I started running a
> > simulation with one partition. As the simulation goes on, that partition
> > may lead to load imbalance since it is a non-steady problem. If it is worth
> > to perform the load balance, is there an easy way to re-partition the mesh
> > and continue the simulation?
> Are you using a PETSc DM?  What "mesh"?  If you own it, then
> repartitioning it is entirely your business.
> In general, after adapting the mesh, you rebuild all algebraic data
> structures.  Solvers can be reset (SNESReset, etc.).

More information about the petsc-users mailing list