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

Mark Adams mfadams at lbl.gov
Sat Oct 3 08:04:41 CDT 2020

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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20201003/eab2eb09/attachment-0001.html>

More information about the petsc-dev mailing list