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 <[email protected]> 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
