深度解析:NeuroMAX与稀疏CNN加速器的技术奥秘
1. NeuroMAX加速器概述
NeuroMAX是一款专为优化3×3和1×1卷积设计的密集型CNN加速器。不过,它也能用于加速更大尺寸的卷积核运算。
1.1 高阶卷积处理
对于高阶卷积,如5×5卷积,由于PE矩阵大小为6×3,宽度大于3且高度大于6的滤波器需要多个周期来计算输出值。以5×5卷积为例,输入矩阵和权重矩阵的最后两列在时间戳t = 2时加载。生成的部分和(o1 - o18)会被提供给加法网络1。具体的输出值计算方式如下:
- (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核心还能通过选择合适的步长和内核来执行池化操作。
1.2 实现与结果
NeuroMAX加速器在软件和硬件(Xilinx Zynq - 7020 SoC的PL侧,工作频率200 MHz)上均有实现。以下是相关的资源利用和性能数据:
| 属性 | 加速器 | 利用率 |
| ---- | ---- | ---- |
| LUTs | 20,680 | 38% |
| FFs | 17,207 |
超级会员免费看
订阅专栏 解锁全文
85

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



