Skip to content

Limit StaticArray CUDA limited-memory Broyden smoke test#1014

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/cuda-limit-staticarray-lmbroyden
Jul 9, 2026
Merged

Limit StaticArray CUDA limited-memory Broyden smoke test#1014
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/cuda-limit-staticarray-lmbroyden

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

This PR should be ignored until reviewed by @ChrisRackauckas.

Summary

  • Keep scalar CUDA kernel-smoke coverage for SimpleLimitedMemoryBroyden at the default threshold = Val(27).
  • Use threshold = Val(2) only for StaticArray SimpleLimitedMemoryBroyden kernel-smoke variants, including the line-search variant.

Context

The latest Sublibrary CI failure was lib/SimpleNonlinearSolve [CUDA], where the self-hosted GPU runner OOMed while launching the SVector{2,Float32} kernel for SimpleLimitedMemoryBroyden{..., Val{27}, ...}. The log reported CUDA memory pool usage of 0 bytes, pointing to CUDA compile/module pressure rather than runtime array allocation.

Validation

  • timeout 3600 env NONLINEARSOLVE_TEST_GROUP=CUDA ~/.juliaup/bin/julia +1 --project=. -e 'using Pkg; Pkg.test(; julia_args=["--check-bounds=auto"])' from lib/SimpleNonlinearSolve\n - Passed locally, but both CUDA testsets reported Total 0 because this machine has CUDA.functional() = false and CUDA.has_cuda() = false.\n- ~/.juliaup/bin/julia +1 --startup-file=no -e 'Meta.parseall(read("lib/SimpleNonlinearSolve/test/gpu/cuda_tests__item2.jl", String)); println("parse ok")'\n- git diff --check\n- Runic.format_file(...; inplace=true) on the changed file from a temporary Julia environment with Runic v1.7.0\n

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Scratchpad update: the SimpleNonlinearSolve CUDA sublibrary lane passed in CI (lib/SimpleNonlinearSolve [CUDA], 22m56s), which is the lane targeted by this threshold change. The remaining red checks are unrelated to the CUDA patch: MTK downstream is covered by SciML/.github#110, and the Adjoint resolver failure is covered by the temporary NonlinearSolve guard in #1017 plus the upstream SciMLBase FunctionProperties guard in SciMLBase#1424.

@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review July 9, 2026 11:05
@ChrisRackauckas
ChrisRackauckas merged commit 7f672ce into SciML:master Jul 9, 2026
73 of 77 checks 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.

2 participants