神经网络加速器设计
基于FPGA的深度学习加速器优化(一) 神经网络加速 神经网络 基于FPGA的神经网络加速器设计 高速度 高能效 神经网络加速 神经网络算法相较于传统的深度学习算法在很多方面都有较大的优势,不同的网络模型在图像、视频以及语音等领域发挥出越来越重要的作用,例如卷积神经网络CNN、递归神经网络RNN等等。但对于神经网络模型来说,其 计算量 和 存储需求 是非常大的,如下表所示: 因此,针对基于神经网络的应用选择合适的计算平台是非常重要的。典型的CPU平台计算能力约为10-100G FLOP/s,能效通常低于1GOP/J。因此CPU平台既不能满足云端应用高性能的需求也不能满足移动端低能耗的要求。而GPU平台的峰值算力可以达到10TOP/s,同时像Caffe、TensorFlow等框架也提供了针对GPU加速的接口,非常适合于高性能要求的应用,然而其能效比较低。而FPGA平台相较于CPU、GPU具有很高的能效比,同时FPGA灵活性比较高,相较于AISC的实现方式,成本较低,周期短。 但同时基于FPGA的神将网络加速也面临着一些挑战: (1)FPGA平台相较于GPU其存储空间、I/O带宽、计算资源等通常都是有限的; (2)目前大多数FPGA平台的工作频率通常在100-300MHz之间,远远低于CPU或者GPU平台工作频率; (3)神经网络算法在FPGA上的部署难度要大大高于CPU或者GPU平台