Repository navigation
v3.0.7
v3.0.7
This release matures the compiled (AOT-Inductor) deployment path — matrix-free
iterative linear solvers, adaptive substepping, and a self-describing artifact
layout — adds a unified verbosity system across all evaluation routes, and
brings Windows/MSVC from source build through a full CI test sweep.
Highlights
- Iterative linear solvers. The implicit Newton solve can now use matrix-free
GMRES / BiCGStab (with preconditioners) as its inner linear solve, in addition
to the direct DenseLU / Schur paths — shared by the eager and compiled routes. - Compiled-path robustness. AOTI models gained adaptive sub-incrementation
(bisection-on-failure recovery), a single self-describing artifact layout, and
the linear solve un-baked into separate operator + solve graphs (metadata
schema v10), so the solver is configured from the artifact at load. - Unified verbosity control. One
NEML2_LOGSenvironment variable (plus a
programmaticneml2.logAPI) governs every neml2 diagnostic — solver
convergence, substepping, model/eq-system, drivers — uniformly across all six
routes, with a downstream-configurable output sink. - Windows / MSVC support. Source builds on MSVC and a Windows CI job that runs
the Python test suite including the AOTI path. neml2-compileworkflow. Parallel, planned segment compilation with
per-file progress, and boundary variable/parameter renaming at the AOTI
boundary.
What's Changed
Iterative & compiled solvers (AOTI)
- Matrix-free iterative (Krylov) linear solvers for the implicit Newton solve by @hugary1995 in #430
- AOTI: un-bake the linear solve into operator + solve graphs (schema v10) by @hugary1995 in #429
- AOTI: adaptive substepping (AOTI-only) + self-describing artifact layout by @hugary1995 in #424
Verbosity & logging
- Unified verbosity control via
NEML2_LOGSacross all evaluation routes by @hugary1995 in #431
neml2-compile workflow
- neml2-compile: artifact planning, per-file progress, and parallel segment compilation by @hugary1995 in #420
- neml2-compile: flatten
-jacross the (device × segment) grid + device-tagged progress by @hugary1995 in #421 - Add boundary variable/parameter renaming to neml2-compile by @hugary1995 in #412
- Fix
neml2-compile --loadunder-j N; pin torch in CI by @hugary1995 in #425
Model authoring & evaluation
- Add
MinMapComplementarityhard-switch KKT condition by @hugary1995 in #417 - Add
sin,cos,tanand their inverses by @Jes-s-L in #411 - py-eager typed jvp/jacobian + cross-route runtime fixes (Newton verbose, cpp-aoti broadcast,
opaque_pow) by @hugary1995 in #410
Windows / MSVC support
- Windows/MSVC source build support (Phase 3) by @hugary1995 in #422
- Windows CI: Python test suite incl. AOTI (issue #414, Phase 5) by @hugary1995 in #423
Dependencies
- Bump pyright from 1.1.410 to 1.1.411 by @dependabot in #405
- Bump ruff from 0.15.18 to 0.15.20 by @dependabot in #406
- Bump actions/setup-python from 5 to 6 by @dependabot in #427
- Bump ruff from 0.15.20 to 0.15.21 by @dependabot in #428
New Contributors
Full Changelog: v3.0.6...v3.0.7