【资料图】
具体调研请见:https://zty-user.github.io/post/9d3964fd.html
摘要
近年来,卷积神经网络(CNN)已被广泛应用于计算机视觉领域。FPGA由于其高性能和可重构性,已被充分开发为较有前途的CNN硬件加速器。然而,先前基于传统卷积算法的FPGA实现方案往往受到FPGA计算能力的限制,例如DSP的数量。
首先,为了解决这一问题,本文研究的论文《Evaluating Fast Algorithm for Convolutional Neural Networks on FPGAs》采用快速算法将特征映射转换为特定域,降低了算法复杂度,减少了DSP的使用数量,提升了FPGA的资源利用率。Winograd和快速傅里叶变换(FFT)作为快速算法的代表,首先将输入数据转换并滤波,然后逐元乘法,再进行逆变换得到最终输出。
其次,调研的论文中还提出了一种在FPGA上实现快速算法的新架构。该设计采用了行缓冲结构,可以有效地重用不同块之间的特征图数据。该论文还有效地对Winograd/FFT处理元素(PE)单元进行流水线化,并通过并行化启动多个PE。
最后,论文提出了一个分析模型来预测资源的使用和性能,并使用了最先进的CNN实验测出了FPGA的最佳性能和能源效率。在Xilinx ZCU102平台上,使用Winograd实现了AlexNet和VGG16的854.6 GOP/s和2479.6 GOP/s。在Xilinx ZC706平台上,使用Winograd实现了Resnet的130.4 GOP/s,使用FFT实现了YOLO的2011 GOP/s。
关键词:CNN、FPGA、快速算法、新架构、行缓冲、PE、流水化、并行化、分析模型
关键词: