摘要
为提高卷积神经网络(CNN)训练速度,设计一种基于FPGA的分布式CNN加速器。采用数据并行分布式架构,通过多FPGA并行计算提高CNN的训练速度。分析各层数据依赖性,调整矩阵卷积运算顺序,实现层内和层间的细粒度流水线。针对卷积运算消耗过多存储资源,设计一种数据拼接存储结构,有效节省存储资源。为实现多FPGA互联,采用40G光纤传输数据,同时优化Ring-Allreduce传输模式,减少板间数据传递的延迟。针对Mnist数据集,选用16 bit定点量化,不同层间选用不同量化方案,减小梯度下降误差。测试表明,基于Intel Arria 10硬件平台,设计的2 FPGA和3 FPGA架构相对于单FPGA可分别实现1.99、2.98的加速比。
-
单位山东科技大学; 电子信息工程学院