多数据流并行卷积运算加速引擎研究与设计
2020-12-28马佳利朱智强戴乐育郭松辉向建安
计算机工程与设计 2020年12期
马佳利,朱智强,戴乐育,郭松辉,向建安
(1.信息工程大学 密码工程学院,河南 郑州 450001;2.95010部队,广东 汕头 515000)
0 引 言
计算资源是卷积神经网络(convolutional neural networks,CNN)[1-3]得到发展和应用的基础。但是,随着研究的不断深入,CNN在其分类精度不断提升的同时还引进了一些问题,网络的拓扑结构日趋复杂,算法的运算量和参数量也有所增加,这些规模较大的模型正变得难以处理[4]。与此同时,半导体器件的发展却逐渐变慢,传统的CPU运算能力的提升速度跟不上神经网络参数膨胀的速度。为了更好地应用CNN,需要性能更佳的加速器件。
使用GPU进行CNN的运算是目前广泛采用的一种加速方法。GPU当中存在大量并行计算资源,将CNN中的各部分运算适配到这些计算核中并行处理,可以实现运算加速。但是,GPU作为一种通用处理器,并不是为卷积神经网络专门设计的,因此没有考虑到当前CNN运算过程中的一些特性,例如低精度运算和稀疏性[5],这将导致运算加速的不充分。
为进一步提高CNN的运算速度,更好的方法是定制专用加速器。这种方法基本思想是让器件“适应”CNN,因此需要根据CNN各部分的运算特点,设计专门的电路,以完成网络各部分的运算与控制。考虑到卷积运算通常占CNN运算总量的90%以上[6],有效的卷积加速方案显著影响硬件CNN加速器的性能,需要重点研究卷积运算的加速。本文通过分析卷积运算的特点和运算中数据传输的过程,设计了多数据流并行卷积运算加速引擎,与已有方案相比,实现了运算速度的提升和逻辑资源的减少。……
登录APP查看全文
