Skip to content

chore: bump cpu/cuda pins to the RLS/JRLS kernel fixes and test coverage - #68

Merged
balbasty merged 1 commit into
mainfrom
claude/bump-pins-rls-kernel-fixes
Aug 9, 2026
Merged

chore: bump cpu/cuda pins to the RLS/JRLS kernel fixes and test coverage#68
balbasty merged 1 commit into
mainfrom
claude/bump-pins-rls-kernel-fixes

Conversation

@balbasty

Copy link
Copy Markdown
Collaborator

Final link in the propagation chain from an independent re-review of the fastfields-cpu-lib#65 RLS/JRLS fix chain.

cuda: b8e5e9c6ae52bd (fastfields-cuda-lib#46)

Completes propagation of fastfields-cuda-impl#41, which moved cuda-impl's kernels pin to main after it had fallen nine commits behind. The CUDA path was missing two field/flow regulariser correctness fixes the CPU path already had:

fixeffect
fastfields-kernels#64make_kernel_bending_rls rescaled its whole coefficient table by 0.25, running the membrane penalty at half strength whenever the bending-order RLS/JRLS kernel is built (bending != 0 alongside membrane != 0). Upstream measured max |matvec_bending - matvec_bending_rls(w=1)| of 1.8e+00 (2D) / 1.7e+00 (3D) before, ~1e-14 after. The existing self-adjointness tests are blind to it — a term at the wrong strength stays perfectly symmetric.
fastfields-kernels#52guards the weight-map neighbour reads in the RLS/JRLS kernels (out-of-bounds read at some boundaries).

With this, the CPU and CUDA paths finally sit on the same kernels commit (b09b284).

cpu: bf57a0213af367 (fastfields-cpu-lib#83)

Adds ground-truth coverage for the wc == 1 (JRLS broadcast) direction, which previously had none. The #65 predicate bug mis-routed both weight-map layouts, but only wc == nc was regression-tested; the wc == 1 case went to the per-channel _rls kernels and read out of bounds past the single weight channel, yet every test exercising it stayed green because each compared the operator against itself.

Measured on that branch, reverting only #73's predicate flip: 18284 checks / 6141 failures, of which 3056 come from the newly-covered direction (previously 0). Clean run: 18284 / 0.

Also unswaps the RLS/JRLS labels in cpu-lib's public header and test comments.

Verification

No source changes here. Both sub-libraries' own CI is green on the exact pinned commits, including fastfields-cuda-lib#46's 51-minute nvcc build.

🤖 Generated with Claude Code

https://claude.ai/code/session_016AjQcY78NgbagPSbPJRr6Z


Generated by Claude Code

cuda: b8e5e9c -> 6ae52bd (fastfields-cuda-lib#46)
Completes the propagation of fastfields-cuda-impl#41, which moved
cuda-impl's kernels pin to main after it had fallen nine commits behind.
The CUDA path was missing two field/flow regulariser correctness fixes the
CPU path already had:
fastfields-kernels#64 make_kernel_bending_rls rescaled its whole
coefficient table by 0.25, running the membrane
penalty at half strength whenever the
bending-order RLS/JRLS kernel is built. Upstream
measured max |matvec_bending -
matvec_bending_rls(w=1)| of 1.8e+00 (2D) /
1.7e+00 (3D) before, ~1e-14 after.
fastfields-kernels#52 guards the weight-map neighbour reads in the
RLS/JRLS kernels (out-of-bounds read).
With this the CPU and CUDA paths finally sit on the same kernels commit
(b09b284).
cpu: bf57a02 -> 13af367 (fastfields-cpu-lib#83)
Adds ground-truth coverage for the wc == 1 (JRLS broadcast) direction,
which had none: the #65 predicate bug mis-routed both weight-map layouts,
but only wc == nc was regression-tested. Also unswaps the RLS/JRLS labels
in cpu-lib's public header and test comments.
No source changes here; both sub-libraries' own CI (including cuda-lib's
51-minute nvcc build) is green on the pinned commits.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AjQcY78NgbagPSbPJRr6Z
@github-actions

Copy link
Copy Markdown

Submodule staleness (non-blocking -- fastfields-lib#15)

submodulepinned committracksstatusbehind by
cpu13af367fastfields/fastfields-cpu-lib@mainup to date0
cuda6ae52bdfastfields/fastfields-cuda-lib@mainup to date0

@balbasty
balbasty merged commit 3446606 into mainAug 9, 2026
4 checks passed
@balbasty
balbasty deleted the claude/bump-pins-rls-kernel-fixes branch August 9, 2026 17:51
Sign up for freeto 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.

2 participants

@balbasty@claude