You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 1d86333
Browse filesBrowse the repository at this point in the historyBrowse files
perf: remove unused work from FO Gauss-2 energy tests (#590)
Accelerate the full-orbit Gauss-2 energy tests with exact
sparse/recurrent field evaluation, a joint FortSym kernel from embedding
jets through inverse metric and Hessian, and prepared radial
polynomials. The full registered target now takes **295.38 s** on
sCluster node12, versus **366.86 s** for the prior branch head on the
same node (19.5% faster).
## Risk tier
- [x] T4: numerical kernels and generated-source integration; inherited
test scheduling changes.
## Correctness contract
Reduce evaluator cost while retaining canonical coordinates, Gaussian
units, seeds, all 33,333,334 steps, step policy, Newton tolerances,
every-step diagnostics and the 1e-5 energy criterion. No unsafe FP
flags, sampling, shortened orbit or new test tier.
The [joint
generator](https://github.com/itpplasma/SIMPLE/blob/c398473965a7a0e36b3efdf07e17390bf1e4b997/concept/fo_symplectic_proof/gen/gen_fo_joint.f90)
shares metric/inverse/Hessian expressions without expanding dense
metric-derivative tensors. The [radial
generator](https://github.com/itpplasma/SIMPLE/blob/c398473965a7a0e36b3efdf07e17390bf1e4b997/concept/fo_symplectic_proof/gen/gen_fo_poly.f90)
prepares exact polynomials through degree eight; higher orders retain
their complete recurrence evaluation. The [axis
generator](https://github.com/itpplasma/SIMPLE/blob/c398473965a7a0e36b3efdf07e17390bf1e4b997/concept/fo_symplectic_proof/gen/gen_fo_poly_axis.f90)
omits only powers proved structurally zero. [Handwritten
code](https://github.com/itpplasma/SIMPLE/blob/c398473965a7a0e36b3efdf07e17390bf1e4b997/concept/fo_symplectic_proof/spectre_fo_gauss2.f90)
owns orchestration; normal builds need no CAS.
## Tests added
- Exact simplification/readback checks: 778 total, including 177
joint-kernel, 93 radial-preparation and 54 axis-jet checks.
- Existing frozen-provider bitwise, phase, derivative, first/full RHS,
map and gauge-rejection oracles retain their thresholds. Eight affected
Make fast tests and registered FortSym regeneration pass.
- All 19 normal cases pass on both current origin/main f189f16 and this
revision. `GL_A(1,2)+=2e-3` gives identical 15 FAIL / 4 PASS matrices,
causes and failure steps.
- Every state and H compared over all 33,333,334 steps: largest
state-component difference **2.08952e-09**, H difference **1.54824e-13**
(5.1608e-12 relative). Differences are roundoff-only; bitwise states are
not claimed.
## Golden-record impact
- [x] Production golden-reference files unchanged.
All 51 concept energy envelopes differ through rounding. Maximum
energy-margin delta: **1.3531e-09**; closest final margin:
**2.45953782e-06**. The target error is 6.9313566e-7 with margin
9.30686434e-6. No acceptance criterion was relaxed.
## Failure modes considered
Wrong derivatives, radial scaling, invalid power omission, Fourier
signs, gauge jumps and weakened energy detection are checked by the
independent provider/map oracles, exact identities and deliberate
tableau corruption. Public direct-phase geometry and potential queries
retain the bitwise frozen-provider check.
## Manual validation
GCC 12.2, deterministic Release, one thread, AMD EPYC 9455. Node12
sequential registered runs: prior head 366.86 s, final 295.38 s. Node10
full traced qualification: 332.21 s; its prior-head screening run was
424.70 s. All benchmark probes used the complete target orbit.
Two authorized Slurm bundles requested 16 CPUs / 32 GiB each and
completed successfully. Peak guarded memory was 20,324 / 10,263 MiB.
Node-local scratch and both remote home staging directories are removed;
evidence is retained locally under `build/fo_perf_round4/`. Both
fixtures, all 22 changed sources and both instrumented drivers were
audited against frozen sources.
## Verification
Make fast tests, registered regeneration, pre-commit and changed-line
lint pass. CI: six successful checks / eight skips under the existing
draft policy. The complete science suite and fault audit were verified
manually above. The PR remains a draft; no reviewer, mention or merge is
requested.
Chris&AI
| Y | 2026-10-20 | Accelerate the standalone full-orbit Gauss-2 energy/oracle evaluator with exact coefficient sparsity, shared recurrent Fourier phases and FortSym-generated field/Hessian contractions. The algebraically equivalent factored Hessian can change roundoff; orbit length, seeds, step policy, tolerances and energy checks are unchanged. |
8
9
| Y | 2026-10-20 | Keep classifier surface Bmin/Bmax per particle. Multi-surface OpenMP classification plots now retain the serial trapped-passing boundary in `fort.20000`; particle classification and loss accounting are unchanged. |
9
10
| N | 2026-10-16 | SIMPLE no longer imports the IEEE intrinsic modules; `finite_check` provides `is_finite` and `quiet_nan`. gfortran saved and restored the floating-point environment in every procedure with a local `USE` of a module whose dependencies imported IEEE, including `velo_can` and `integ_to_ref_albert` in the tracing loop. Albert-coordinate tracing is about 1.2x faster; outputs are byte-identical. |
10
11
| Y | 2026-10-16 | SPECTRE hybrid tests the full-orbit exit distance once per radian of gyration and at the end of each microstep instead of after every RK45 substep (about 40% of full-orbit time). Exits occur up to 1 rad later; FO-everywhere orbits are unchanged. See `concept/spectre_loss_study/results/profile/`. |
0 commit comments