Skip to content

v3.0.7

Choose a tag to compare

@hugary1995 hugary1995 released this 14 Jul 12:28
· 38 commits to main since this release
0c7fec2

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_LOGS environment variable (plus a
    programmatic neml2.log API) 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-compile workflow. 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_LOGS across 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 -j across 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 --load under -j N; pin torch in CI by @hugary1995 in #425

Model authoring & evaluation

  • Add MinMapComplementarity hard-switch KKT condition by @hugary1995 in #417
  • Add sin, cos, tan and 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

Dependencies

New Contributors

Full Changelog: v3.0.6...v3.0.7