• 北大核心期刊(《中文核心期刊要目总览》2017版)
  • 中国科技核心期刊(中国科技论文统计源期刊)
  • JST 日本科学技术振兴机构数据库(日)收录期刊

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于高带宽存储器的RNN加速设计

吴茜凤 巩杰 范军 何虎

吴茜凤, 巩杰, 范军, 何虎. 基于高带宽存储器的RNN加速设计[J]. 微电子学与计算机, 2021, 38(10): 79-84. doi: 10.19304/J.ISSN1000-7180.2021.002310.19304/J.ISSN1000-7180.2021.0023
引用本文: 吴茜凤, 巩杰, 范军, 何虎. 基于高带宽存储器的RNN加速设计[J]. 微电子学与计算机, 2021, 38(10): 79-84. doi: 10.19304/J.ISSN1000-7180.2021.002310.19304/J.ISSN1000-7180.2021.0023
WU Xifeng, Gong Jie, Fan Jun, He Hu. Accelerating RNNs on FPGA with HBM[J]. Microelectronics & Computer, 2021, 38(10): 79-84. doi: 10.19304/J.ISSN1000-7180.2021.002310.19304/J.ISSN1000-7180.2021.0023
Citation: WU Xifeng, Gong Jie, Fan Jun, He Hu. Accelerating RNNs on FPGA with HBM[J]. Microelectronics & Computer, 2021, 38(10): 79-84. doi: 10.19304/J.ISSN1000-7180.2021.002310.19304/J.ISSN1000-7180.2021.0023

基于高带宽存储器的RNN加速设计

doi: 10.19304/J.ISSN1000-7180.2021.002310.19304/J.ISSN1000-7180.2021.0023
基金项目: 

国家重点研发计划 2016YFA0201804

详细信息
    作者简介:

    吴茜凤  女,(1997-),硕士研究生.研究方向为深度学习加速器设计

    巩杰  男,(1995-),硕士研究生.研究方向为深度学习加速器设计

    范军  男,(1995-),硕士研究生.研究方向为深度学习加速器设计

    通讯作者:

    何虎(通讯作者)  男,(1974-),博士,副研究员.研究方向为高性能数字信号处理器、嵌入式高性能CPU IP设计. E-mail: hehu@tsinghua.edu.cn

  • 中图分类号: TN47

