Table of Contents
Fetching ...

MICSim: A Modular Simulator for Mixed-signal Compute-in-Memory based AI Accelerator

Cong Wang, Zeming Chen, Shanshi Huang

TL;DR

MICSim offers a modular, Python-based pre-circuit simulator for mixed-signal CIM accelerators, enabling early-stage software/hardware performance estimation for CNNs and Transformers. It decouples algorithms, architectures, circuits, and devices, and introduces an average data mode to replace trace-based evaluation, achieving substantial runtime reductions while preserving estimation accuracy. The framework supports multiple quantization methods, diverse digit-mapping and DAC/ADC models, and Transformer-specific CIM architectures, enabling cross-layer design space exploration across algorithm, architecture/circuit, and device dimensions. Empirically, MICSim demonstrates near-parity throughput with trace-mode assessments, notable speedups (up to 9–32× over NeuroSim) for CNN workloads, and detailed insights into quantization, architecture, and device tradeoffs for CNNs and Transformer accelerators, including BERT-level evaluation. The work emphasizes extensibility, integration with PyTorch/HuggingFace, and practical impact for rapid co-design of energy-efficient CIM accelerators.

Abstract

This work introduces MICSim, an open-source, pre-circuit simulator designed for early-stage evaluation of chip-level software performance and hardware overhead of mixed-signal compute-in-memory (CIM) accelerators. MICSim features a modular design, allowing easy multi-level co-design and design space exploration. Modularized from the state-of-the-art CIM simulator NeuroSim, MICSim provides a highly configurable simulation framework supporting multiple quantization algorithms, diverse circuit/architecture designs, and different memory devices. This modular approach also allows MICSim to be effectively extended to accommodate new designs. MICSim natively supports evaluating accelerators' software and hardware performance for CNNs and Transformers in Python, leveraging the popular PyTorch and HuggingFace Transformers frameworks. These capabilities make MICSim highly adaptive when simulating different networks and user-friendly. This work demonstrates that MICSim can easily be combined with optimization strategies to perform design space exploration and used for chip-level Transformers CIM accelerators evaluation. Also, MICSim can achieve a 9x - 32x speedup of NeuroSim through a statistic-based average mode proposed by this work.

MICSim: A Modular Simulator for Mixed-signal Compute-in-Memory based AI Accelerator

TL;DR

MICSim offers a modular, Python-based pre-circuit simulator for mixed-signal CIM accelerators, enabling early-stage software/hardware performance estimation for CNNs and Transformers. It decouples algorithms, architectures, circuits, and devices, and introduces an average data mode to replace trace-based evaluation, achieving substantial runtime reductions while preserving estimation accuracy. The framework supports multiple quantization methods, diverse digit-mapping and DAC/ADC models, and Transformer-specific CIM architectures, enabling cross-layer design space exploration across algorithm, architecture/circuit, and device dimensions. Empirically, MICSim demonstrates near-parity throughput with trace-mode assessments, notable speedups (up to 9–32× over NeuroSim) for CNN workloads, and detailed insights into quantization, architecture, and device tradeoffs for CNNs and Transformer accelerators, including BERT-level evaluation. The work emphasizes extensibility, integration with PyTorch/HuggingFace, and practical impact for rapid co-design of energy-efficient CIM accelerators.

Abstract

This work introduces MICSim, an open-source, pre-circuit simulator designed for early-stage evaluation of chip-level software performance and hardware overhead of mixed-signal compute-in-memory (CIM) accelerators. MICSim features a modular design, allowing easy multi-level co-design and design space exploration. Modularized from the state-of-the-art CIM simulator NeuroSim, MICSim provides a highly configurable simulation framework supporting multiple quantization algorithms, diverse circuit/architecture designs, and different memory devices. This modular approach also allows MICSim to be effectively extended to accommodate new designs. MICSim natively supports evaluating accelerators' software and hardware performance for CNNs and Transformers in Python, leveraging the popular PyTorch and HuggingFace Transformers frameworks. These capabilities make MICSim highly adaptive when simulating different networks and user-friendly. This work demonstrates that MICSim can easily be combined with optimization strategies to perform design space exploration and used for chip-level Transformers CIM accelerators evaluation. Also, MICSim can achieve a 9x - 32x speedup of NeuroSim through a statistic-based average mode proposed by this work.
Paper Structure (21 sections, 3 equations, 9 figures, 4 tables)

This paper contains 21 sections, 3 equations, 9 figures, 4 tables.

Figures (9)

  • Figure 1: The software performance evaluation framework
  • Figure 2: Dataflow in multi-head attention block
  • Figure 3: Transformer CIM accelerator chip architecture
  • Figure 4: Comparison of average and trace mode workflows
  • Figure 5: Runtime comparison between NeuroSim and MICSim
  • ...and 4 more figures