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}


翻译:数据密集型人工智能工作负载的兴起加剧了“内存墙”瓶颈。采用SRAM的数字存内计算提供了一种可扩展的解决方案,但其庞大的设计空间使得手动设计不切实际,从而产生了对自动化编译器的需求。一个关键机遇在于近似计算,它利用人工智能应用的容错性来实现显著的节能。然而,现有的数字存内计算编译器专注于精确算术,未能利用这一优化潜力。本文介绍了OpenACM,这是首个面向基于SRAM的近似数字存内计算架构的开源、精度感知编译器。OpenACM弥合了应用容错性与硬件自动化之间的鸿沟。其核心贡献在于集成了一个精度可配置的乘法器库(包括精确、可调近似和对数乘法器),使设计者能够进行细粒度的精度-能耗权衡。该编译器自动化生成数字存内计算架构,将一个晶体管级可定制的SRAM宏与考虑工艺偏差的表征集成到基于OpenROAD和FreePDK45库的完整、开源物理设计流程中。这确保了完全的可复现性和可访问性,消除了对专有工具的依赖。在代表性卷积神经网络上的实验结果表明,OpenACM在应用精度损失可忽略不计的情况下,实现了高达64%的节能。该框架可在\href{https://github.com/ShenShan123/OpenACM}{OpenACM:URL}获取。

0
下载
关闭预览

相关内容

编译器(Compiler),是一种计算机程序,它会将用某种编程语言写成的源代码(原始语言),转换成另一种编程语言(目标语言)。
专知会员服务
29+阅读 · 2021年2月26日
《“边缘计算+”技术白皮书》,82页pdf
专知
11+阅读 · 2022年8月28日
【边缘智能】边缘计算驱动的深度学习加速技术
产业智能官
20+阅读 · 2019年2月8日
类脑计算的前沿论文,看我们推荐的这7篇
人工智能前沿讲习班
21+阅读 · 2019年1月7日
【干货】深入理解自编码器(附代码实现)
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
VIP会员
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员