一句话:提出融合模拟与数字 PUM 的通用混合存内计算架构,使非 MVM 内核也能全内存执行。
模拟 PUM(存内计算)擅长批量矩阵-向量乘法,但许多内核含其无法直接执行的运算,需 CMOS 专用固定功能,难以通用。DARTH-PUM 提出融合模拟与数字 PUM 的通用混合架构,通过优化外围电路、协调硬件、易用编程接口和低成本可变数据宽度支持,使内核可完全在内存中执行并适应嵌入式到大规模数据驱动计算。作者将 AES、卷积神经网络和大语言模型映射到该架构,相对模拟 PUM 加 CPU 基线分别取得 59.4 倍、14.8 倍和 40.8 倍加速。
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.