From f63dfb13347e2b10fc69c0650e842e5614802720 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Tue, 23 Jun 2026 00:23:31 -0400 Subject: [PATCH] Raise KernelAbstractions and MuladdMacro downgrade floors to fix CPU downgrade resolution The `test (alldeps, lts, CPU) / Downgrade Tests - CPU` lane failed at the Pkg.test sandbox resolution stage with "Unsatisfiable requirements detected for package PrettyTables". Root cause: the minimal-resolved root deps pin a constraint set that forces CUDA (a test-only dep) into 5.5.1-5.8.2, all of which require PrettyTables 2.x, while the rest of the SciML test stack pulled in PrettyTables 3.x -> no overlap. CUDA 5.9.0 is the minimal CUDA that uses PrettyTables 3, but it requires KernelAbstractions >= 0.9.38; the floor `KernelAbstractions = "0.9"` resolved to 0.9.36, capping CUDA at <= 5.8.2. Bumping KernelAbstractions to 0.9.38 lets CUDA resolve to 5.9.0 (PrettyTables 3), which then uncovered a second stale floor: StochasticDiffEq 7 pulls in StochasticDiffEqHighOrder 2, which requires MuladdMacro >= 0.2.4, but the floor `MuladdMacro = "0.2"` resolved to 0.2.1. Both bumps are the exact registry minimums needed. Verified locally on Julia 1.10 (lts): the real julia-downgrade-compat@v2 + Resolver.jl --min=@deps resolution now succeeds (CUDA 5.9.0, PrettyTables 3.3.2, KernelAbstractions 0.9.38, MuladdMacro 0.2.4), and the full GROUP=CPU test suite passes on the downgraded environment (Pkg.test exit 0, "DiffEqGPU tests passed"). Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.8 (1M context) --- Project.toml | 4 ++-- test/Project.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Project.toml b/Project.toml index 425a7e79..fec56db8 100644 --- a/Project.toml +++ b/Project.toml @@ -52,10 +52,10 @@ DocStringExtensions = "0.9" ForwardDiff = "1" GPUArraysCore = "0.2" JLArrays = "0.3" -KernelAbstractions = "0.9" +KernelAbstractions = "0.9.38" LinearSolve = "3" Metal = "1" -MuladdMacro = "0.2" +MuladdMacro = "0.2.4" OpenCL = "0.10" Parameters = "0.12, 0.13" RecursiveArrayTools = "4" diff --git a/test/Project.toml b/test/Project.toml index 630ebcaa..fbb71c62 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -40,7 +40,7 @@ DiffEqGPU = "3" ForwardDiff = "1" GPUArraysCore = "0.2" JLArrays = "0.3" -KernelAbstractions = "0.9" +KernelAbstractions = "0.9.38" ModelingToolkit = "11.23.0" OpenCL = "0.10" Optimization = "5"