Analog processing-using-memory (PUM; a.k.a. in-memory computing) makes use of electrical interactions inside memory arrays to perform bulk matrix-vector multiplication (MVM) operations. However, many popular matrix-based kernels need to execute non-MVM operations, which analog PUM cannot directly perform. To retain its energy efficiency, analog PUM architectures augment memory arrays with CMOS-based domain-specific fixed-function hardware to provide complete kernel functionality, but the difficulty of integrating such specialized CMOS logic with memory arrays has largely limited analog PUM to being an accelerator for machine learning inference, or for closely related kernels. An opportunity exists to harness analog PUM for general-purpose computation: recent works have shown that memory arrays can also perform Boolean PUM operations, albeit with very different supporting hardware and electrical signals than analog PUM. We propose DARTH-PUM, a general-purpose hybrid PUM architecture that tackles key hardware and software challenges to integrating analog PUM and digital PUM. We propose optimized peripheral circuitry, coordinating hardware to manage and interface between both types of PUM, an easy-to-use programming interface, and low-cost support for flexible data widths. These design elements allow us to build a practical PUM architecture that can execute kernels fully in memory, and can scale easily to cater to domains ranging from embedded applications to large-scale data-driven computing. We show how three popular applications (AES encryption, convolutional neural networks, large-language models) can map to and benefit from DARTH-PUM, with speedups of 59.4x, 14.8x, and 40.8x over an analog+CPU baseline.


翻译:模拟内存内处理(Processing-Using-Memory,简称PUM,亦称内存计算)利用存储器阵列内部的电学相互作用来执行批量矩阵-向量乘法运算。然而,许多流行的基于矩阵的计算核需要执行非MVM操作,这是模拟PUM无法直接完成的。为保持其能效优势,模拟PUM架构通常采用基于CMOS的领域专用固定功能硬件来增强存储器阵列,以提供完整的计算核功能。但将此类专用CMOS逻辑与存储器阵列集成的困难,在很大程度上限制了模拟PUM主要作为机器学习推理或紧密相关计算核的加速器。利用模拟PUM进行通用计算存在一个机遇:近期研究表明,存储器阵列也能执行布尔PUM操作,尽管其所需的支持硬件和电信号与模拟PUM截然不同。我们提出了DARTH-PUM,一种通用的混合PUM架构,旨在解决集成模拟PUM与数字PUM的关键硬件和软件挑战。我们提出了优化的外围电路、用于管理和协调两类PUM间接口的协调硬件、易于使用的编程接口,以及对灵活数据宽度的低成本支持。这些设计要素使我们能够构建一种实用的PUM架构,该架构可在内存中完整执行计算核,并能轻松扩展以适应从嵌入式应用到大规模数据驱动计算的各种领域。我们展示了三种流行应用(AES加密、卷积神经网络、大语言模型)如何映射到DARTH-PUM并从中受益,相较于模拟PUM+CPU基线,分别实现了59.4倍、14.8倍和40.8倍的加速。

0
下载
关闭预览

相关内容

PubMed GPT : 用于生物医学文本的特定领域大型语言模型
专知会员服务
38+阅读 · 2022年12月19日
【硬核书】Linux核心编程|Linux Kernel Programming,741页pdf
专知会员服务
80+阅读 · 2021年3月26日
专知会员服务
29+阅读 · 2021年2月26日
手把手教你入门使用tf-slim库 | 回顾
AI研习社
12+阅读 · 2017年12月9日
新型阻变存储器的物理研究与产业化前景
中国物理学会期刊网
13+阅读 · 2017年11月1日
GAFT:一个使用 Python 实现的遗传算法框架
Python开发者
10+阅读 · 2017年8月1日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
VIP会员
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员