🤖 AI Summary
This work addresses the lack of automated compilation tools supporting approximate computing in SRAM-based digital compute-in-memory (DCiM) architectures, a key barrier to overcoming the “memory wall” under AI workloads. We present the first open-source, precision-aware, end-to-end DCiM compiler that integrates tunable approximation techniques—including adjustable approximations and logarithmic multipliers—into the compilation flow. The framework incorporates transistor-level customizable SRAM macros, process-variation-aware characterization, and a precision-configurable multiplier library, enabling a fully reproducible physical design flow built upon OpenROAD and FreePDK45. Evaluated on representative CNNs, our approach achieves up to 64% energy reduction with negligible accuracy loss. The complete toolchain is open-sourced to foster community reproducibility and further innovation.
📝 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 trade-offs. The compiler automates the generation of the DCiM architecture, integrating a transistor-level customizable SRAM macro with variation-aware characterization into a complete, open-source physical design flow based on OpenROAD and the FreePDK45 library. This ensures full reproducibility and accessibility, removing dependencies on proprietary tools. Experimental results on representative convolutional neural networks (CNNs) demonstrate that OpenACM achieves energy savings of up to 64\% with negligible loss in application accuracy. The framework is available on \href{https://github.com/ShenShan123/OpenACM}{OpenACM:URL}