test: compare fixed centered reconstruction on audited square faces
This commit is contained in:
1 parent
afa8f6aca1
commit
3552e6ee92
4 files changed
+577
-18
No files matched your search
@@ -548,3 +548,59 @@ bottom/top inner fine quartets its mean delta jx / d(uy)/dx is
|
||||
-/+ 1/(576*tau_f), with opposite adjacent-coarse redistribution.
|
||||
Keep raw values, step-zero rounding and fresh controls: sinusoidal curvature
|
||||
and finite-Mach effects prevent treating this coefficient as an exact gate.
|
||||
|
||||
### Test-only centered straight-face comparison
|
||||
|
||||
`centered_face_square_n128` reuses the square axis-wave POST-G initializer,
|
||||
geometry, native probes and root steps 0–8. It has four fresh cases: U128,
|
||||
U256, current projected R128, and experimental centered R128. This is a
|
||||
qualification-ineligible diagnostic; there is no legacy assessor or new physics gate.
|
||||
|
||||
Only the candidate's private generated fine-level `blocks.cu` changes. A
|
||||
2,112-byte constant mask selects 1,792 rows (448 complete donor quartets).
|
||||
The diagonal projected correction is doubled on straight faces with exactly
|
||||
one unsupported normal axis and both legal tangent neighbors. Donor centers
|
||||
within four root cells of a corner retain the current rule, as do all other
|
||||
patterns, axial populations and rest. The mask is symmetric under transpose
|
||||
and reflection. Its hash and the actual modified source/PTX hashes are retained;
|
||||
production files, restrictions, collision, scheduling and launch arguments stay fixed.
|
||||
A complete quartet has zero summed offset, so each population's quartet mean
|
||||
is preserved. The perpendicular gradient also retains equal characteristic
|
||||
packets; the existing two-hop conservation routing therefore remains applicable.
|
||||
Host tests additionally check the mixed mask through complete two-hop/collision
|
||||
cycles, including corner grazing, and execute the actual edited kernel via C++.
|
||||
The central probes are more than 20 root cells from mask transitions; the
|
||||
reviewed conservative dependency radius is 2.5 root cells per root interval.
|
||||
|
||||
The separate comparison subtracts each group's step-zero residual and the
|
||||
fresh uniform control at matching quadrature (U256 inner, U128 outer). It retains
|
||||
signed density and both momentum components, actual-center gradient normalization,
|
||||
parities, and sign flips. Step 1 requires bottom-inner cross-momentum magnitude
|
||||
improvement greater than its deadband, and top-inner nonworsening within it.
|
||||
Each horizontal face's step-8 RMS combines its inner and outer group means;
|
||||
both must be nonworse. All four vertical groups must remain unchanged within
|
||||
the component deadbands at every sampled root step. The norm
|
||||
`sqrt(drho²/3 + djx² + djy²)` must not worsen beyond its corresponding deadband.
|
||||
Sampled raw-pressure envelope and step-8 global gauged pressure RMS must not
|
||||
worsen beyond the pressure deadband. Nonfinite/nonpositive sampled density,
|
||||
invalid traces, source/build mismatch, or exceeded observed population envelope
|
||||
reject the comparison. A small top signal or sign reversal remains explicit.
|
||||
|
||||
The predeclared shifted population envelope is 1/32. From per-population oracle
|
||||
allowance `6e-8 + 2e-7*1/32`, pairwise moment deadbands are
|
||||
`[1.1925e-6, 7.95e-7, 7.95e-7]`; pressure uses the density deadband divided by 3.
|
||||
Area averaging cannot enlarge this local allowance. These are practical diagnostic
|
||||
deadbands, not certified accumulated root-8 rounding bounds. The envelope is
|
||||
checked on downloaded synchronized ACTIVE populations, not hidden substeps.
|
||||
Known quadratic fine-cell O(h) terms, corner transitions, repeated coupling and
|
||||
stability remain unresolved. Passing permits review of a candidate, not promotion.
|
||||
|
||||
Run the existing `run_case.py` with `--diagnostic centered_face_square_n128
|
||||
--flow shear_wave --re 100 --probe-trace --test-reconstruction current` for
|
||||
U128/U256 (depth 1, constant) and current R128 (depth 2, projected_linear).
|
||||
For candidate R128 use `--test-reconstruction centered_face_v1`. All require
|
||||
an exact clean `--repo`, `--expected-revision`, fresh `--output`, and either
|
||||
`--dry-run` or explicit single-device `--run-gpu`. Compare ordered receipts with
|
||||
`shear_centered.py --repo REPO --expected-revision SHA --output comparison.json
|
||||
U128.json U256.json current.json candidate.json`. Total work is 1,900,544 ACTIVE
|
||||
updates, six build sidecars, and 720 cell-time samples; scalar cap stays 1 MiB/case.
|
||||
Reference in new issue
Block a user