Skip to content

Run ode_gpu.jl in the GPU test group - #659

Merged
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:test/wire-ode-gpu
Sep 26, 2026
Merged

ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:test/wire-ode-gpu

Conversation

@ChrisRackauckas-Claude

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Sep 23, 2026 •

Copy link
Copy Markdown
Member

Summary

test/GPU/ode_gpu.jl was added in 2022 (ArrayPartition CuArray / SecondOrderODEProblem discourse fix) but was never included from any test group — git history shows no deliberate disable, only that it was never wired. This adds it to the GPU group body and adds OrdinaryDiffEq (and LinearAlgebra) with compat to test/GPU/Project.toml so the file can resolve.

Verification

This machine has no GPU, so the ODE GPU tests themselves were not executed. Validated only:

  1. File parses: julia -e 'Meta.parseall(read("test/GPU/ode_gpu.jl", String))' → OK
  2. GPU env resolves in a scratch worktree:
export TMPDIR=/home/crackauc/sandbox/goals/qa-hygiene/jobs/rat-tests/tmp
export JULIA_DEPOT_PATH=/home/crackauc/sandbox/goals/qa-hygiene/jobs/rat-tests/scratch/julia_depot
julia --project=test/GPU -e 'using Pkg; Pkg.instantiate(); Pkg.status()'

Observed status tail:

Status `.../test/GPU/Project.toml`
  Adapt v4.7.1
  ArrayInterface v7.30.2
  CUDA v6.4.0
  KernelAbstractions v0.9.42
  OrdinaryDiffEq v7.8.1
  RecursiveArrayTools v4.5.2 `../..`
  RecursiveArrayToolsArrayPartitionAnyAll v1.0.3 `../../lib/...`
  Zygote v0.7.13
  LinearAlgebra v1.12.0
  Test v1.11.0
GPU_INSTANTIATE_EXIT=0

Runtime correctness of ode_gpu.jl is validated only by the self-hosted GPU CI job (test_groups.toml GPU group on self-hosted / gpu runners).

Not verified

  • Actual CUDA execution of ode_gpu.jl (no GPU on this host).
  • Interaction with the existing VectorOfArray / ArrayPartition GPU safetestsets beyond env resolve.

Please ignore this draft until reviewed by @ChrisRackauckas.

Risk assessment

  • Risk: Low–medium — wires a long-dormant GPU integration smoke test; failure would surface only on self-hosted GPU CI.
  • Blast radius: GPU test group only (test/runtests.jl GPU body + test/GPU/Project.toml deps); no library source changes.
  • Evidence: Env instantiate + parse succeed locally; no GPU runtime evidence on this host.
  • Independent review: Claude Code (Opus 5.5 subagent) rated it low, medium confidence: GPU-group-only change that nobody has run on real CUDA; the env instantiates, the file parses, and the file's steps pass with JLArrays + allowscalar(false). VERDICT MERGE once the self-hosted GPU CI job is green.
  • Merge: needs review

Harness: Cursor Agent CLI 2026.09.18-9a7762b; model: auto; transcript: /home/crackauc/sandbox/goals/qa-hygiene/jobs/rat-tests/log.txt on amdci2

Made with Cursor

#662 is fixed by #663 (merged); this PR is its regression test. Rebased onto master to rerun the GPU job.

ChrisRackauckas and others added 2 commits September 26, 2026 08:28
ode_gpu.jl has existed since 2022 but was never included from the GPU
group; wire it in and add OrdinaryDiffEq (plus LinearAlgebra) to the
GPU test env so the file can resolve.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Cursor Agent <noreply@cursor.com>
Agent-Harness: Cursor Agent CLI 2026.09.18-9a7762b
Agent-Model: auto
Agent-Session: local session, transcript at /home/crackauc/sandbox/goals/qa-hygiene/jobs/rat-tests/log.txt on amdci2
Add minimal @test coverage so the newly wired GPU ODE smoke file
fails on wrong results, not only on thrown errors.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Cursor Agent <noreply@cursor.com>
Agent-Harness: Cursor Agent CLI 2026.09.18-9a7762b
Agent-Model: auto
Agent-Session: local session, transcript at /home/crackauc/sandbox/goals/qa-hygiene/jobs/rat-tests/log.txt on amdci2
@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review September 26, 2026 17:47
@ChrisRackauckas
ChrisRackauckas merged commit 02c477c into SciML:master Sep 26, 2026
44 of 46 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