aihwkit.simulator.configs.configs module¶
Configurations for resistive processing units.
-
class
aihwkit.simulator.configs.configs.
DigitalRankUpdateRPUConfig
(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>, mapping=<factory>)[source]¶ Bases:
aihwkit.simulator.configs.helpers._PrintableMixin
Configuration for an analog (unit cell) resistive processing unit where the rank update is done in digital.
Note that for forward and backward, an analog crossbar is still used, and during update the digitally computed rank update is transferred to the analog crossbar using pulses.
-
as_bindings
()[source]¶ Return a representation of this instance as a simulator bindings object.
- Return type
aihwkit.simulator.rpu_base.devices.AnalogTileParameter
-
backward
: IOParameters¶ Input-output parameter setting for the backward direction.
-
device
: DigitalRankUpdateCell¶ Parameter that modify the behavior of the pulsed device.
-
forward
: IOParameters¶ Input-output parameter setting for the forward direction.
-
mapping
: MappingParameter¶ Parameter related to mapping weights to tiles for supporting modules.
-
tile_class
¶
-
update
: UpdateParameters¶ Parameter for the analog part of the update, that is the transfer from the digital buffer to the devices.
-
-
class
aihwkit.simulator.configs.configs.
FloatingPointRPUConfig
(device=<factory>, mapping=<factory>)[source]¶ Bases:
aihwkit.simulator.configs.helpers._PrintableMixin
Configuration for a floating point resistive processing unit.
-
device
: FloatingPointDevice¶ Parameter that modify the behavior of the pulsed device.
-
mapping
: MappingParameter¶ Parameter related to mapping weights to tiles for supporting modules.
-
tile_class
¶ alias of
aihwkit.simulator.tiles.floating_point.FloatingPointTile
-
-
class
aihwkit.simulator.configs.configs.
InferenceRPUConfig
(forward=<factory>, noise_model=<factory>, drift_compensation=<factory>, clip=<factory>, modifier=<factory>, mapping=<factory>)[source]¶ Bases:
aihwkit.simulator.configs.helpers._PrintableMixin
Configuration for an analog tile that is used only for inference.
Training is done in hardware-aware manner, thus using only the non-idealities of the forward-pass, but backward and update passes are ideal.
During inference, statistical models of programming, drift and read noise can be used.
-
as_bindings
()[source]¶ Return a representation of this instance as a simulator bindings object.
- Return type
aihwkit.simulator.rpu_base.devices.AnalogTileParameter
-
backward
: IOParameters¶ perfect.
- Type
Input-output parameter setting for the backward direction
-
clip
: WeightClipParameter¶ Parameter for weight clip.
-
device
: IdealDevice¶ ideal device.
- Type
Parameter that modify the behavior of the pulsed device
-
drift_compensation
: BaseDriftCompensation¶ For compensating the drift during inference only.
-
forward
: IOParameters¶ Input-output parameter setting for the forward direction.
-
mapping
: MappingParameter¶ Parameter related to mapping weights to tiles for supporting modules.
-
modifier
: WeightModifierParameter¶ Parameter for weight modifier.
-
noise_model
: BaseNoiseModel¶ Statistical noise model to be used during (realistic) inference.
-
tile_class
¶
-
update
: UpdateParameters¶ NONE
pulse type.- Type
Parameter for the update behavior
-
-
class
aihwkit.simulator.configs.configs.
SingleRPUConfig
(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>, mapping=<factory>)[source]¶ Bases:
aihwkit.simulator.configs.helpers._PrintableMixin
Configuration for an analog (pulsed device) resistive processing unit.
-
as_bindings
()[source]¶ Return a representation of this instance as a simulator bindings object.
- Return type
aihwkit.simulator.rpu_base.devices.AnalogTileParameter
-
backward
: IOParameters¶ Input-output parameter setting for the backward direction.
-
device
: PulsedDevice¶ Parameter that modify the behavior of the pulsed device.
-
forward
: IOParameters¶ Input-output parameter setting for the forward direction.
-
mapping
: MappingParameter¶ Parameter related to mapping weights to tiles for supporting modules.
-
tile_class
¶
-
update
: UpdateParameters¶ Parameter for the update behavior.
-
-
class
aihwkit.simulator.configs.configs.
UnitCellRPUConfig
(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>, mapping=<factory>)[source]¶ Bases:
aihwkit.simulator.configs.helpers._PrintableMixin
Configuration for an analog (unit cell) resistive processing unit.
-
as_bindings
()[source]¶ Return a representation of this instance as a simulator bindings object.
- Return type
aihwkit.simulator.rpu_base.devices.AnalogTileParameter
-
backward
: IOParameters¶ Input-output parameter setting for the backward direction.
-
device
: UnitCell¶ Parameter that modify the behavior of the pulsed device.
-
forward
: IOParameters¶ Input-output parameter setting for the forward direction.
-
mapping
: MappingParameter¶ Parameter related to mapping weights to tiles for supporting modules.
-
tile_class
¶
-
update
: UpdateParameters¶ Parameter for the parallel analog update behavior.
-