Added
* The `rpu_config` is now pretty-printed in a readable manner (excluding the
default settings and other readability tweak). (\60)
* Added a new `ReferenceUnitCell` which has two devices, where one is fixed and
the other updated and the effective weight is computed a difference between
the two. (\61)
* `VectorUnitCell` accepts now arbitrary weighting schemes that can be
user-defined by using a new `gamma_vec` property that specifies how to combine
the unit cell devices to form the effective weight. (\61)
Changed
* The unit cell items in `aihwkit.simulator.configs` have been renamed, removing
their `Device` suffix, for having a more consistent naming scheme. (\57)
* The `Exceptions` raised by the library have been revised, making use in some
cases of the ones introduced in a new `aihwkit.exceptions` module. (\49)
* Some `VectorUnitCell` properties have been renamed and extended with an update
policy specifying how to select the hidden devices. (\61)
* The `pybind11` version required has been bumped to 2.6.0, which can be
installed from `pip` and makes system-wide installation no longer required.
Please update your `pybind11` accordingly for compiling the library. (\44)
Removed
* The `BackwardIOParameters` specialization has been removed, as bound
management is now automatically ignored for the backward pass. Please use the
more general `IOParameters` instead. (\45)
Fixed
* Serialization of `Modules` that contain children analog layers is now
possible, both when using containers such as `Sequential` and when using
analog layers as custom Module attributes. (\74, \80)
* The build system has been improved, with experimental Windows support and
supporting using CUDA 11 correctly. (\58, \67, \68)