aihwkit.simulator.presets.configs module

RPU configurations presets for resistive processing units.

class aihwkit.simulator.presets.configs.AGADCapacitorPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using AGAD with CapacitorPresetDevice.

See DynamicTransferCompound for details on AGAD-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.AGADEcRamMOPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using AGAD with EcRamMOPresetDevice.

See DynamicTransferCompound for details on TTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.AGADEcRamPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using AGAD with EcRamPresetDevice.

See DynamicTransferCompound for details on TTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.AGADIdealizedPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using AGAD with IdealizedPresetDevice.

See DynamicTransferCompound for details on TTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.AGADReRamESPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using AGAD with ReRamESPresetDevice.

See DynamicTransferCompound for details on TTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.AGADReRamSBPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using AGAD with ReRamSBPresetDevice.

See DynamicTransferCompound for details on AGAD-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.Capacitor2Preset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.Capacitor4Preset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.CapacitorPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.ChoppedTTv2CapacitorPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using ChoppedTTv2 with CapacitorPresetDevice.

See ChoppedTransferCompound for details on ChoppedTTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.ChoppedTTv2EcRamMOPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using ChoppedTTv2 with EcRamMOPresetDevice.

See ChoppedTransferCompound for details on TTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.ChoppedTTv2EcRamPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using ChoppedTTv2 with EcRamPresetDevice.

See ChoppedTransferCompound for details on TTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.ChoppedTTv2IdealizedPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using ChoppedTTv2 with IdealizedPresetDevice.

See ChoppedTransferCompound for details on TTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.ChoppedTTv2ReRamESPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using ChoppedTTv2 with ReRamESPresetDevice.

See ChoppedTransferCompound for details on TTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.ChoppedTTv2ReRamSBPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using ChoppedTTv2 with ReRamSBPresetDevice.

See ChoppedTransferCompound for details on ChoppedTTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.EcRam2Preset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Preset configuration using two Lithium-based EcRam devices per cross-point (EcRamPresetDevice), 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.EcRam4Preset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Preset configuration using four Lithium-based EcRam devices per cross-point (EcRamPresetDevice), 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.EcRamMO2Preset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Preset configuration using two metal-oxide EcRam devices per cross-point (EcRamMOPresetDevice), 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.EcRamMO4Preset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Preset configuration using four metal-oxide EcRam devices per cross-point (EcRamMOPresetDevice), 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.EcRamMOPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: SingleRPUConfig

Preset configuration using a single metal-oxide EcRAM device, see EcRamMOPresetDevice.

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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.EcRamPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: SingleRPUConfig

Preset configuration using a single Lithium-based 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.GokmenVlasovPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.Idealized2Preset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.Idealized4Preset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.IdealizedPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.MixedPrecisionCapacitorPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.MixedPrecisionEcRamMOPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: DigitalRankUpdateRPUConfig

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

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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.MixedPrecisionEcRamPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.MixedPrecisionGokmenVlasovPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.MixedPrecisionIdealizedPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.MixedPrecisionPCMPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: DigitalRankUpdateRPUConfig

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

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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.MixedPrecisionReRamESPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.MixedPrecisionReRamSBPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.PCMPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Preset configuration using a single pair of PCM devicec with refresh, see PCMPresetUnitCell.

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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.ReRamES2Preset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.ReRamES4Preset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.ReRamESPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.ReRamSB2Preset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.ReRamSB4Preset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.ReRamSBPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.TTv2CapacitorPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using TTv2 with CapacitorPresetDevice.

See ChoppedTransferCompound for details on TTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.TTv2EcRamMOPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using TTv2 with EcRamMOPresetDevice.

See ChoppedTransferCompound for details on TTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.TTv2EcRamPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using TTv2 with EcRamPresetDevice.

See ChoppedTransferCompound for details on TTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.TTv2IdealizedPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using TTv2 with IdealizedPresetDevice.

See ChoppedTransferCompound for details on TTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.TTv2ReRamESPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using TTv2 with ReRamESPresetDevice.

See ChoppedTransferCompound for details on TTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.TTv2ReRamSBPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using TTv2 with ReRamSBPresetDevice.

See ChoppedTransferCompound for details on TTv2-like optimizers.

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.TikiTakaCapacitorPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.TikiTakaEcRamMOPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: UnitCellRPUConfig

Configuration using Tiki-taka with EcRamMOPresetDevice.

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

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

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.TikiTakaEcRamPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.TikiTakaIdealizedPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.TikiTakaReRamESPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.

class aihwkit.simulator.presets.configs.TikiTakaReRamSBPreset(tile_class=<class 'aihwkit.simulator.tiles.analog.AnalogTile'>, runtime=<factory>, pre_post=<factory>, tile_array_class=<class 'aihwkit.simulator.tiles.array.TileModuleArray'>, mapping=<factory>, forward=<factory>, backward=<factory>, update=<factory>, device=<factory>)[source]

Bases: 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.

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

update: UpdateParameters

Parameter for the update behavior.