A flexible and fast PyTorch toolkit for simulating training and inference on analog crossbar arrays

04/05/2021
by   Malte J. Rasch, et al.
42

We introduce the IBM Analog Hardware Acceleration Kit, a new and first of a kind open source toolkit to simulate analog crossbar arrays in a convenient fashion from within PyTorch (freely available at https://github.com/IBM/aihwkit). The toolkit is under active development and is centered around the concept of an "analog tile" which captures the computations performed on a crossbar array. Analog tiles are building blocks that can be used to extend existing network modules with analog components and compose arbitrary artificial neural networks (ANNs) using the flexibility of the PyTorch framework. Analog tiles can be conveniently configured to emulate a plethora of different analog hardware characteristics and their non-idealities, such as device-to-device and cycle-to-cycle variations, resistive device response curves, and weight and output noise. Additionally, the toolkit makes it possible to design custom unit cell configurations and to use advanced analog optimization algorithms such as Tiki-Taka. Moreover, the backward and update behavior can be set to "ideal" to enable hardware-aware training features for chips that target inference acceleration only. To evaluate the inference accuracy of such chips over time, we provide statistical programming noise and drift models calibrated on phase-change memory hardware. Our new toolkit is fully GPU accelerated and can be used to conveniently estimate the impact of material properties and non-idealities of future analog technology on the accuracy for arbitrary ANNs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/18/2023

Using the IBM Analog In-Memory Hardware Acceleration Kit for Neural Network Training and Inference

Analog In-Memory Computing (AIMC) is a promising approach to reduce the ...
research
06/06/2019

Training large-scale ANNs on simulated resistive crossbar arrays

Accelerating training of artificial neural networks (ANN) with analog re...
research
09/21/2023

A Back-End-Of-Line Compatible, Ferroelectric Analog Non-Volatile Memory

A Ferroelectric Analog Non-Volatile Memory based on a WOx electrode and ...
research
09/21/2023

A BEOL Compatible, 2-Terminals, Ferroelectric Analog Non-Volatile Memory

A Ferroelectric Analog Non-Volatile Memory based on a WOx electrode and ...
research
09/17/2019

Algorithm for Training Neural Networks on Resistive Device Arrays

Hardware architectures composed of resistive cross-point device arrays c...
research
05/26/2023

Gradient descent-based programming of analog in-memory computing cores

The precise programming of crossbar arrays of unit-cells is crucial for ...
research
11/27/2019

Representable Matrices: Enabling High Accuracy Analog Computation for Inference of DNNs using Memristors

Analog computing based on memristor technology is a promising solution t...

Please sign up or login with your details

Forgot password? Click here to reset