[论文解读] Accelerating CNN inference on FPGAs: A Survey
对基于FPGA的CNN推理加速器的综合综述,详细介绍算法变换(GEMM, Winograd, FFT)、数据路径优化、近似计算,以及将CNN高效映射到FPGA硬件的设计空间探索策略。
Convolutional Neural Networks (CNNs) are currently adopted to solve an ever greater number of problems, ranging from speech recognition to image classification and segmentation. The large amount of processing required by CNNs calls for dedicated and tailored hardware support methods. Moreover, CNN workloads have a streaming nature, well suited to reconfigurable hardware architectures such as FPGAs. The amount and diversity of research on the subject of CNN FPGA acceleration within the last 3 years demonstrates the tremendous industrial and academic interest. This paper presents a state-of-the-art of CNN inference accelerators over FPGAs. The computational workloads, their parallelism and the involved memory accesses are analyzed. At the level of neurons, optimizations of the convolutional and fully connected layers are explained and the performances of the different methods compared. At the network level, approximate computing and datapath optimization methods are covered and state-of-the-art approaches compared. The methods and tools investigated in this survey represent the recent trends in FPGA CNN inference accelerators and will fuel the future advances on efficient hardware deep learning.
研究动机与目标
- 总结基于FPGA的CNN推理加速器的最新进展,并识别常见的优化策略。
- 分析卷积层和全连接层如何通过算法变换和数据路径设计在FPGA上实现加速。
- 讨论影响性能和能耗效率的内存访问模式和缓存策略。
- 比较在FPGA环境下近似计算和模型/数据优化的方法。
- 就FPGA CNN实现中的设计空间权衡(展开、切块和硬件生成)提供指南。
提出的方法
- 审查CNN推理工作负载和并行性模式,以理解硬件映射挑战。
- 对用于在FPGA上加速卷积层和全连接层的算法优化进行分类与解释(GEMM、Winograd、FFT)。
- 描述数据路径优化技术(脉冲阵列、SIMD加速器、循环展开/切块、缓存)。
- 讨论用于配置FPGA加速器的设计空间探索方法(Roofline引导的穷举和启发式方法)。
- 调查用于实现FPGA CNN加速器的数据路径和硬件生成方法(HLS/OpenCL、RTL、DSL)。
实验结果
研究问题
- RQ1将CNN层映射到FPGA的主导算法变换是什么,它们如何影响性能和内存使用?
- RQ2数据路径优化和循环变换如何在资源受限的FPGA设备上实现高效的CNN推理?
- RQ3内存带宽和片上缓存对FPGA CNN吞吐量和能效有什么作用?
- RQ4设计空间探索方法如何指导CNN工作负载的FPGA加速器配置?
- RQ5在硬件生成(HLS/OpenCL/RTL)方面有哪些趋势支持可扩展的FPGA CNN实现?
主要发现
- 基于GEMM、Winograd和FFT的转换是将CNN层映射到FPGA加速器的核心技术,每种在吞吐量和内存访问方面各有权衡。
- 数据路径优化,包括循环展开和切块,对于平衡计算与内存、以及适配片上缓冲区至关重要。
- 内存带宽和缓存层次结构是主要瓶颈;高效的片上缓冲显著减少外部内存访问和能耗。
- 设计空间探索,常常是以Roofline为引导,对于在FPGA资源限制内最大化吞吐量的展开/切块参数选择至关重要。
- 各种FPGA实现(HLS/OpenCL和RTL)通过跨批次重用滤波器和融合层,显示出显著的性能提升。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。