Skip to content

e2e gate: a device lane for adaptive_cartesian_gpu, and a host twin for the worst calibration row - #369

Merged
oshaughnessy-junior merged 2 commits into
rift_O4dfrom
claude/e2e-acg-device-lane
Sep 19, 2026
Merged

oshaughnessy-junior merged 2 commits into
rift_O4dfrom
claude/e2e-acg-device-lane

Conversation

@oshaughnessy-junior

@oshaughnessy-junior oshaughnessy-junior commented Sep 18, 2026 •

Copy link
Copy Markdown
Owner

Closes the two coverage gaps section 4 of the e2e analytic gate recorded rather
than fixed, so that #368 could stay narrow. #368 has merged, so this sits straight
on rift_O4d.

--sampler-method adaptive_cartesian_gpu is mcsamplerGPU standalone and the ILE
driver's own default. It reaches compute_hist through its own integrate
adaptation block rather than through a portfolio member, and had no lane. It now
has prior-only and A=8 B=2 device lanes at --n-max 60000. Two mutations of that
conversion, on a device: sending the histogram to the host makes the new lane
fail, deleting the conversion leaves it passing, which is the portfolio lane's job.

The device prior-only adaptive_cartesian row held the worst |z| and was the one
row with no host twin. It has one now, agreeing per seed on ntotal and n_eff.

Verified

where result
ldas-grid, cupy absent 18 passed, 11 skipped
ldas-pcdev12 CUDA slot 0 (A100-SXM4-80GB), cupy 12.0.0, RIFT_CI_REQUIRE_GPU=1 29 passed, 0 skipped, 269 s
make_e2e_calibration.py --seeds 8, ten device rows, ldas-pcdev12 all eight pre-existing rows identical to the ldas-pcdev2 numbers
host prior-only, adaptive_cartesian, 8 seeds, ldas-grid 2.39 / 0.0091 / 3262
expect_device broken with cuda="" fires; the same arm still completes, z -0.79
.travis/test-ci-roster.py PASS
collected 29 tests, 11 device lanes

Worst |z| in the table moves from 2.39 to 2.54, on the new
GPU A=8 B=2, adaptive_cartesian_gpu row. Z_TOLERANCE stays at 5.

Pre-undraft review (second commit)

Three findings, all prose, none in the lanes.

  1. Fixed. The existing test_adaptive_cartesian comment claimed --n-max 60000 makes that lane stop on --n-eff at ntotal 30000. That holds at seed
    1000 only; over eight seeds ntotal runs 30000 to 60000. I had carried the claim
    into the new _LANE_KW note. Both now state the distribution.
  2. Reported, not fixed. Nothing asserts the _AC_N_MAX override is still
    applied: at 20000 the device lane still passes. A ntotal < n_max guard was
    measured and rejected, because it would flake on adaptive_cartesian seed 1004.
  3. Fixed. Added the expect_device break-it control to the file, since a host
    run of the new lane is otherwise a passing physics run.

🤖 Generated with Claude Code

…or the worst row

Closes the two coverage gaps section 4 recorded rather than fixed, to keep #368
narrow.

adaptive_cartesian_gpu is mcsamplerGPU standalone and the ILE driver's own
default. It reaches compute_hist through its own integrate adaptation block, not
through a portfolio member, and had no lane. It takes _AC_N_MAX, measured: at
--n-max 20000 with the factor on it stops on the budget at n_eff 230.

The device prior-only adaptive_cartesian row held the worst |z| in the
calibration table and had no host twin. It has one now, and the twin returns the
same three columns.

Device table re-derived at 8 seeds on ldas-pcdev12 CUDA slot 0; all eight
pre-existing rows identical to the ldas-pcdev2 numbers. Worst |z| is now 2.54.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@oshaughnessy-junior
oshaughnessy-junior deployed to private-review-dispatch-rift September 18, 2026 22:18 — with GitHub Actions Active
Three findings, all in prose, none in the lanes.

The comment on test_adaptive_cartesian said --n-max 60000 makes that lane stop on
--n-eff at ntotal 30000. That is seed 1000. Over eight seeds ntotal runs 30000 to
60000, so seed 1004 still spends the whole budget; the cap buys the n_eff column
(250-319 instead of 91-220), not the stopping criterion. I had carried the same
claim into the new _LANE_KW note.

Nothing asserts the _AC_N_MAX override is still applied: at 20000 the device lane
passes. A ntotal < n_max guard was measured and rejected, because it would flake
on adaptive_cartesian seed 1004. Recorded rather than added.

expect_device broken on purpose for the new lane: the same arguments with cuda=""
complete on ldas-grid with a correct answer (z -0.79), so only the marker
separates a host run from a device run there.

Comment-only; ldas-grid 18 passed, 11 skipped.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@oshaughnessy-junior
oshaughnessy-junior marked this pull request as ready for review September 18, 2026 23:03
@oshaughnessy-junior
oshaughnessy-junior deployed to private-review-dispatch-rift September 18, 2026 23:03 — with GitHub Actions Active
@oshaughnessy-junior
oshaughnessy-junior merged commit 3267c6a into rift_O4d Sep 19, 2026
35 of 36 checks passed
@oshaughnessy-junior
oshaughnessy-junior deployed to private-review-dispatch-rift September 19, 2026 00:03 — with GitHub Actions Active

This branch was successfully deployed

1 active deployment
private-review-dispatch-rift — 54b391e8 Deployed Sep 19, 2026 by oshaughnessy-junior via Dispatch exact RIFT PR generation #1417
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant