[petsc-dev] Scaling test with ex13 (snes)

Jed Brown jed at jedbrown.org
Sat Oct 3 09:40:03 CDT 2020

Are you specifically wanting DMPlex meshes?  Then ex13 is good, though partitioning will be an issue at sufficient scale.

src/ksp/ksp/tutorials/ex45.c is a DMDA example with GMG support.

Mark Adams <mfadams at lbl.gov> writes:

> I've been using snes ex13 for scaling tests and I'm starting to modify it
> (ie, added a "warmup" stage). I would like to check this in as I think it
> is generally useful and I want to keep track of it easily.
> First, is there any other simple Poisson on a cube or something similar
> that has been used for scaling studies and would be a better place for me
> to start?
> Secondly, I'd like to add a multilevel "simple" partitioning in DMPlex to
> optimize communication. I am thinking that I can create a mesh with
> 'nnodes' cells and distribute that to 'nnodes*procs_node' processes with a
> "spread" distribution. (the default seems to be "compact"). Then refine
> that enough to get 'procs_node' more cells and the use a simple partitioner
> again to put one cell on each process, in such a way that the locality is
> preserved (not sure how that would work). Then refine from there on each
> proc for a scaling study.
> The point here is to get communication patterns that look like an
> (idealized) well partition application. (I suppose I could take an array of
> factors, the product of which is the number of processors, and generalize
> this in a loop for any number of memory levels, or make an oct-tree).
> Any thoughts?
> Thanks,
> Mark

More information about the petsc-dev mailing list