当前位置: X-MOL 学术ACM Trans. Archit. Code Optim. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A Compilation Tool for Computation Offloading in ReRAM-based CIM Architectures
ACM Transactions on Architecture and Code Optimization ( IF 1.6 ) Pub Date : 2023-10-26 , DOI: 10.1145/3617686
Hai Jin 1 , Bo Lei 1 , Haikun Liu 1 , Xiaofei Liao 1 , Zhuohui Duan 1 , Chencheng Ye 1 , Yu Zhang 1
Affiliation  

Computing-in-Memory (CIM) architectures using Non-volatile Memories (NVMs) have emerged as a promising way to address the “memory wall” problem in traditional Von Neumann architectures. CIM accelerators can perform arithmetic or Boolean logic operations in NVMs by fully exploiting their high parallelism for bit-wise operations. These accelerators are often used in cooperation with general-purpose processors to speed up a wide variety of artificial neural network applications. In such a heterogeneous computing architecture, the legacy software should be redesigned and re-engineered to utilize new CIM accelerators. In this article, we propose a compilation tool to automatically migrate legacy programs to such heterogeneous architectures based on the low-level virtual machine (LLVM) compiler infrastructure. To accelerate some computations such as vector-matrix multiplication in CIM accelerators, we identify several typical computing patterns from LLVM intermediate representations, which are oblivious to high-level programming paradigms. Our compilation tool can modify accelerable LLVM IRs to offload them to CIM accelerators automatically, without re-engineering legacy software. Experimental results show that our compilation tool can translate many legacy programs to CIM-supported binary executables effectively, and improve application performance and energy efficiency by up to 51× and 309×, respectively, compared with general-purpose x86 processors.



中文翻译:

基于 ReRAM 的 CIM 架构中计算卸载的编译工具

使用非易失性存储器 (NVM) 的内存计算(CIM) 架构已成为解决传统冯·诺依曼架构中“内存墙”问题的一种有前途的方法。CIM 加速器可以通过充分利用 NVM 的按位运算的高并行性来执行算术或布尔逻辑运算。这些加速器通常与通用处理器配合使用,以加速各种人工神经网络应用。在这样的异构计算架构中,应重新设计和重新设计遗留软件以利用新的 CIM 加速器。在本文中,我们提出了一种编译工具,可以基于低级虚拟机(LLVM)编译器基础设施自动将遗留程序迁移到此类异构架构。为了加速某些计算,例如 CIM 加速器中的向量矩阵乘法,我们从 LLVM中间表示中识别出几种典型的计算模式,这些模式忽略了高级编程范例。我们的编译工具可以修改可加速的 LLVM IR,自动将它们卸载到 CIM 加速器,而无需重新设计遗留软件。实验结果表明,我们的编译工具可以有效地将许多遗留程序转换为CIM支持的二进制可执行文件,与通用x86处理器相比,应用程序性能和能源效率分别提高了51倍和309倍。

更新日期:2023-10-28
down
wechat
bug