In recent years, convolutional neural networks (CNNs) have demonstrated their ability to solve problems in many fields and with accuracy that was not possible before. However, this comes with extensive computational requirements, which made general CPUs unable to deliver the desired real-time performance. At the same time, FPGAs have seen a surge in interest for accelerating CNN inference. This is due to their ability to create custom designs with different levels of parallelism. Furthermore, FPGAs provide better performance per watt compared to GPUs. The current trend in FPGA-based CNN accelerators is to implement multiple convolutional layer processors (CLPs), each of which is tailored for a subset of layers. However, the growing complexity of CNN architectures makes optimizing the resources available on the target FPGA device to deliver optimal performance more challenging. In this paper, we present a CNN accelerator and an accompanying automated design methodology that employs metaheuristics for partitioning available FPGA resources to design a Multi-CLP accelerator. Specifically, the proposed design tool adopts simulated annealing (SA) and tabu search (TS) algorithms to find the number of CLPs required and their respective configurations to achieve optimal performance on a given target FPGA device. Here, the focus is on the key specifications and hardware resources, including digital signal processors, block RAMs, and off-chip memory bandwidth. Experimental results and comparisons using four well-known benchmark CNNs are presented demonstrating that the proposed acceleration framework is both encouraging and promising. The SA-/TS-based Multi-CLP achieves 1.31x - 2.37x higher throughput than the state-of-the-art Single-/Multi-CLP approaches in accelerating AlexNet, SqueezeNet 1.1, VGGNet, and GoogLeNet architectures on the Xilinx VC707 and VC709 FPGA boards.
翻译:近些年来,革命神经网络(CNNs)显示它们有能力解决许多领域的问题,而且以前不可能做到准确。然而,这带来了广泛的计算要求,这使得普通CPU无法提供预期的实时性能。与此同时,FPGA也看到对加速CNN推导的兴趣激增。这是因为它们有能力创建不同水平平行的定制设计。此外,FPGAs提供了更好的每瓦瓦的性能。基于FPGA的CNC 级级级升级器目前的趋势是实施多个电动层平流处理器(CLPs ),每个都为一组人定制。然而,CNN的架构日益复杂,使目标FPGA设备上的资源得到最佳性能的优化。在本文中,我们展示了一台CNNFCA 级电算器的加速器,并同时使用一种自动设计方法来将可用的FPGA-PGA 级平价资源用于设计多级联式搜索器。 具体地说,拟议的设计工具在IMFC 4级平级平级平级平级平级平级平级平级平时,在S级平级平级平级平级平级平级平级平级平面图上找到了。