Raise KernelAbstractions and MuladdMacro downgrade floors to fix CPU downgrade resolution#464
Draft
ChrisRackauckas-Claude wants to merge 1 commit into
Draft
Conversation
…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 <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ignore until reviewed by @ChrisRackauckas.
Problem
The
test (alldeps, lts, CPU) / Downgrade Tests - CPUmaster lane is RED. It fails at thePkg.testsandbox resolution stage (before any test runs) with:Root cause
The downgrade resolver (
julia-downgrade-compat@v2+Resolver.jl --min=@deps) pins the root deps to their minimal versions. AtPkg.testsandbox-resolution time (allow_reresolve=false), those pinned floors — Adapt 4.3.0, KernelAbstractions 0.9.36, LinearSolve 3.75.0, RecursiveArrayTools 4.0.0, EnzymeCore 0.8.20 — constrain CUDA (a test-only dep) into the range 5.5.1–5.8.2. Every CUDA in that range requires PrettyTables 2.x, while the rest of the SciML test stack pulls in PrettyTables 3.x → empty intersection.CUDA 5.9.0is the minimal CUDA that uses PrettyTables 3, but it requires KernelAbstractions ≥ 0.9.38. The floorKernelAbstractions = "0.9"minimal-resolves to0.9.36, which caps CUDA at ≤ 5.8.2.Bumping KernelAbstractions to
0.9.38lets CUDA resolve to5.9.0(PrettyTables 3) and uncovered a second stale floor:StochasticDiffEq 7pulls inStochasticDiffEqHighOrder 2, which requires MuladdMacro ≥ 0.2.4, but the floorMuladdMacro = "0.2"minimal-resolves to0.2.1.Fix
KernelAbstractions:0.9→0.9.38(root +test/Project.toml) — the minimum CUDA 5.9.0 needs.MuladdMacro:0.2→0.2.4(root) — the minimum StochasticDiffEqHighOrder needs (also the latest 0.2.x).Both are the exact registry minimums; no upper bounds touched.
Verification (local, Julia 1.10 / lts)
Reproduced the exact CI failure, then with the floor bumps:
julia-downgrade-compat@v2+Resolver.jl --min=@depsresolution succeeds.Pkg.test(; force_latest_compatible_version=false, allow_reresolve=false)sandbox resolves to CUDA v5.9.0, PrettyTables v3.3.2, KernelAbstractions v0.9.38, MuladdMacro v0.2.4, StochasticDiffEq v7.0.0.Pkg.testexit 0, "DiffEqGPU tests passed", zero failures/errors).🤖 Generated with Claude Code