Commit 1f7eb00
committed
Fix NonStiffODE under v7 stack: refresh manifest, fix script bugs, IRKGL16 verbose
Root cause: three independent issues stacked on top of each other.
1. The pinned Manifest had `SymbolicUtils v4.26.0`, which throws
`Method overwriting is not permitted during Module precompilation`
in `apply_optimization_rules`. That kills `ParameterizedFunctions`
precompile, which is the first `using` line in `EnrightPryce_wpd.jmd`
— so the very first .jmd in the folder crashed at load time on amdci1-1
(CI run 25374549824, job 75199969438) and the cascading "no such
directory" errors on the remaining six files were just the runner
cleanup tripping over the killed job.
2. `enright_pryce.jl` had two latent bugs that newer `SymbolicUtils` /
`ModelingToolkit` now catch:
- SF1 equation 2 had `1880 * [y[4] - y[2] * (1 + k)]` (vector literal)
instead of `1880 * (y[4] - y[2] * (1 + k))`. The bracket made it a
1-vector, and `SymbolicUtils.AddWorkerBuffer` now throws an
unequal-shape error when adding scalar/vector symbolic terms.
- The ND eccentric-orbit family declared `@parameters ε` and threaded
`[ε => e]` through every `make_ds(...)`, but ε does not appear in
the equations themselves (the eccentricity enters only via the
initial conditions). MTK now correctly errors:
"Expected an `Initial` parameter to exist for variable `ε`, but
did not find one". Removed the stray parameter.
3. `IRKGL16` (IRKGaussLegendre v1) treats `verbose` as a Bool, but the
v7 stack passes a `DEVerbosity` struct. Every `WorkPrecisionSet` chunk
that included `IRKGL16(...)` raised `TypeError: non-boolean ...
DEVerbosity ... used in boolean context`. Added
`verbose = SciMLLogging.None()` to those chunks in
LotkaVolterra/Pleiades/RigidBody/ThreeBody.
4. `OrdinaryDiffEqSIMDRK` (MER5v2/MER6v2/RK6v4) recurses to a
StackOverflow on `NaNMath.sqrt(::VectorizationBase.Vec{2,Float64})`
when the RHS calls `sqrt` — which is exactly the ND Kepler family.
Split out a `setups_nd` without SIMD-RK for the ND section of
`EnrightPryce_wpd.jmd`. NA/NB/NC don't hit `sqrt` (or skip the one
problem that does), so SIMD-RK stays in `setups` for them.
Also: `EnrightPryce_wpd.jmd` referenced `NC_PROBLEMS[5]`, but `nc5prob`
is commented out in `enright_pryce.jl` (TODO: MTK v10 N-body). Dropped
the NC5 chunk.
Fix:
- `Pkg.update()` on `benchmarks/NonStiffODE/` (Project.toml unchanged):
SymbolicUtils 4.26.0 -> 4.30.1, plus the usual transitive bumps
(ModelingToolkit 11.24 -> 11.26, SciMLBase 3.7 -> 3.13,
OrdinaryDiffEq* 2.0 -> 2.x.y, LinearSolve 3.75 -> 3.80, etc.).
- Edit `enright_pryce.jl` bracket typo and ε removal.
- Edit `EnrightPryce_wpd.jmd` to drop NC5 and use `setups_nd` for ND.
- Add `verbose = SciMLLogging.None()` to every IRKGL16-containing
WorkPrecisionSet in Lotka/Pleiades/RigidBody/ThreeBody.
Local verification (julia 1.11.9, --project=benchmarks/NonStiffODE):
- `Pkg.update()` clean; all packages precompile.
- `weave_file(..., (:script,))` succeeds for all 7 .jmd files.
- EnrightPryce smoke run (numruns=3): NA1/2/4/5, NB1/2/3/5, NC1/2/3/4
pass with full setups (incl. SIMD-RK); ND1-5 pass with setups_nd.
- LotkaVolterra full weave (`(:github,)`) re-run with the IRKGL16
verbose patch: the previously-erroring chunk now completes.
- Direct IRKGL16 + `verbose=SciMLLogging.None()` WPSet call on
LotkaVolterra returns clean.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>1 parent 8a0ea52 commit 1f7eb00
7 files changed
Lines changed: 186 additions & 145 deletions
File tree
- benchmarks/NonStiffODE
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
160 | | - | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
161 | 165 | | |
162 | 166 | | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
167 | 173 | | |
168 | 174 | | |
169 | | - | |
170 | | - | |
171 | 175 | | |
172 | 176 | | |
173 | 177 | | |
174 | 178 | | |
175 | 179 | | |
176 | | - | |
| 180 | + | |
177 | 181 | | |
178 | 182 | | |
179 | 183 | | |
| |||
182 | 186 | | |
183 | 187 | | |
184 | 188 | | |
185 | | - | |
| 189 | + | |
186 | 190 | | |
187 | 191 | | |
188 | 192 | | |
| |||
191 | 195 | | |
192 | 196 | | |
193 | 197 | | |
194 | | - | |
| 198 | + | |
195 | 199 | | |
196 | 200 | | |
197 | 201 | | |
| |||
200 | 204 | | |
201 | 205 | | |
202 | 206 | | |
203 | | - | |
| 207 | + | |
204 | 208 | | |
205 | 209 | | |
206 | 210 | | |
| |||
209 | 213 | | |
210 | 214 | | |
211 | 215 | | |
212 | | - | |
| 216 | + | |
213 | 217 | | |
214 | 218 | | |
215 | 219 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | | - | |
| 55 | + | |
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
| 76 | + | |
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| |||
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
99 | | - | |
| 99 | + | |
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| |||
117 | 117 | | |
118 | 118 | | |
119 | 119 | | |
120 | | - | |
| 120 | + | |
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
| |||
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
140 | | - | |
| 140 | + | |
141 | 141 | | |
142 | 142 | | |
143 | 143 | | |
| |||
0 commit comments