aihwkit.simulator.configs.configs module

Configurations for resistive processing units.

class aihwkit.simulator.configs.configs.FloatingPointRPUConfig(device=<factory>)

Bases: object

Configuration for a floating point resistive processing unit.

device: FloatingPointDevice

Parameters that modify the behavior of the pulsed device.

requires_decay()

Return whether device has decay enabled.

Return type

bool

requires_diffusion()

Return whether device has diffusion enabled.

Return type

bool

class aihwkit.simulator.configs.configs.InferenceRPUConfig(forward=<factory>, noise_model=<factory>, drift_compensation=<factory>, clip=<factory>, modifier=<factory>)

Bases: object

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()

Return a representation of this instance as a simulator bindings object.

Return type

aihwkit.simulator.rpu_base.devices.AnalogTileParameter

backward: BackwardIOParameters

perfect.

Type

Input-output parameter setting for the backward direction

clip: WeightClipParameter

Parameters for weight clip.

device: IdealDevice

ideal device.

Type

Parameters 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.

modifier: WeightModifierParameter

Parameters for weight modifier.

noise_model: BaseNoiseModel

Statistical noise model to be used during (realistic) inference.

requires_decay()

Return whether device has decay enabled.

Return type

bool

requires_diffusion()

Return whether device has diffusion enabled.

Return type

bool

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>)

Bases: object

Configuration for an analog (pulsed device) resistive processing unit.

as_bindings()

Return a representation of this instance as a simulator bindings object.

Return type

aihwkit.simulator.rpu_base.devices.AnalogTileParameter

backward: BackwardIOParameters

Input-output parameter setting for the backward direction.

device: PulsedDevice

Parameters that modify the behavior of the pulsed device.

forward: IOParameters

Input-output parameter setting for the forward direction.

requires_decay()

Return whether device has decay enabled.

Return type

bool

requires_diffusion()

Return whether device has diffusion enabled.

Return type

bool

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.configs.configs.UnitCellRPUConfig(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: object

Configuration for an analog (unit cell) resistive processing unit.

as_bindings()

Return a representation of this instance as a simulator bindings object.

Return type

aihwkit.simulator.rpu_base.devices.AnalogTileParameter

backward: BackwardIOParameters

Input-output parameter setting for the backward direction.

device: UnitCellDevice

Parameters that modify the behavior of the pulsed device.

forward: IOParameters

Input-output parameter setting for the forward direction.

requires_decay()

Return whether device has decay enabled.

Return type

bool

requires_diffusion()

Return whether device has diffusion enabled.

Return type

bool

update: UpdateParameters

Parameter for the update behavior.