Skip to content

Require explicit CPU backend qualification across structured solver methods - #214

Merged
jc-macdonald merged 2 commits into
mainfrom
readiness/206-backend-qualification
Oct 14, 2026
Merged

jc-macdonald merged 2 commits into
mainfrom
readiness/206-backend-qualification

Conversation

@jc-macdonald

Copy link
Copy Markdown
Member

Baseline optional-backend skips did not establish the advertised method/backend capabilities. Required NumPy/JAX/CPU Torch jobs now explicitly import the selected backend and reject missing, empty, or skipped qualification. The Torch gate retains the previous complete-run contracts from #208.

A structured (pool, group, trait) state with non-default-axis conservative transport checks all 13 deterministic fixed methods in float32/float64 against independent matrix-exponential trajectories and total-decay balances. Representative live/replay methods and JAX JIT/Torch functional AD are checked separately; SciPy sparse and unsupported BDF2/SDIRK scan configurations have explicit negative contracts. The published matrix separates value, AD, replay, host preprocessing, sparse, and CPU/GPU evidence.

Closes #206.

Validation: just format, just ci (818 core tests passed, 389 provider tests passed), just docs, just qualify (NumPy 40, JAX 48, Torch 65; zero selected skips), and just build-all passed. Installed core/provider wheels and strict typing/docs passed. GPU execution remains opt-in and unqualified by this CPU matrix; the new matrix qualifies existing algorithms rather than adding methods.

@jc-macdonald
jc-macdonald merged commit e6cc1af into main Oct 14, 2026
9 checks passed
@jc-macdonald
jc-macdonald deleted the readiness/206-backend-qualification branch October 14, 2026 16:52
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.

Make backend qualification explicit and require CPU Torch coverage in CI

1 participant