Skip to content

IBM Analog Hardware Acceleration Kit 0.5.1

Compare
Choose a tag to compare
@kaoutar55 kaoutar55 released this 28 Jan 16:01
· 132 commits to master since this release
2913b5e

Added

  • Load model state dict into a new model with modified RPUConfig. (#276)
  • Visualization for noise models for analog inference hardware simulation. (#278)
  • State independent inference noise model. (# 284)
  • Transfer LR parameter for MixedPrecisionCompound. (#283)
  • The bias term can now be handled either by the analog or digital domain by controlling the digital_bias layer parameter. (#307)
  • PCM short-term weight noise. (#312)
  • IR-drop simulation across columns during analog mat-vec. (#312)
  • Transposed-read for TransferCompound. (#312)
  • BufferedTranferCompound and TTv2 presets. (#318)
  • Stochastic rounding for MixedPrecisionCompound. (#318)
  • Decay with arbitrary decay point (to reset bias). (#319)
  • Linear layer AnalogLinearMapped which maps a large weight matrix onto multiple analog tiles. (#302)
  • Convolution layers AnalogConvNdMapped which maps large weight matrix onto multiple tiles if necessary. (#331)
  • In the new mapping field of RPUConfig the max tile input and output sizes can be configured for the *Mapped layers. (#331)
  • Notebooks directory with several notebook examples (#333, #334)
  • Analog information summary function. (#302)
  • The alpha weight scaling factor can now be defined as learnable parameter by switching learn_out_scaling_alpha in the rpu_config.mapping parameters. (#353)

Fixed

  • Removed GPU warning during destruction when using multiple GPUs. (#277)
  • Fixed issue in transfer counter for mixed precision in case of GPU. (#283)
  • Map location keyword for load / save observed. (#293)
  • Fixed issue with CUDA buffer allocation when batch size changed. (#294)
  • Fixed missing load statedict for AnalogSequential. (#295)
  • Fixed issue with hierarchical hidden parameter settings. (#313)
  • Fixed serious issue that loaded model would not update analog gradients. (#302)
  • Fixed cuda import in examples. (#320)

Changed

  • The inference noise models are now located in aihwkit.inference. (#281)
  • Analog state dict structure `has changed (shared weight are not saved). (#293)
  • Some of the parameter names of the TransferCompound have changed. (#312)
  • New fast learning rate parameter for TransferCompound, SGD learning rate then is applied on the slow matrix (#312).
  • The fixed_value of WeightClipParameter is now applied for all clipping types if set larger than zero. (#318)
  • The use of generators for analog tiles of an AnalogModuleBase. (#302)
  • Digital bias is now accessible through MappingParameter. (#331)
  • The aihwkit documentation. New content around analog AI concepts, training presets, analog AI optimizers, new references, and examples. (#348)
  • The weight_scaling_omega can now be defined in the rpu_config.mapping. (#353)

Deprecated

  • The module aihwkit.simulator.noise_models has been depreciated in favor of aihwkit.inference. (#281)