OpenACMv2: An Accuracy-Constrained Co-Optimization Framework for Approximate DCiM
Organizations: Nanjing University of Science and Technology, China · Shenzhen University, China · Beihang University, China · University of Sheffield, UK ·
Abstract
Digital Compute-in-Memory (DCiM) accelerates neural networks by reducing data movement. Approximate DCiM can further improve power-performance-area (PPA), but demands accuracy-constrained co-optimization across coupled architecture and transistor-level choices. Building on OpenYield, we introduce Accuracy-Constrained Co-Optimization (ACCO) and present OpenACMv2, an open framework that operationalizes ACCO via two-level optimization: (1) accuracy-constrained architecture search of compressor combinations and SRAM macro parameters, driven by a fast GNN-based surrogate for PPA and error; and (2) variation- and PVT-aware transistor sizing for standard cells and SRAM bitcells using Monte Carlo. By decoupling ACCO into architecture-level exploration and circuit-level sizing, OpenACMv2 integrates classic single- and multi-objective optimizers to deliver strong PPA-accuracy tradeoffs and robust convergence. The workflow is compatible with FreePDK45 and OpenROAD, supporting reproducible evaluation and easy adoption. Experiments show that the proposed two-level ACCO framework achieves most of its accuracy-constrained efficiency gain at Level-1 through architecture exploration, delivering roughly 50%+ PDP reduction, while Level-2 transistor-level optimization provides a further single-digit PDP improvement while preserving accuracy, enabling rapid "what-if" exploration for approximate DCiM. The framework is available on GitHub (https://github.com/ShenShan123/OpenACM).
Figures & tables
| Metric | 8-bit | 16-bit | ||||
| MSE ( ) | MRE (%) | R 2 | MSE ( ) | MRE (%) | R 2 | |
| MRED | 0.52 | 2.17 | 0.998 | 2.94 | 4.73 | 0.977 |
| NMED | 9.25 | 1.84 | 0.996 | 2.66 | 2.30 | 0.959 |
| Delay | 6.52 | 0.03 | 0.969 | 7.39 | 0.22 | 0.917 |
| Area | 1.77 | 0.11 | 0.991 | 3.65 | 0.12 | 0.978 |
| Power | 2.34 | 0.30 | 0.989 | 0.86 | 0.25 | 0.968 |
Compute-in-Memory
Compute-in-memory (CIM) performs computation within or beside memory arrays to reduce data movement and accelerate AI workloads.
See all 56 papers