Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning:
Addedfor new features.Changedfor changes in existing functionality.Deprecatedfor soon-to-be removed features.Removedfor now removed features.Fixedfor any bug fixes.Securityin case of vulnerabilities.
0.2.0 - 2020/10/20¶
Added¶
Added more types of resistive devices:
IdealResistiveDevice,LinearStep,SoftBounds,ExpStep,VectorUnitCell,TransferCompoundDevice,DifferenceUnitCell. (#14)Added a new
InferenceTilethat supports basic hardware-aware training and inference using a statistical noise model that was fitted by real PCM devices. (#25)Added a new
AnalogSequentiallayer that can be used in place ofSequentialfor easier operation on children analog layers. (#34)
Changed¶
Specifying the tile configuration (resistive device and the rest of the properties) is now based on a new
RPUConfigfamily of classes, that is passed as arpu_configargument instead ofresistive_devicetoTilesandLayers. Please check theaihwkit.simulator.configmodule for more details. (#23)The different analog tiles are now organized into a
aihwkit.simulator.tilespackage. The internalIndexedTileshave been removed, and the rest of previous top-level imports have been kept. (#29)
Fixed¶
Improved package compatibility when using non-UTF8 encodings (version file, package description). (#13)
The build system can now detect and use
openblasdirectly when using the conda-installable version. (#22)When using analog layers as children of another module, the tiles are now correctly moved to CUDA if using
AnalogSequential(or by the optimizer if using regular torch container modules). (#34)