IBM/aihwkit

IBM Analog Hardware Acceleration Kit

What it solves

IBM Analog Hardware Acceleration Kit (aihwkit) addresses the "von Neumann bottleneck"—the efficiency loss caused by moving data between separate memory and computation units. It enables the exploration and simulation of Analog In-Memory Computing (AIMC) hardware, where computation happens directly where data is stored, significantly increasing speed and energy efficiency for AI workloads.

How it works

The toolkit provides a high-performance C++ simulator (CUDA-capable) that models the physical characteristics of analog devices (like phase-change memory or RRAM) and crossbar configurations. It integrates directly with PyTorch, allowing users to replace standard neural network layers with analog versions (fully connected, convolution, LSTM) and use specialized analog optimizers (like AnalogSGD).

Who it’s for

AI researchers and hardware engineers who want to simulate analog AI hardware, perform hardware-aware training to make models more robust to physical noise and non-idealities, or explore material specifications for in-memory computing devices.

Highlights

  • PyTorch Integration: Seamlessly use analog neural network modules and training workflows within PyTorch.
  • Hardware-Aware Training: Includes noise and non-idealities in the forward pass to ensure models work on real analog hardware.
  • High-Performance Simulator: CUDA-capable C++ simulator for modeling device fluctuations, ADC/DAC discretization, and stochastic update pulse trains.
  • Model Conversion: Utility to automatically convert pre-trained standard models into equivalent analog models.
  • Broad Hardware Support: Supports NVIDIA GPUs via CUDA and AMD GPUs via ROCm/HIP.

Related

  • Project
  • Project
  • Dispatch
  • Project
  • Project