Most of the existing works on FPGA acceleration of Convolutional Neural Network (CNN) focus on employing a single strategy (algorithm, dataflow, etc.) across all the layers. Such an approach does not achieve optimal latency on complex and deep CNNs. Emerging CNNs have diverse per-layer computation characteristics including parallelism, arithmetic intensity, locality, and memory footprint. Per-layer strategy selection and fine-grained tuning are required to achieve low end-to-end latency. However, specialized hardware modules dedicated to each layer limit the per-layer utilization and adversely affect end-to-end latency. In this paper, we address these problems by an algorithm-architecture co-optimization framework, DYNAMAP, consisting of (1) a unified hardware overlay that can be reused across layers, supporting dynamic mapping of all three families of popular convolution algorithms, and further allowing flexible dataflow switching to maximize hardware utilization for each layer; (2) a novel software Design Space Exploration (DSE) flow that customizes the hardware overlay and chooses optimal strategy mapping. We show that the algorithm mapping space increases exponentially with network depth, and while the optimal algorithm selection problem is NP-hard in general, by exploiting the series-parallel structure of CNN models, we demonstrate a polynomial-time solution for optimal algorithm mapping. DYNAMAP is optimized for any CNN, including those having diverse computation and memory requirements across the layers. We demonstrate DYNAMAP using two state-of-the-art CNNs - GoogleNet and Inception-V4. The generated accelerators achieve up to $2.8\times$ and $1.4\times$ speedups, respectively, wrt inference latency compared with the state-of-the-art FPGA implementations.
翻译:大部分关于Convolutional Neural网络(CNN)的FPGA加速的已有作品都侧重于在所有层次采用单一战略(algoithm、数据流等) 。 这种方法无法在复杂和深层CNN上达到最佳的悬浮。 新兴CNN具有不同的单层计算特征, 包括平行、 计算强度、 地点和记忆足迹。 需要从每层选择和细微调整, 才能达到低端到端的悬浮。 然而, 专门针对每个层的专用硬件模块限制对每层的利用率, 并对端到端的悬浮产生不良影响。 在本文中, 我们通过一个算法系统来解决这些问题, 可以在各层间再利用一个统一的硬件, 支持所有三种流行的进化算法的动态图, 进一步允许灵活的数据流转换, 使每个层的硬件利用率最大化; 新的软件“ 设计” 空间探索(DSEE) 流, 将硬件定制和选择最端到端端到端端端端端的智能战略深度, 我们用SDNAA- dalalalalalalal- dal- sal- roupal rogradustration the rodustration maislation the the sal mastrational mastrual maislational maislation sal- sal- sal- sal- sal- sal- sal- sal- sal- supal- sal- sal- sal- sal- imation routmental max max max max max max im sal- sal- sal- max max max max max im sal-sal- sal- commal- mad- mad- matoction- sal- sal- commal- sal- sal- sal- sal- sal-he- sal- mad- sal- mad- sal- sal- sal- sal- sal- sal- sal- sal- sal- sal- semdretal- sal-