Accelerating RNNs on FPGA with HBM

  • 摘要: 针对循环神经网络的算法性能受带宽限制问题,设计了基于HBM存储器的循环神经网络加速SoC,可通用的支持RNN及其变体的推理过程.首先比较RNN及其变体结构,分析算法计算需求和存储带宽需求.然后,提出基于HBM的高带宽加速器设计,将其部署在VCU128开发板上.最后采用Roofline模型分析方法,提高带宽和计算密度,测试DeepSpeech2和GNMT算法的推理平均性能分别为61.74 GFLOPs/sec,20 GFLOPs/sec.对比基于DDR存储器的设计,性能提高3.68倍.对比其他基于FPGA循环神经网络加速的浮点32位设计,性能提高8.5倍.该设计提出了针对3D高带宽存储器的数据调用方法,并能适应不同的循环神经网络应用.
  • 图  1  RNN和LSTM基本结构

    图  2  基于FPGA的SoC系统

    图  3  数据传输示意图

    图  4  计算流程示意图

    图  5  激活函数模块示意图

    图  6  对比不同带宽时Deepspeech2计算性能

    图  7  增加输入向量个数变化

    表  1  DeepSpeech2测试参数量

    层级 双向RNN1 双向RNN2
    xt 4 096 4 096
    wih (2 048, 4 096) (2 048, 4 096)
    whh (2 048, 2 048) (2 048, 2 048)
    ht 2 048 2 048
    参数量 50.34 M 50.34 M
    下载: 导出CSV

    表  2  GNMT测试参数量

    层级 输入向量 Wih Whh 隐层向量 参数量
    L1 2 048 (2 048, 4 096) (1 024, 4 096) 1 024 25.17 M
    L2 1 024 (1 024, 4 096) (1 024, 4 096) 1 024 16.78 M
    L3 1 024 (1 024, 4 096) (1 024, 4 096) 1 024 16.78 M
    L4 1 024 (1 024, 4 096) (1 024, 4 096) 1 024 16.78 M
    L5 1 024 (1 024, 4 096) (1 024, 4 096) 1 024 16.78 M
    L6 1 024 (1 024, 4 096) (1 024, 4 096) 1 024 16.78 M
    L7 1 024 (1 024, 4 096) (1 024, 4 096) 1 024 16.78 M
    汇总 128.44 M
    下载: 导出CSV

    表  3  FPGA资源利用率

    LUTs Registers RAM36s DSPs
    存在 1 303 680 2 607 360 4 032 9 024
    利用 416 614 309 904 793.5 630
    利用率(%) 31.96 11.89 19.68 6.98
    下载: 导出CSV

    表  4  GNMT测试结果

    GNMT VCU118(DDR) VCU128(HBM)
    计算量(GFLOPs) 1.64 1.64
    硬件运行时间(ms) 298 82
    实际传输带宽(GB/s) 16.46 58.63
    平均性能(GFLOPs/sec) 6.64 20.00
    下载: 导出CSV

    表  5  同类设计性能对比

    文献[5] 文献[6] 文献[1] 本文
    FPGA型号 XC7VX485T XCVU9P XCVU9P XCVU37P
    工作频率
    (MHz)
    150 100 100 100
    Benchmark LSTM LSTM RNN RNN
    &LSTM
    DSP 1 176 5 969 1 289 521
    实际性能
    (GFLOPs/sec)
    7.26
    (1x)
    7.16
    (0.99x)
    27.50
    (3.78x)
    61.74
    (8.50x)
    DSP效率
    (MFLOPs/sec/DSP)
    6.17
    (1x)
    1.20
    (0.19x)
    21.33
    (3.46x)
    118.50
    (19.21x)
    下载: 导出CSV

    表  6  性能功耗比

    MicroBlaze Intel i7-8700 本设计
    运行时间(s) 3729.41 17.00 2.50
    实际性能(GFLOPs/sec) 0.01
    (0.004x)
    2.27
    (1x)
    61.74
    (27.20x)
    功耗(W) 5.1 65 20.6
    能效比
    (MFLOPs/sec/W)
    2.03
    (0.06x)
    34.92
    (1x)
    2997.09
    (85.83x)
    下载: 导出CSV
  • [1] 范军, 巩杰, 吴茜凤, 何虎. 基于FPGA的RNN加速SoC设计与实现[J]. 微电子学与计算机, 2020, 37(11): 1-5, 12. DOI: 10.19304/j.cnki.issn1000-7180.2020.11.001.

    FAN J, GONG J, WU X F, et al. Design and implementation of Recurrent Neural Network (RNN) acceleration SoC on FPGA[J]. Microelectronics & Computer, 2020, 37(11): 1-5, 12. DOI: 10.19304/j.cnki.issn1000-7180.2020.11.001.
    [2] AMODEI D, ANANTHANARAYANA S, ANUBHAI R, et al. Deep speech 2: End-to-end speech recognition in English and mandarin[C]//Proceedings of the 33rd International Conference on International Conference on Machine Learning. New York: JMLR, 2016: 173-182.
    [3] WU Y H, SCHUSTER M, CHEN Z F, et al. Google's neural machine translation system: Bridging the gap between human and machine translation[J]. arXiv preprint arXiv: 1609.08144, 2016.
    [4] WILLIAMS S, WATERMAN A, PATTERSON D. Roofline: an insightful visual performance model for floating-point programs and multicore architectures[J]. Communications of the Association for Computing Machinery, 2009, 52(4): 65-76. http://people.eecs.berkeley.edu/~kubitron/courses/cs252-S09/handouts/papers/RooflineVyNoYellow.pdf
    [5] GUAN Y J, YUAN Z H, SUN G Y, et al. FPGA-based accelerator for long short-term memory recurrent neural networks[C]//2017 22nd Asia and South Pacific Design Automation Conference (ASP-DAC). Chiba, Japan: IEEE, 2017: 629-634. DOI: 10.1109/ASPDAC.2017.7858394.
    [6] LI Q, ZHANG X F, XIONG J J, et al. Implementing neural machine translation with bi-directional GRU and attention mechanism on FPGAs using HLS[C]//Proceedings of the 24th Asia and South Pacific Design Automation Conference. Tokyo, Japan: ACM, 2019: 693-698. DOI: 10.1145/3287624.3287717.
  • 加载中
图(7) / 表(6)
计量
  • 文章访问数:  66
  • HTML全文浏览量:  44
  • PDF下载量:  7
  • 被引次数: 0
出版历程
  • 收稿日期:  2021-01-06
  • 修回日期:  2021-02-07
  • 刊出日期:  2021-10-05

目录

    /

    返回文章
    返回