docs: clarify preconditioner experiment results and timing
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
# Preconditioner improvement: matched frozen Newton systems
|
# Preconditioner improvement: matched frozen Newton systems
|
||||||
|
|
||||||
This experiment changes preconditioning only. The complete Newton Jacobian,
|
This experiment changes preconditioning only. The complete Newton Jacobian,
|
||||||
normalization, physical residual, mesh, and linear acceptance gate are held fixed.
|
normalization, physical residual, mesh, and linear acceptance gate are held
|
||||||
The date in branch and artifact names is an experiment identifier; provenance
|
fixed. The date in branch and artifact names is an experiment identifier;
|
||||||
files contain the actual UTC execution times.
|
provenance files contain the actual UTC execution times.
|
||||||
|
|
||||||
## Reproduction and scope
|
## Reproduction and scope
|
||||||
|
|
||||||
@@ -15,18 +15,20 @@ Integration branch: `research/preconditioner-benchmarks-20260918`, based on
|
|||||||
|
|
||||||
The experiment workspace is
|
The experiment workspace is
|
||||||
`/Users/tboudreaux/.codex/.chatgpt-projects/g-p-6a6b3f2194ec8191bebcd59075897f1d`.
|
`/Users/tboudreaux/.codex/.chatgpt-projects/g-p-6a6b3f2194ec8191bebcd59075897f1d`.
|
||||||
Evidence is under `diagnostics/preconditioner_improvement_2026-09-18` there.
|
Evidence is stored under `diagnostics/preconditioner_improvement_2026-09-18`
|
||||||
Each campaign retains its clean source commit, build configuration, copied
|
in that workspace. Each campaign retains its clean source commit, build
|
||||||
executable and hash, mesh hash, exact commands, input/output hashes, and logs.
|
configuration, copied executable and hash, mesh hash, exact commands,
|
||||||
Runs are serial, without overlapping builds or FEM jobs during timing.
|
input/output hashes, and logs. Runs are serial, without overlapping builds or
|
||||||
|
FEM jobs during timing.
|
||||||
|
|
||||||
Frozen comparisons start FGMRES from zero on the same saved state and right-hand
|
Frozen comparisons start FGMRES from zero on the same saved state and
|
||||||
side. Each role constructs a fresh inverse, including its own specification
|
right-hand side. Each role constructs a fresh inverse, including its own
|
||||||
border responses. The restart length is 160, the initial cap is 200 iterations,
|
specification border responses. The restart length is 160, the initial cap is
|
||||||
and the required relative full-J true defect is 0.03. The independently applied
|
200 iterations, and the required relative full-J true defect is 0.03. The
|
||||||
full Jacobian decides acceptance; the Krylov recurrence flag alone does not.
|
independently applied full Jacobian decides acceptance; the Krylov recurrence
|
||||||
All accepted/trial state buffers, normalization factors, preparation generation,
|
flag alone does not. All accepted/trial state buffers, normalization factors,
|
||||||
and a deterministic full-J probe must remain unchanged.
|
preparation generation, and a deterministic full-J probe must remain
|
||||||
|
unchanged.
|
||||||
|
|
||||||
Costs include inverse construction, normalized binding, Krylov setup, Krylov
|
Costs include inverse construction, normalized binding, Krylov setup, Krylov
|
||||||
solve, and full-J verification. Extra diagnostic applications and artifact I/O
|
solve, and full-J verification. Extra diagnostic applications and artifact I/O
|
||||||
@@ -37,30 +39,32 @@ physical convergence.
|
|||||||
|
|
||||||
## Existing two-way coupling: negative controls
|
## Existing two-way coupling: negative controls
|
||||||
|
|
||||||
`screen_v1` uses source `018fc1c`, before the cached cross-action optimization.
|
`screen_v1` uses source `018fc1c`, before the cached cross-action
|
||||||
|
optimization.
|
||||||
|
|
||||||
| Saved state | Inverse | Iterations | Full-J relative defect | Complete verified cost (s) |
|
| Saved state | Inverse | Iterations | Full-J relative defect | Complete verified cost (s) |
|
||||||
|---|---|---:|---:|---:|
|
|---|---|---:|---:|---:|
|
||||||
| n=1.5, J=0 plateau | independent | 200 | 0.0590170471860 | 87.9302 |
|
| n = 1.5, J = 0 plateau | independent | 200 | 0.0590170471860 | 87.9302 |
|
||||||
| same | stellar LDU | 200 | 0.0600668598825 | 599.5473 |
|
| same | stellar LDU | 200 | 0.0600668598825 | 599.5473 |
|
||||||
| n=1, J=0.1 plateau | independent | 200 | 0.0826534298794 | 86.9409 |
|
| n = 1, J = 0.1 plateau | independent | 200 | 0.0826534298794 | 86.9409 |
|
||||||
| same | stellar LDU | 200 | 0.0720550396371 | 594.2053 |
|
| same | stellar LDU | 200 | 0.0720550396371 | 594.2053 |
|
||||||
|
|
||||||
All four miss the 0.03 gate. Stellar LDU spends 6.82–6.83 times the total cost;
|
All four solves fail the 0.03 gate. Stellar LDU incurs 6.82–6.83 times the
|
||||||
it slightly worsens the n=1.5 result and reduces the rotating defect by 12.82%.
|
total cost; it slightly worsens the n = 1.5 result and reduces the rotating
|
||||||
Mean inverse application costs rise from approximately 0.19 s to 2.7 s, while
|
defect by 12.82%. Mean inverse application time rises from approximately 0.19
|
||||||
full-J actions remain approximately 0.23 s. The uncached gravity-to-material
|
s to 2.7 s, while full-J actions remain approximately 0.23 s. The uncached
|
||||||
force column explains the application-cost anomaly.
|
gravity-to-material force column explains the application-cost anomaly.
|
||||||
|
|
||||||
Poisson contributes 95.53% of the squared n=1.5 baseline defect and 98.28% with
|
Poisson contributes 95.53% of the squared n = 1.5 baseline defect and 98.28%
|
||||||
stellar LDU. For the rotating state those fractions are 85.00% and 98.10%; LDU
|
with stellar LDU. For the rotating state those fractions are 85.00% and
|
||||||
reduces the gradient-row norm by 94.16% but the Poisson norm by only 6.35%.
|
98.10%; LDU reduces the gradient-row norm by 94.16% but the Poisson norm by
|
||||||
These are global normalized block diagnostics, not proof of an exclusively
|
only 6.35%. These are global normalized block diagnostics, not proof of an
|
||||||
exterior error. No exterior weighting is changed.
|
exclusively exterior error. No exterior weighting is changed.
|
||||||
|
|
||||||
The independent artifact audit passes 65 provenance checks and 93 checks per
|
The independent artifact audit passes 65 provenance checks and 93 checks per
|
||||||
case. Both saved states and the normalization data exactly match their producer
|
case. Both saved states and the normalization data exactly match their
|
||||||
artifacts. The two independent baselines reproduce the earlier failed solves.
|
producer artifacts. The two independent baselines reproduce the earlier failed
|
||||||
|
solves.
|
||||||
|
|
||||||
## Candidate mechanisms
|
## Candidate mechanisms
|
||||||
|
|
||||||
@@ -83,103 +87,115 @@ artifacts. The two independent baselines reproduce the earlier failed solves.
|
|||||||
|
|
||||||
## First candidate screen
|
## First candidate screen
|
||||||
|
|
||||||
`candidates_v1` uses source `dc8d4b0` and the same n=1.5, J=0 plateau state.
|
`candidates_v1` uses source `dc8d4b0` and the same n = 1.5, J = 0 plateau
|
||||||
Every fresh independent control reproduces relative defect 0.059017047186 at
|
state. Every fresh independent control reproduces relative defect
|
||||||
200 iterations. Complete control costs remain between 87.53 and 88.25 s.
|
0.059017047186 at 200 iterations. Complete control costs remain between 87.53
|
||||||
|
and 88.25 s.
|
||||||
|
|
||||||
| Candidate | Iterations | Full-J relative defect | Gate | Complete verified cost (s) |
|
| Candidate | Iterations | Full-J relative defect | Gate | Complete verified cost (s) |
|
||||||
|---|---:|---:|---|---:|
|
|---|---:|---:|---|---:|
|
||||||
| Cached stellar LDU | 200 | 0.0600668598779 | fail | 117.4845 |
|
| Cached stellar LDU | 200 | 0.0600668598779 | fail | 117.4845 |
|
||||||
| Consistent gravity Schur, k=1, omega=0.5 | 132 | 0.0292091549685 | pass | 72.3981 |
|
| Consistent gravity Schur, k = 1, omega = 0.5 | 132 | 0.0292091549685 | pass | 72.3981 |
|
||||||
| Cached stellar LDU + consistent gravity Schur | 121 | 0.0285619160766 | pass | 84.7104 |
|
| Cached stellar LDU + consistent gravity Schur | 121 | 0.0285619160766 | pass | 84.7104 |
|
||||||
| Nine-mode coupled shape coarse correction | 200 | 0.0668657989082 | fail | 97.0564 |
|
| Nine-mode coupled shape coarse correction | 200 | 0.0668657989082 | fail | 97.0564 |
|
||||||
|
|
||||||
The cached LDU is 5.1032 times faster than its old execution path at the same
|
At the same iteration cap, the cached LDU reduces total execution time by a
|
||||||
iteration cap, while mean inverse application cost drops 8.0425 times. This is
|
factor of 5.1032 relative to the old path, while mean inverse application time
|
||||||
an execution improvement, not a convergence improvement. Saved inputs and the
|
drops by a factor of 8.0425. This is an execution improvement, not a
|
||||||
full-J probe agree exactly; the final normalized correction changes by only
|
convergence improvement. Saved inputs and the full-J probe agree exactly; the
|
||||||
2.7051e-11 relatively. Both LDU solves fail, and the cached version remains
|
final normalized correction changes by only 2.7051e-11 relatively. Both LDU
|
||||||
34.2% more expensive than the independent control on this state.
|
solves fail, and the cached version remains 34.2% more expensive than the
|
||||||
|
independent control on this state.
|
||||||
|
|
||||||
Gravity refinement is the first candidate to cross the original gate. It lowers
|
Gravity refinement is the first candidate to cross the original gate. It
|
||||||
the Poisson-row defect by 55.4% and the gradient-row defect by 15.0%. The squared
|
lowers the Poisson-row defect by 55.4% and the gradient-row defect by 15.0%.
|
||||||
Poisson share drops from 95.53% to 77.59%; surface and hydrostatic defects grow,
|
The squared Poisson share drops from 95.53% to 77.59%; surface and hydrostatic
|
||||||
so the improvement is judged by the verified global norm. Work changes from
|
defects grow, so the improvement is judged by the verified global norm. Work
|
||||||
400 to 396 mass-inverse applications, 200 to 264 AMG Schur applications, and
|
changes from 400 to 396 mass-inverse applications, 200 to 264 AMG Schur
|
||||||
200 to 132 outer inverse applications. The default has not yet passed the same
|
applications, and 200 to 132 outer inverse applications. At this iteration
|
||||||
gate, so dividing its failed 88 s attempt by 72.4 s is not a convergence speedup.
|
cap, the default does not pass the same gate, so dividing its failed 88 s
|
||||||
The combined LDU saves another eleven iterations but is 17% slower overall.
|
attempt by 72.4 s is not a convergence speedup. The combined LDU saves another
|
||||||
|
eleven iterations relative to gravity refinement alone but takes 17% more time
|
||||||
|
overall.
|
||||||
|
|
||||||
The coarse candidate has all nine modes active, minimum overlap lower bound
|
The coarse candidate has all nine modes active, minimum overlap lower bound
|
||||||
0.79465, and no fallback. Its extra construction costs 8.6012 s, including mode
|
0.79465, and no fallback. Its extra construction costs 8.6012 s, including
|
||||||
completion and eighteen setup Jacobian applications; it stores 28,491,680 bytes
|
mode completion and eighteen setup Jacobian applications; it stores 28,491,680
|
||||||
in persistent vectors. The actual FEM subspace check passes. Nevertheless, its
|
bytes in persistent vectors. The actual FEM subspace check passes.
|
||||||
200-iteration defect worsens by 13.3%. This is a negative numerical result for
|
Nevertheless, its 200-iteration defect worsens by 13.3%. This is a negative
|
||||||
these modes on this state, not evidence about every possible coarse space or
|
numerical result for these modes on this state, not evidence about every
|
||||||
rapidly rotating model. The prototype remains confined to experiments.
|
possible coarse space or rapidly rotating model. The prototype remains
|
||||||
|
confined to experiments.
|
||||||
|
|
||||||
## Validation status
|
## Validation status
|
||||||
|
|
||||||
The integrated library and experiment driver compile with the repository's
|
The integrated library and experiment driver compile with the repository's
|
||||||
Release/ThinLTO configuration. Source dc8d4b0 passes 20 focused serial test cases
|
Release/ThinLTO configuration. Source `dc8d4b0` passes 20 focused serial test
|
||||||
(441,978 assertions), including FEM equivalence, geometry/discretization refresh,
|
cases (441,978 assertions), including FEM equivalence, geometry/discretization
|
||||||
fixed-work algebra, and coarse inverse tests. Distributed unit and coarse tests
|
refresh, fixed-work algebra, and coarse inverse tests. Distributed unit and
|
||||||
pass on two ranks (13 cases and 213 assertions per rank).
|
coarse tests pass on two ranks (13 cases and 213 assertions per rank).
|
||||||
|
|
||||||
The broad real-FEM MPI run aborts because the existing METIS partition gives one
|
The broad real-FEM MPI run aborts because the existing METIS partition gives
|
||||||
rank no compactified vacuum element, which the mapped mass constructor requires.
|
one rank no compactified vacuum element, which the mapped mass constructor
|
||||||
The failing log is retained; this campaign does not claim distributed FEM Schur
|
requires. The failing log is retained; this campaign does not claim
|
||||||
validation. See the gravity refinement note for the exact scope and evidence.
|
distributed FEM Schur validation. See the gravity refinement note for the
|
||||||
|
exact scope and evidence.
|
||||||
|
|
||||||
The evidence checker passes 22 lightweight tests. Independent reviews of the
|
The evidence checker passes 22 lightweight tests. Independent reviews of the
|
||||||
cached LDU and gravity-only cases validate provenance, state/operator invariants,
|
cached LDU and gravity-only cases validate provenance, state/operator
|
||||||
true gates, and child-work accounting. Reviews are stored outside immutable
|
invariants, true gates, and child-work accounting. Reviews are stored outside
|
||||||
campaign directories.
|
immutable campaign directories.
|
||||||
|
|
||||||
Source fcb7833 adds owning experiment-only Newton recipes through the existing
|
Source `fcb7833` adds owning experiment-only Newton recipes through the
|
||||||
ADL preparation interface. They use the same concrete prepared inverses as the
|
existing ADL preparation interface. They use the same concrete prepared
|
||||||
frozen benchmark and the existing context refresh/border lifecycle. The driver
|
inverses as the frozen benchmark and the existing context refresh/border
|
||||||
supports default, gravity-Schur, and stellar-LDU recipes for ordinary Newton,
|
lifecycle. The driver supports default, gravity-Schur, and stellar-LDU recipes
|
||||||
positivity, curvature, and positivity-curvature runs. This adds no public
|
for ordinary Newton, positivity, curvature, and positivity-curvature runs.
|
||||||
physics-facing solver API. The updated driver builds successfully at `87569c0`.
|
This adds no public physics-facing solver API. The updated driver builds
|
||||||
|
successfully at `87569c0`.
|
||||||
|
|
||||||
## Equal-accuracy confirmation
|
## Equal-accuracy confirmation
|
||||||
|
|
||||||
`confirmation_v1` uses source `87569c0`, restart160 and a maximum of600 iterations
|
`confirmation_v1` uses source `87569c0`, a restart length of 160, and a
|
||||||
for both roles. The target remains a freshly verified relative defect of0.03.
|
maximum of 600 iterations for both roles. The target remains a freshly
|
||||||
|
verified relative defect of 0.03.
|
||||||
|
|
||||||
| State | Inverse | Iterations | Full-J relative defect | Gate | Complete verified cost (s) |
|
| State | Inverse | Iterations | Full-J relative defect | Gate | Complete verified cost (s) |
|
||||||
|---|---|---:|---:|---|---:|
|
|---|---|---:|---:|---|---:|
|
||||||
| n=1.5, J=0 plateau | independent | 231 | 0.0290033752814 | pass | 100.9943 |
|
| n = 1.5, J = 0 plateau | independent | 231 | 0.0290033752814 | pass | 100.9943 |
|
||||||
| same | gravity Schur k=1, omega=0.5 | 132 | 0.0292091549685 | pass | 72.3727 |
|
| same | gravity Schur k = 1, omega = 0.5 | 132 | 0.0292091549685 | pass | 72.3727 |
|
||||||
| n=1, J=0.1 plateau | independent | 600 | 0.0739197073237 | fail | 257.9399 |
|
| n = 1, J = 0.1 plateau | independent | 600 | 0.0739197073237 | fail | 257.9399 |
|
||||||
| same | gravity Schur k=1, omega=0.5 | 600 | 0.0408505998829 | fail | 321.5918 |
|
| same | gravity Schur k = 1, omega = 0.5 | 600 | 0.0408505998829 | fail | 321.5918 |
|
||||||
|
|
||||||
The n=1.5 speedup to the same requested accuracy is **1.39548x**, or28.34% less
|
For n = 1.5, the frozen linear solve speedup to the same requested accuracy is
|
||||||
complete cost and42.86% fewer iterations. The candidate repeats its earlier132
|
**1.39548x**, with 28.34% less complete cost and 42.86% fewer iterations. The
|
||||||
iterations and72.3981s timing closely. Both endpoints overshoot the same stopping
|
candidate repeats its earlier 132 iterations, with timing close to the earlier
|
||||||
threshold slightly; neither tolerance nor the full-J check was relaxed.
|
72.3981 s. Both endpoints finish slightly below the same stopping threshold;
|
||||||
|
neither tolerance nor the full-J check was relaxed.
|
||||||
|
|
||||||
Rotation behaves differently. Refinement reduces the600-step defect by44.74%,
|
Rotation behaves differently. Refinement reduces the 600-step defect by
|
||||||
but costs24.68% more and still fails. The remaining gradient and Poisson defects
|
44.74%, but costs 24.68% more and still fails the gate. The remaining gradient
|
||||||
contribute0.02664 and0.03018 to the global relative norm. The older rotating LDU
|
and Poisson defects contribute 0.02664 and 0.03018 to the global relative
|
||||||
control reduced the gradient contribution to0.001813 while leaving a large
|
norm. The older rotating LDU control reduced the gradient contribution to
|
||||||
Poisson contribution. This supports one complementary LDU+Schur follow-up; it
|
0.001813 while leaving a large Poisson contribution. This supports one
|
||||||
neither proves a gradient floor nor permits multiplying the separate gains.
|
complementary LDU+Schur follow-up; it neither proves a gradient floor nor
|
||||||
|
permits multiplying the separate gains.
|
||||||
|
|
||||||
All73 provenance and186 case checks pass. The reproducible figure and plotting
|
All 73 provenance checks and 186 case checks pass. The reproducible figure and
|
||||||
provenance are in `confirmation_v1_figures`; reported Krylov histories are shown
|
plotting provenance are in `confirmation_v1_figures`; reported Krylov
|
||||||
separately from independently verified final points. Plotting used an existing
|
histories are shown separately from independently verified final points.
|
||||||
compatible Python environment and installed no dependencies.
|
Plotting used an existing compatible Python environment and installed no
|
||||||
|
dependencies.
|
||||||
|
|
||||||
## Easy nonlinear and physical regression
|
## Easy nonlinear and physical regression
|
||||||
|
|
||||||
The first two `newton_v1` cases use source `bed1893`, the same n=1, J=0 model with
|
The first two `newton_v1` cases use source `bed1893`, the same n = 1, J = 0
|
||||||
no central-density constraint, positivity strategy, and identical tolerances.
|
model with no central-density constraint, positivity strategy, and identical
|
||||||
Both converge in six accepted full steps, with no repairs or rejections. Initial
|
tolerances. Both converge in six accepted full steps, with no repairs or
|
||||||
physical diagnostics and layout are byte-identical; all linear true gates pass.
|
rejections. Initial physical diagnostics and layout are byte-identical; all
|
||||||
|
linear true gates pass.
|
||||||
|
|
||||||
| Measure | Independent | Gravity Schur k=1, omega=0.5 |
|
| Measure | Independent | Gravity Schur k = 1, omega = 0.5 |
|
||||||
|---|---:|---:|
|
|---|---:|---:|
|
||||||
| Total linear iterations | 307 | 258 |
|
| Total linear iterations | 307 | 258 |
|
||||||
| Summed Newton iteration time (s) | 191.068 | 199.375 |
|
| Summed Newton iteration time (s) | 191.068 | 199.375 |
|
||||||
@@ -187,17 +203,17 @@ physical diagnostics and layout are byte-identical; all linear true gates pass.
|
|||||||
| Complete diagnostic-run wall time (s) | 251.720 | 261.285 |
|
| Complete diagnostic-run wall time (s) | 251.720 | 261.285 |
|
||||||
| Final nonlinear residual | 1.65157e-13 | 1.05839e-13 |
|
| Final nonlinear residual | 1.65157e-13 | 1.05839e-13 |
|
||||||
|
|
||||||
Both final residuals are below the shared1.81187e-12 nonlinear target. Fewer
|
Both final residuals are below the shared 1.81187e-12 nonlinear target. Fewer
|
||||||
iterations do not produce an easy-case speedup: Newton time rises4.35% and full
|
iterations do not produce an easy-case speedup: Newton time rises by 4.35% and
|
||||||
run time3.80%. The full run includes physical validation and artifact I/O; it is
|
full run time by 3.80%. The full run includes physical validation and artifact
|
||||||
not presented as pure solver cost.
|
I/O; it is not presented as pure solver cost.
|
||||||
|
|
||||||
All eight virial errors (four definitions at quadrature14 and18) lie between
|
All eight virial errors (four definitions at quadrature orders 14 and 18) lie
|
||||||
2.61811e-7 and3.73092e-7 for both models, comfortably below1e-5. Maximum endpoint
|
between 2.61811e-7 and 3.73092e-7 for both models, comfortably below 1e-5. The
|
||||||
coefficient difference is2.679e-11; radius difference is3.48e-14. The independent
|
maximum endpoint coefficient difference is 2.679e-11; the radius difference is
|
||||||
paired audit also checks mass, density/enthalpy admissibility and local EOS
|
3.48e-14. The independent paired audit also checks mass, density/enthalpy
|
||||||
metrics. This preserves the existing physical regression, rather than adding
|
admissibility and local EOS metrics. This preserves the existing physical
|
||||||
independent ESTER validation.
|
regression, rather than adding independent ESTER validation.
|
||||||
|
|
||||||
The two hard nonlinear cases and the targeted rotating coupling follow-up are
|
The two hard nonlinear cases and the targeted rotating coupling follow-up are
|
||||||
still running or pending. Production defaults remain unchanged: the stronger
|
still running or pending. Production defaults remain unchanged: the stronger
|
||||||
|
|||||||
Reference in New Issue
Block a user