aihwkit.simulator.presets.configs module

RPU configurations presets for resistive processing units.

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

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Preset configuration using two Capacitor devices per cross-point (CapacitorPresetDevice), where both are updated with random selection policy for update.

See VectorUnitCell for more details on multiple devices per cross-points.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.Capacitor4Preset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Preset configuration using four Capacitor devices per cross-point (CapacitorPresetDevice), where both are updated with random selection policy for update.

See VectorUnitCell for more details on multiple devices per cross-points.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.CapacitorPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.SingleRPUConfig

Preset configuration using a single capacitor device, see CapacitorPresetDevice.

This preset uses standard SGD with fully parallel update on analog with stochastic pulses.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: PulsedDevice
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.EcRam2Preset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Preset configuration using two Capacitor devices per cross-point (CapacitorPresetDevice), where both are updated with random selection policy for update.

See VectorUnitCell for more details on multiple devices per cross-points.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.EcRam4Preset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Preset configuration using four Capacitor devices per cross-point (CapacitorPresetDevice), where both are updated with random selection policy for update.

See VectorUnitCell for more details on multiple devices per cross-points.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.EcRamPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.SingleRPUConfig

Preset configuration using a single EcRAM device, see EcRamPresetDevice.

This preset uses standard SGD with fully parallel update on analog with stochastic pulses.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: PulsedDevice
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.GokmenVlasovPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.SingleRPUConfig

Preset configuration using a single device with constant update step size, see GokmenVlasovPresetDevice.

This preset uses standard SGD with fully parallel update on analog with stochastic pulses.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: PulsedDevice
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.Idealized2Preset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Preset configuration using two Idealized devices per cross-point (IdealizedPresetDevice), where both are updated with random selection policy for update.

See VectorUnitCell for more details on multiple devices per cross-points.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.Idealized4Preset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Preset configuration using four Idealized devices per cross-point (IdealizedPresetDevice), where both are updated with random selection policy for update.

See VectorUnitCell for more details on multiple devices per cross-points.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.IdealizedPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.SingleRPUConfig

Preset configuration using a single idealized device, see IdealizedPresetDevice.

This preset uses standard SGD with fully parallel update on analog with stochastic pulses.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: PulsedDevice
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.MixedPrecisionCapacitorPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.DigitalRankUpdateRPUConfig

Configuration using Mixed-precision with class:~aihwkit.simulator.presets.devices.CapacitorPresetDevice.

See class:~aihwkit.simulator.configs.devices.MixedPrecisionCompound for details on the mixed precision optimizer.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: DigitalRankUpdateCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.MixedPrecisionEcRamPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.DigitalRankUpdateRPUConfig

Configuration using Mixed-precision with class:~aihwkit.simulator.presets.devices.EcRamPresetDevice.

See class:~aihwkit.simulator.configs.devices.MixedPrecisionCompound for details on the mixed precision optimizer.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: DigitalRankUpdateCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.MixedPrecisionGokmenVlasovPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.DigitalRankUpdateRPUConfig

Configuration using Mixed-precision with class:~aihwkit.simulator.presets.devices.GokmenVlasovPresetDevice.

See class:~aihwkit.simulator.configs.devices.MixedPrecisionCompound for details on the mixed precision optimizer.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: DigitalRankUpdateCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.MixedPrecisionIdealizedPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.DigitalRankUpdateRPUConfig

Configuration using Mixed-precision with class:~aihwkit.simulator.presets.devices.IdealizedPresetDevice.

See class:~aihwkit.simulator.configs.devices.MixedPrecisionCompound for details on the mixed precision optimizer.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: DigitalRankUpdateCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.MixedPrecisionReRamESPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.DigitalRankUpdateRPUConfig

Configuration using Mixed-precision with class:~aihwkit.simulator.presets.devices.ReRamESPresetDevice

See class:~aihwkit.simulator.configs.devices.MixedPrecisionCompound for details on the mixed precision optimizer.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: DigitalRankUpdateCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.MixedPrecisionReRamSBPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.DigitalRankUpdateRPUConfig

Configuration using Mixed-precision with class:~aihwkit.simulator.presets.devices.ReRamSBPresetDevice.

See class:~aihwkit.simulator.configs.devices.MixedPrecisionCompound for details on the mixed precision optimizer.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: DigitalRankUpdateCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.ReRamES2Preset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Preset configuration using two ReRam devices per cross-point (ReRamESPresetDevice), where both are updated with random selection policy for update.

See VectorUnitCell for more details on multiple devices per cross-points.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.ReRamES4Preset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Preset configuration using four ReRam devices per cross-point (ReRamESPresetDevice), where both are updated with random selection policy for update.

See VectorUnitCell for more details on multiple devices per cross-points.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.ReRamESPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.SingleRPUConfig

Preset configuration using a single ReRam device (based on ExpStep model, see ReRamESPresetDevice).

This preset uses standard SGD with fully parallel update on analog with stochastic pulses.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: PulsedDevice
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.ReRamSB2Preset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Preset configuration using two ReRam devices per cross-point (ReRamSBPresetDevice), where both are updated with random selection policy for update.

See VectorUnitCell for more details on multiple devices per cross-points.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.ReRamSB4Preset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Preset configuration using four ReRam devices per cross-point (ReRamSBPresetDevice), where both are updated with random selection policy for update.

See VectorUnitCell for more details on multiple devices per cross-points.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.ReRamSBPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.SingleRPUConfig

Preset configuration using a single ReRam device (based on SoftBounds model, see ReRamSBPresetDevice).

This preset uses standard SGD with fully parallel update on analog with stochastic pulses.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: PulsedDevice
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.TikiTakaCapacitorPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Configuration using Tiki-taka with CapacitorPresetDevice.

See TransferCompound for details on Tiki-taka-like optimizers.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.TikiTakaEcRamPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Configuration using Tiki-taka with EcRamPresetDevice.

See TransferCompound for details on Tiki-taka-like optimizers.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.TikiTakaIdealizedPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Configuration using Tiki-taka with IdealizedPresetDevice.

See TransferCompound for details on Tiki-taka-like optimizers.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.TikiTakaReRamESPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Configuration using Tiki-taka with ReRamESPresetDevice.

See TransferCompound for details on Tiki-taka-like optimizers.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters
class aihwkit.simulator.presets.configs.TikiTakaReRamSBPreset(device=<factory>, forward=<factory>, backward=<factory>, update=<factory>)

Bases: aihwkit.simulator.configs.configs.UnitCellRPUConfig

Configuration using Tiki-taka with ReRamSBPresetDevice.

See TransferCompound for details on Tiki-taka-like optimizers.

The default peripheral hardware (PresetIOParameters) and analog update (PresetUpdateParameters) configuration is used otherwise.

backward: IOParameters
device: UnitCell
forward: IOParameters
update: UpdateParameters