Both changes to improve the buffer persistence in teh dense distributed inverse and to add verbosity to polynomial smoothers

This commit is contained in:
Peter Boyle
2026-08-26 17:48:03 -04:00
parent 5f8f396e9b
commit e15099eb7b
10 changed files with 266 additions and 18 deletions
+1 -1
View File
@@ -80,7 +80,7 @@ S2D_N=13824 srun -N1 -n8 ./select_gpu $root/tests/debug/Test_schur2d_scale \
##############################################################################
echo "========================================================="
echo "F3: scale rehearsal, 36 nodes, N=138240 (nb=480, grid 16x18)"
echo "F3: scale rehearsal, 36 nodes, N=138240 (nb=480, grid 18x16)"
echo " THE number: invert phase vs the 1D baseline 328 s"
echo "========================================================="
##############################################################################
+2 -2
View File
@@ -20,7 +20,7 @@
#
# S1 : 1 node, 8 ranks, N=4096 -- API/device/thread-level shakeout
# S2 : 1 node, 8 ranks, N=13824 -- one-node production-shape rehearsal
# S3 : 36 nodes, 288 ranks, N=138240 (nb=480, grid 16x18) -- THE comparison
# S3 : 36 nodes, 288 ranks, N=138240 (nb=480, grid 18x16) -- THE comparison
#
# S3 is gated on S1 passing (rc=0 and both certificates printed): a broken
# SLATE leg should not burn the 36-node allocation.
@@ -100,7 +100,7 @@ S2D_N=13824 srun -N1 -n8 ./select_gpu $BIN --mpi 1.1.2.4 --grid 16.16.16.16 $OPT
##############################################################################
echo "========================================================="
echo "S3: THE comparison, 36 nodes, 288 ranks, N=138240 (nb=480, grid 16x18)"
echo "S3: THE comparison, 36 nodes, 288 ranks, N=138240 (nb=480, grid 18x16)"
echo "========================================================="
##############################################################################
if [ "$S1RC" -eq 0 ] && [ "$S1CERT" -ge 2 ]
+5 -1
View File
@@ -23,6 +23,7 @@
# heavy one at Nrhs=1)
# M4 cheb / gcr fine Chebyshev [FineChebLo,FineChebHi] order Fso
# M5 cheb / cheb
# M6 gcr / replay coarse frozen only
#
# Laptop 8^4 findings (hot config, Ls=4, NBASIS=8): replay/replay converges
# (28 vs 23 outer); cheb on the FINE level diverges there while cheb on the
@@ -96,6 +97,7 @@ export SmootherCoeffLog=0
# frozen-polynomial controls
export PolyRecordIters=4 # outer steps recorded before the switch
export PolyVerbose=1 # frozen smoothers print |r_m|/|r_0| per call: separates 'bad polynomial' from 'linear V-cycle stagnates the outer'
export FineChebLo=3.0 # harvested |R|<0.1 edge / PowerIteration edge x1.05
export FineChebHi=137.0
export CoarseChebLo=8.0
@@ -105,8 +107,9 @@ run_mode () {
name=$1; export FineSmootherMode=$2; export CoarseSmootherMode=$3
echo "----- $name : FineSmootherMode=$FineSmootherMode CoarseSmootherMode=$CoarseSmootherMode -----"
fname=log.modes.$name
srun -N36 -n288 ./select_gpu $root/examples/Example_pvdagm_v2_3level_DenseCoarseMatrix \
srun -N36 -n288 --kill-on-bad-exit=1 ./select_gpu $root/examples/Example_pvdagm_v2_3level_DenseCoarseMatrix \
--mpi ${MPI_GEOM} --grid $vol $OPTS1 --comms-overlap > $fname 2>&1
echo " exit $?"; sleep 60 # let a faulted step's GPUs be released before the next srun (M3 after M2 faulted instantly)
echo " $(grep -h 'V2 3-level solve Nrhs' $fname | tr '\n' ' ')"
echo " $(grep -h 'Fouter MrhsPGCR: Converged' $fname | sed 's/.*Converged/Converged/' | tr '\n' ' ')"
echo " $(grep -h 'FINAL Nrhs .: worst' $fname | tr '\n' ' ')"
@@ -118,6 +121,7 @@ run_mode M2_replay_replay replay replay
run_mode M3_replay_gcr replay gcr
run_mode M4_cheb_gcr cheb gcr
run_mode M5_cheb_cheb cheb cheb
run_mode M6_gcr_replay gcr replay # coarse frozen only: M2 showed Couter 16 -> 5 steps with it live
echo "========================================================="
echo "summary"