Commit c2e8431
Fix Runic format check: add return in test/runtests.jl core_body() (#218)
* Apply Runic formatting to test/runtests.jl
The Runic Format Check on main fails because core_body()'s final
expression (the Layers Tests @safetestset) is missing the explicit
return that Runic requires. Add it to make the format check pass.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Restore LuxCUDA test dependency dropped during v1.2 CI conversion
The grouped-tests v1.2 conversion (#217) dropped LuxCUDA from the test
[extras]/[targets]. The self-hosted GPU lane sets BACKEND_GROUP=CUDA, which
makes test/shared_testsetup.jl do `using LuxCUDA`; without the dependency the
GPU job errors with `ArgumentError: Package LuxCUDA not found in current path`.
Re-add LuxCUDA (compat 0.3) to [compat], [extras], and the test target, using
the correct registry UUID d0bbae9a-e099-4d5b-a835-1c6931763bda (the
pre-conversion Project.toml had carried a typo'd UUID ...1c6931f17571).
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Fix MNIST docs build: steady-state adjoint VJP shape + missing VCAB3 import
The Documentation build failed on two genuine bugs in the basic MNIST DEQ
tutorial (both reproduce on `main`, independent of the test/Project.toml
changes in this PR):
1. `DimensionMismatch` in the steady-state adjoint VJP. For a conv DEQ the
rootfind state is a 4D array (e.g. `(13, 13, 64, 2)`). When the state has
more than 50 elements, SciMLSensitivity's `SteadyStateAdjoint` takes the
matrix-free `VecJacOperator` path and builds the operator from `vec(y)`, so
it seeds the residual's pullback with a *flat* cotangent. Zygote's
`ProjectTo` then rejects that flat cotangent when it is broadcast against the
multi-dimensional `u` in the residual `y .- u`, raising
`variable with size(x) == (13,13,64,2) cannot have a gradient with
size(dx) == (21632,)`. The Core test suite never hit this because its conv
states are <= 50 elements (dense-Jacobian path). Fix: compute the residual in
flattened space, `reshape(vec(y) .- vec(u), size(u))` — a value-preserving
no-op that keeps the broadcast operands consistent with the flat cotangent.
2. `UndefVarError: VCAB3`. The tutorial calls `VCAB3()` but only imports
`OrdinaryDiffEq`, which (v7) no longer re-exports `VCAB3`. Added
`OrdinaryDiffEqAdamsBashforthMoulton` to the docs project and an explicit
`using OrdinaryDiffEqAdamsBashforthMoulton: VCAB3` in the tutorial.
Verified locally on Julia 1.12:
- Full `docs/make.jl` builds end-to-end (both MNIST `@example` blocks run; only
a transient ColPrac linkcheck 429 from the sandbox differs from CI).
- `GROUP=Core Pkg.test()` passes: Utils 11/11, Layers 1538/1538.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 0cca4d0 commit c2e8431
5 files changed
Lines changed: 13 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
| |||
67 | 68 | | |
68 | 69 | | |
69 | 70 | | |
| 71 | + | |
70 | 72 | | |
71 | 73 | | |
72 | 74 | | |
| |||
80 | 82 | | |
81 | 83 | | |
82 | 84 | | |
83 | | - | |
| 85 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| 35 | + | |
34 | 36 | | |
35 | 37 | | |
36 | 38 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
131 | | - | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
132 | 136 | | |
133 | 137 | | |
134 | 138 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
0 commit comments