OpenACM: An Open-Source SRAM-Based Approximate CiM Compiler
Yiqi Zhou, JunHao Ma, Xingyang Li, Yule Sheng, Yue Yuan, Yikai Wang, Bochang Wang, Yiheng Wu, Shan Shen, Wei Xing, Daying Sun, Li Li, Zhiqiang Xiao

TL;DR
OpenACM is an open-source compiler that automates the design of SRAM-based approximate compute-in-memory architectures, enabling significant energy savings for AI workloads by leveraging error tolerance.
Contribution
It introduces the first accuracy-aware, open-source compiler for SRAM-based approximate DCiM architectures with configurable multipliers and a complete, reproducible design flow.
Findings
Achieves up to 64% energy savings in CNNs
Demonstrates negligible accuracy loss
Provides an open-source, reproducible design framework
Abstract
The rise of data-intensive AI workloads has exacerbated the ``memory wall'' bottleneck. Digital Compute-in-Memory (DCiM) using SRAM offers a scalable solution, but its vast design space makes manual design impractical, creating a need for automated compilers. A key opportunity lies in approximate computing, which leverages the error tolerance of AI applications for significant energy savings. However, existing DCiM compilers focus on exact arithmetic, failing to exploit this optimization. This paper introduces OpenACM, the first open-source, accuracy-aware compiler for SRAM-based approximate DCiM architectures. OpenACM bridges the gap between application error tolerance and hardware automation. Its key contribution is an integrated library of accuracy-configurable multipliers (exact, tunable approximate, and logarithmic), enabling designers to make fine-grained accuracy-energy…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Low-power high-performance VLSI design · Embedded Systems Design Techniques
