Repository navigation
feat(fixed-light): lever 2 verdict — sparse log det H 1.13x on numba CPU, A100 identity, CPU-only lever (#267) - #271
Conversation
#267) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…CPU, A100 identity, CPU-only lever (#267) RAL job 343353 (gpu partition CPUs-only, 1 thread, control = lever 1): route b memo-ON whole call 302.709 -> 267.448 ms, inversion.log_det_regularization_matrix_term 37.480 -> 6.508 ms; all cell gates PASS; witness W1-W5 PASS (route fires once, log det rel 1.2e-9, log evidence rel 2.3e-10, gates admit, 6.0x same-matrix). RAL job 343354 (A100 fp64, fixed_light.py): all log_evidence_terms bit-identical; the A100's dense Cholesky of H is 1.13 ms, so the lever stays on the numpy path. Cumulative levers 1+2 vs merge base: 413.3 -> 267.4 ms (1.55x). Note section added to results/notes/fixed_lens_light_levers_2026_09.md (lever 3 pending). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Closed as superseded by #272, not merged — every commit on this branch lands on Why not merged in stack order: the |
Summary
Lever 2 of #267, stacked on #269 (lever 1): the CPU A/B and A100 rows for PyAutoArray's sparse log det of the split-regularization
H(library PR: PyAutoLabs/PyAutoArray#554), the five-pin witness, and the lever 2 section of the phase-3 verdict note.Verdict
Control = lever 1, feature = lever 2, so the difference isolates lever 2. On the production numba CPU path (HST Delaunay N=1500, route b, memo ON, 1 thread, RAL job 343353 run alone on the node): whole call 302.7 → 267.4 ms (1.13x);
inversion.log_det_regularization_matrix_term37.5 → 6.5 ms; every other row flat; 4/4 cell gates; witness W1–W5 PASS (route fires once, log det rel 1.2e-9, log evidence rel 2.3e-10 inside the 1e-9 pin, gates admit, 6.0x same-matrix). A100 (job 343354,fixed_light.pycell): alllog_evidence_termsbit-identical; the A100's dense Cholesky of H is 1.13 ms, so the lever is CPU-only by measurement. Cumulative levers 1+2 vs merge base: 413.3 → 267.4 ms, 1.55x.Scripts Changed
hpc/batch_cpu/submit_breakdown_imaging_fixed_light_numba_levers_l2_delaunay_ral_hst_fp64— new: two-arm Leg D run, control lever 1 / feature lever 2 on privatePYTHONPATHcheckouts,gpupartition CPUs-only, thread env pinned to 1; in-job proof the arms differ by exactly lever 2 (SPARSE_LOG_DET_*present only in the feature tree); witness in the feature arm.hpc/batch_gpu/submit_breakdown_imaging_fixed_light_numba_levers_l2_delaunay_a100_hst_fp64— new: two-armfixed_light.pyDelaunay cell on the A100 (thedelaunay.pycell has no log-det row), fp64, fresh compile/autotune cache per arm.scripts/imaging/likelihood_breakdown/fixed_light_numba_levers_l2_witness.py— new: Part A is lever 1's witness verbatim (same system); W1 route fires once, W2 sparse vs dense-forced log det with the H eigenvalue range, W3figure_of_merit≤ 1e-9, W4 both regime gates admit, W5 same-matrix timing.results/breakdown/imaging/— 4 JSON + 4 PNG + witness JSON.results/notes/fixed_lens_light_levers_2026_09.md— lever 2 sections added (headline, decomposition, A100 row and CPU-only verdict, verdict); Scope, Provenance, Gate roll-up, Next and Artifacts updated; lever 3 pending.Cross-reference
Library change: PyAutoLabs/PyAutoArray#554 (
feature/fixed-light-numba-levers-l2@0b17c292, stacked on #553). Merge order: #269 then this; #553 then PyAutoLabs/PyAutoArray#554.Tracked by #267 (lever 2 of 3).
Heart gate
pyauto-heart readinesswas RED (score 20) at ship time with two release-chain reasons unrelated to this branch — "install verification FAILED (testpypi; checks F)" and "release validation FAILED (stage integrate)" — acknowledged by the human on 2026-09-16 for PR-open only (levers 2 and 3, same reasons as lever 1). Merge stays a human act via/prm.🤖 Generated with Claude Code