From b2c76f1276470ee38a47fee28d51fa8ad9d740c6 Mon Sep 17 00:00:00 2001 From: Roy Stogner Date: Wed, 26 Oct 2022 09:36:03 -0500 Subject: [PATCH] Add some node load balancing test coverage --- examples/adaptivity/adaptivity_ex3/run.sh | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/examples/adaptivity/adaptivity_ex3/run.sh b/examples/adaptivity/adaptivity_ex3/run.sh index eff6e06c3f8..3bb898b2cdf 100755 --- a/examples/adaptivity/adaptivity_ex3/run.sh +++ b/examples/adaptivity/adaptivity_ex3/run.sh @@ -7,23 +7,40 @@ example_name=adaptivity_ex3 example_dir=examples/adaptivity/$example_name +# Test with a bunch of different refinement types; while we're at it +# we can get a little test coverage of our nodal partitioning options. +# +# --load-balanced-nodes-bfs doesn't appear to be safe to use on a +# distributed mesh! I see dbg assertion failures from a sweep over as +# few as 15 processors! + run_example "$example_name" refinement_type=h # Some solvers still give us trouble with too much p run_example "$example_name" refinement_type=p max_r_steps=4 -run_example "$example_name" refinement_type=hp max_r_steps=6 +run_example "$example_name" refinement_type=hp max_r_steps=6 --load-balanced-nodes-linear +if [ "x$petscmajor" == "x" ]; then +run_example "$example_name" refinement_type=matchedhp max_r_steps=4 --load-balanced-nodes-petscpartitioner +else run_example "$example_name" refinement_type=matchedhp max_r_steps=4 +fi # Let's get some 1D coverage too; that's cheap. -run_example "$example_name" dimension=1 refinement_type=h +# Load balancing nodes should be pointless here but we can make sure +# it doesn't regress in this special case. +run_example "$example_name" dimension=1 refinement_type=h --load-balanced-nodes-linear # After enough p refinement we start breaking non-pivoting ILU preconditioners run_example "$example_name" dimension=1 refinement_type=p max_r_steps=8 run_example "$example_name" dimension=1 refinement_type=hp max_r_steps=6 run_example "$example_name" dimension=1 refinement_type=matchedhp max_r_steps=4 # And try out another element type +if [ "x$petscmajor" == "x" ]; then +run_example "$example_name" dimension=1 approx_type=HERMITE approx_order=3 refinement_type=h --load-balanced-nodes-petscpartitioner +else run_example "$example_name" dimension=1 approx_type=HERMITE approx_order=3 refinement_type=h +fi run_example "$example_name" dimension=1 approx_type=HERMITE approx_order=3 refinement_type=p max_r_steps=6 -run_example "$example_name" dimension=1 approx_type=HERMITE approx_order=3 refinement_type=hp max_r_steps=8 +run_example "$example_name" dimension=1 approx_type=HERMITE approx_order=3 refinement_type=hp max_r_steps=8 --load-balanced-nodes-linear run_example "$example_name" dimension=1 approx_type=HERMITE approx_order=3 refinement_type=matchedhp max_r_steps=4 # Examples to use for test coverage