63 lines
3.7 KiB
Markdown
63 lines
3.7 KiB
Markdown
# Selective LES normalization integration on dev8403956
|
|
|
|
This change reuses the reviewed correction from 5465832 without merging its
|
|
branch history. The only production change is the two closed-form coefficients
|
|
18 -> 18 sqrt(2) and their explanatory comments in turbulence_smag.cuh. Its SHA256
|
|
is a3db46c2e7d27530b2d1436e65cdbed0b72cc7e047bfbeef2a640877271b51aa.
|
|
Defaults, iterative/deviatoric/capped closure, collision dispatch, AMR guards,
|
|
and all other production source files are unchanged.
|
|
|
|
## Separate source contract; unchanged experiment
|
|
|
|
The single existing flow runner now accepts `--experiment dev8403956`.
|
|
Its separate source_pins_dev8403956.json pins all 101 production files from the
|
|
committed 8403956 baseline; corrected mode permits only the exact reviewed
|
|
header substitution. Results record the actual checkout commit, import path,
|
|
experiment name and manifest SHA256. No arbitrary manifest-path override exists.
|
|
|
|
Omitting the option still selects the original historical source manifest.
|
|
That manifest, the original paired receipts, scalar preparation manifests and
|
|
independent continuum oracle are unchanged. Historical baseline and corrected
|
|
receipts remain evidence for their own exact sources, not new dev receipts.
|
|
Historical guards intentionally reject this different dev source tree. Eight
|
|
production files already differed between the historical source snapshot and
|
|
8403956; neither the old manifest nor its acceptance is silently regenerated.
|
|
|
|
The physical experiment and every numerical acceptance threshold are unchanged:
|
|
8 x 34 nodes, halfway y walls, periodic x, unforced D2Q9/SRT, shifted FP32,
|
|
double-buffer streaming, Cs=0/.16/1, checkpoints 519/1038/2075. Each case has one
|
|
actual advancing warm-up followed by complete initial-state restoration before
|
|
READY. Total launches are 6,225 measured plus three warm-ups. Cs=1 remains an
|
|
amplified diagnostic, not a physical coefficient recommendation.
|
|
|
|
## Host checks
|
|
|
|
PYTHONDONTWRITEBYTECODE=1 python -m unittest discover -s tests/unit -p 'test_smagorinsky_normalization.py' -v
|
|
PYTHONDONTWRITEBYTECODE=1 python -m unittest discover -s tests/unit -p 'test_les_flow_*.py' -v
|
|
|
|
The direct-current-header test is copied unchanged from reviewed 5465832:
|
|
120 tensor parameter cases, Cs=0/equilibrium and omega guards, converged
|
|
trace-free iterative comparison, and mutation detection in both lattice
|
|
algebras. This is scalar D2/D3 algebra coverage, not 3D-flow qualification.
|
|
Flow tests retain analytic/reference checks and add current named-source,
|
|
reverse-patched baseline, variant rejection, unrelated-source tampering and
|
|
immutable historical-default checks. The temporary baseline is constructed
|
|
only inside a test directory; production is never reverse-patched.
|
|
|
|
## Pending final-commit GPU gate
|
|
|
|
After independent review and explicit executor authorization, run from the
|
|
exact committed candidate checkout, selecting the authorized physical GPU:
|
|
|
|
CUDA_VISIBLE_DEVICES=<physical-GPU> PYTHONDONTWRITEBYTECODE=1 python tests/validation/run_uniform_les_flow.py --root "$PWD" --experiment dev8403956 --variant corrected --run-gpu --device 0 --output <new-evidence-directory>/corrected.json
|
|
|
|
Retain all source hashes, exact commit/import/device identity, manifest hash,
|
|
three READY/reset records, complete result JSON, stdout/stderr and actual exit.
|
|
Require all frozen gates, DONE passed=true and exit 0. Compare with historical
|
|
corrected evidence without relabeling it as current evidence. The old-vs-new
|
|
normalization discrimination already exists; no new baseline GPU run is needed
|
|
unless review finds a changed exercised uniform solver path.
|
|
|
|
No GPU result is claimed by this integration preparation. This does not expand
|
|
LES qualification to MRT, forcing, AMR LES or three-dimensional turbulent flows.
|