Yiqi Zhou, Junhao Lu, Jiale Yu, Zhuo Xu, Yang He, Yue Yuan, Shan Shen, Daying Sun
5 min
As edge AI demands grow, SRAM-based Compute-in-Memory (DCiM) has become a popular solution to overcome the von Neumann bottleneck. However, most existing DCiM frameworks are limited to integer or fixed-point arithmetic. While floating-point support is desirable for neural network inference, integrating standard IEEE 754 floating-point units into dense memory arrays is prohibitively expensive in terms of area and power. This paper addresses this gap by integrating accuracy-configurable floating-point multipliers into the OpenACM framework.
The researchers implement an exact IEEE 754-compliant multiplier as a baseline and propose an approximate floating-point multiplier (AFPM) based on mantissa segmentation. The mantissa is divided into high-significance and low-significance segments. The high-significance segment is computed exactly, while the low-significance segments are conditionally executed or omitted to save hardware resources. The design includes a lightweight shift-based compensation mechanism to mitigate the numerical error introduced by these approximations. This multiplier is fully integrated into the OpenACM compiler flow, allowing designers to treat floating-point precision as a configurable optimization knob.
Post-layout results demonstrate that the proposed approximate multipliers significantly outperform exact IEEE 754 designs. Specifically, the approximate configurations achieve up to 69% reduction in logic area and 72% power savings. Because the critical path in these SRAM-based systems is dominated by memory access rather than the multiplier logic, these savings are achieved without increasing the overall system delay. Evaluations on image processing tasks and ResNet-18 inference show that these hardware optimizations result in negligible accuracy degradation, validating the approach for practical edge AI applications.
This work bridges the gap between arithmetic-level approximate computing and system-level DCiM compilation. By exposing floating-point precision as a compiler-integrated parameter, the authors enable systematic hardware-software co-optimization. This flexibility is critical for deploying energy-efficient, high-performance AI models on resource-constrained edge devices where area and power budgets are extremely tight.
Digital Compute-in-Memory (DCiM) reduces data movement and has become a promising solution for energy-efficient edge AI. However, most existing DCiM frameworks still primarily target integer or fixed-point arithmetic, and provide limited support for compiler-integrated and accuracy-configurable floating-point computation. Directly integrating conventional IEEE 754 floating-point units into dense SRAM-based DCiM arrays, however, incurs high area and power overhead. To address this challenge, this work presents an accuracy-configurable floating-point multiplier integrated into the OpenACM framework for SRAM-based DCiM. An exact IEEE~754-compliant multiplier is first implemented as a baseline, and a mantissa-segmentation-based approximate multiplier is then proposed to reduce hardware cost while preserving numerical fidelity. Post-layout results show up to 69% logic area reduction and 72% power savings over exact floating-point designs without delay overhead. Evaluations on image processing tasks and ResNet-18 inference further demonstrate negligible accuracy degradation. These results indicate that compiler-integrated approximate floating-point multiplication is a practical approach for enabling efficient and configurable floating-point support in SRAM-based DCiM systems. The Floating-Point Multiplier is available on https://github.com/ShenShan123/OpenACM
Alex: And that doesn't ruin the accuracy of the whole calculation?
Sam: It turns out that AI neural networks are surprisingly tolerant of small, controlled errors. Because the high-order portion of the number dominates the result, the small inaccuracies introduced by approximating the low-order portion tend to get washed out. The researchers found that by carefully choosing how to divide those bits, they could keep the final output of an AI model almost identical to the fully precise version—while using significantly less power and chip area.
Alex: So it's not about being perfectly accurate. It's about being accurate enough, while being much more efficient.
Sam: Exactly. And to make this practical for engineers, they built these techniques into a software framework called OpenACM. Think of it as a control panel. A designer can treat floating-point precision like a dial—turn it up when accuracy is critical, turn it down when battery life matters more. The framework handles the translation automatically.
Alex: How much of a difference does this actually make when you test it on real AI tasks?
Sam: The results are quite notable. Compared to the standard, fully precise approach, their method reduced the physical logic area on the chip by over seventy percent, with power savings of a similar scale. That's a meaningful reduction for a device that might run on a small battery for months at a time.
Alex: Does the system get slower as a result?
Sam: That's the interesting part—it doesn't. The main bottleneck in memory-based systems is the time it takes to access the memory itself, not the time spent doing the math. So simplifying the math unit doesn't change the overall speed of the system. The timing cost is effectively zero.
Alex: So they've avoided the usual trade-off between speed and efficiency. What's the limitation, then?
Sam: The main limitation is that this approach depends on AI's natural tolerance for small errors. If you were doing high-precision scientific computing—where every decimal point has safety or accuracy implications—this wouldn't be the right tool. It's specifically designed for applications where a tiny amount of imprecision is acceptable in exchange for a substantial gain in energy efficiency.
Alex: A specialized solution for a specific class of problems. Where does the research point from here?
Sam: The broader implication is that we can now move the processing intelligence of an AI directly into the memory of a small edge device. Instead of sending data to a separate, power-hungry processor, the memory does the thinking itself. That's a meaningful step toward running complex AI models on tiny, ultra-low-power sensors—the kind that could operate for years on a single battery.
Alex: It's a good example of how rethinking the mathematics can resolve a hardware bottleneck that seemed fixed. Thanks for walking me through it, Sam.
Sam: It was a pleasure. It's a clear improvement in how we think about designing hardware and software together—and a reminder that "good enough" precision, chosen carefully, can go a long way.
Alex: Thanks for listening to ResearchPod.