中文

BRAMAC:面向 FPGA 上乘加运算的 BRAM 内计算架构

硬件体系结构 2023-04-11 v1

摘要

使用降低的整数精度进行深度神经网络(DNN)推理已被证明与全精度浮点相比,在内存利用率和计算吞吐量上取得显著提升,且精度损失极小或没有。现代基于 FPGA 的 DNN 推理严重依赖片上块 RAM(BRAM)进行模型存储,以及数字信号处理(DSP)单元来实现乘加(MAC)操作这一基础 DNN 原语。在本文中,我们通过提出 BRAMAC(Compute-in-BRAM Architectures for Multiply-Accumulate,BRAM 内乘加计算架构)来增强现有 BRAM 以同时计算 MAC。BRAMAC 采用混合位串行与位并行数据流,在一个小型虚拟 BRAM 阵列中支持 2 的补码 2 至 8 位 MAC。与先前 BRAM 内计算架构不同,BRAMAC 允许在主 BRAM 阵列进行读/写访问的同时在虚拟 BRAM 阵列中计算,从而支持持久化和基于分块的 DNN 推理。我们探索了两种 BRAMAC 变体:BRAMAC-2SA(带 2 个同步虚拟阵列)和 BRAMAC-1DA(带 1 个双泵浦虚拟阵列)。对于 2 位、4 位和 8 位精度,BRAMAC-2SA/BRAMAC-1DA 可将大型 Arria-10 FPGA 的峰值 MAC 吞吐量分别提升 2.6×/2.1×、2.3×/2.0× 和 1.9×/1.7×,代价是 FPGA 核心面积增加 6.8%/3.4%。通过将 BRAMAC-2SA/BRAMAC-1DA 添加到最先进的基于分块的 DNN 加速器,对于 AlexNet 和 ResNet-34,在不同模型精度下分别可实现平均 2.05×/1.7× 和 1.33×/1.52× 的加速。

关键词

引用

@article{arxiv.2304.03974,
  title  = {BRAMAC: Compute-in-BRAM Architectures for Multiply-Accumulate on FPGAs},
  author = {Yuzong Chen and Mohamed S. Abdelfattah},
  journal= {arXiv preprint arXiv:2304.03974},
  year   = {2023}
}

备注

11 pages, 13 figures, 3 tables, FCCM conference 2023