Skip to content

Use GEMM in L2 persistence CI test#51

Merged
msaroufim merged 1 commit into
masterfrom
codex/l4-l2-persistence-gemm
Jun 10, 2026
Merged

Use GEMM in L2 persistence CI test#51
msaroufim merged 1 commit into
masterfrom
codex/l4-l2-persistence-gemm

Conversation

@msaroufim

Copy link
Copy Markdown
Member

Summary

Update the L2 persistence regression test to use a single-column GEMM (torch.mm(w, x[:, None])) instead of GEMV (torch.mv). The RHS remains logically vector-shaped for the benchmark, but keeping it rank-2 avoids the flaky cublasSgemv path that failed in Modal L4 CI.

Root cause

The failing GitHub Actions job hit CUBLAS_STATUS_INVALID_VALUE inside torch.mv(w, x) while generating expected outputs for test/l2_persistence.py. The previous lazy CUDA initialization fix moved the failure site but did not remove the fragile cuBLAS GEMV dispatch.

Validation

  • python3 -m py_compile test/l2_persistence.py
  • git diff --check
  • Full Modal L4 GPU test suite using the failed workflow wheel artifact from run 27183274114: passed, with l2_persistence.py reporting hacked/honest median ratio = 0.998 and OK: L2 persistence confers no benchmark advantage.
  • Narrowed Modal L4 l2_persistence.py rerun 3 additional times with the same failed workflow wheel artifact: all passed.

Notes

T4 is not a useful target for this regression test because Turing does not support the persisting-L2 behavior being exercised. L4 remains the intended CI target for this check.

@msaroufim
msaroufim marked this pull request as ready for review June 10, 2026 03:20
@msaroufim
msaroufim merged commit 07424cc into master Jun 10, 2026
1 check passed
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