Skip to content

v2.1.0

Latest

Choose a tag to compare

@PabloCarmona PabloCarmona released this 15 Sep 14:40
· 41 commits to main since this release
4b0f0bc

[2.1.0] - 2026-09-15

Added

  • AnalogConv3d layer. torch.nn.Conv3d modules are now converted by
    convert_to_analog and covered by the correctness tests against AIHWKIT
    (#39).
  • Runtime dependencies (torch, typing_extensions, tqdm) and the optional
    extras dev, huggingface and triton are declared in pyproject.toml,
    together with a PEP 517 build backend (#28).
  • PyPI classifiers in the project metadata (#66).
  • uv project files, lockfiles and updated READMEs for the
    basic_huggingface, deepspeed_and_huggingface and deepspeed_cifar10
    examples.
  • examples/aihwkit_evaluation: example that converts a Lightning model to
    AIHWKIT and evaluates it there, with a model summary and an evaluation
    report. Referenced from the user guide (#25).

Changed

  • AnalogOptimizer now takes a callable that returns the analog layers
    (e.g. model.analog_layers) instead of an already-created generator, so the
    post-step hook can iterate the layers on every optimizer step. Update calls
    from AnalogOptimizer(SGD, model.analog_layers(), ...) to
    AnalogOptimizer(SGD, model.analog_layers, ...).
  • Minimum supported Python version raised from 3.8 to 3.10.
  • torch pinned to 2.13.0. PyTorch 2.14 introduced C++ header changes that
    break the build (#68).
  • transformers requirement raised to >=5.10.0. The HuggingFace examples
    were adapted to the v5 API, where warmup_ratio became warmup_steps
    (#77).
  • Maintainers updated to Manuel Le Gallo-Bourdeau and Pablo Carmona Gonzalez
    (#80).
  • Source file headers now reference the MIT license, matching LICENSE.txt
    and the package metadata. They previously still cited Apache 2.0 (#79).
  • Read the Docs build moved to an Ubuntu LTS image and a Python version that
    matches the minimum requirement (#81).
  • CI workflow runs on Python 3.14 (#21), pins the Triton commit and
    setuptools version, pins torch, torchvision and torchaudio for GCC
    compatibility (#68), and uses actions/checkout v7 (#64) and
    actions/setup-python v7 (#65).
  • Type hints in the RNN module were tightened (AnalogRNNCell alias and
    explicit casts) to satisfy the newer mypy (#53).
  • Development tooling bumps via Renovate: black 26.5.1, mypy 1.20.2,
    pycodestyle 2.14.0, pytest 9.x, Sphinx 9, sphinx-rtd-theme 3,
    myst-parser 5 and recommonmark 0.7.1.

Fixed

  • WeightModifierType is re-exported from aihwkit_lightning.simulator.configs
    again. It was dropped from that module in 2.0.1, which broke imports in
    code written for 1.x.
  • AnalogOptimizer post-step hook silently stopped clipping weights after the
    first step because the generator of analog layers was exhausted.
  • Type hints in the convolution modules.

Security

  • Refreshed uv.lock for the package and the examples to resolve Dependabot
    and Renovate vulnerability alerts (transformers, black, pytest,
    gitpython, urllib3, pillow, setuptools, msgpack, accelerate)
    (#42, #43, #54, #55, #67, #72, #73, #74, #75, #76, #77, #82, #83).