卷积神经网络加速器:从密集到稀疏的技术探索
1. NeuroMAX密集CNN加速器
NeuroMAX加速器旨在优化3×3和1×1卷积,不过它也能加速更大内核尺寸的卷积操作。NVIDIA提出的内核分解方法表明,要实现任意滤波器尺寸,需要额外支持4×4和5×5滤波器。
以5×5卷积为例,由于PE矩阵大小为6×3,宽度大于3且高度大于6的滤波器需要多个周期来计算输出值。在时间戳t = 2时,输入矩阵和权重矩阵的最后两列被加载。生成的部分和(o1 - o18)会被提供给加法器网络1。
对于5×5卷积,输出值的计算方式如下:
- (Va0, Va2 = ((o1 + o5 + o9) + (o10 + o14)) {old} + (o1 + o5 + o9) {new})
- (Va1 = ((o4 + o8 + o12) + (o13 + o17)) {old} + (o4 + o8 + o12) {new})
这里,旧值对应于t = 1时输入和权重矩阵前三列的卷积输出,新值对应于t = 2时最后两列的卷积输出。4×4卷积也采用类似的配置和数据流图。此外,CONV核心还能通过选择合适的步长和内核来执行池化操作。
2. NeuroMAX的实现与结果
NeuroMAX加速器已在软件和硬件(Xilinx Zynq - 7020 SoC的PL侧,运行频率200 MHz)上实现。
2.1 资源利用与功耗
| 属性 | 加速器 |
|---|
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



