当前位置: X-MOL 学术ACM Trans. Reconfig. Technol. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Optimizing OpenCL-Based CNN Design on FPGA with Comprehensive Design Space Exploration and Collaborative Performance Modeling
ACM Transactions on Reconfigurable Technology and Systems ( IF 3.1 ) Pub Date : 2020-06-23 , DOI: 10.1145/3397514
Jiandong Mu 1 , Wei Zhang 1 , Hao Liang 2 , Sharad Sinha 3
Affiliation  

Recent success in applying convolutional neural networks (CNNs) to object detection and classification has sparked great interest in accelerating CNNs using hardware-like field-programmable gate arrays (FPGAs). However, finding an efficient FPGA design for a given CNN model and FPGA board is not trivial since a strong background in hardware design and detailed knowledge of the target board are required. In this work, we try to solve this problem by design space exploration with a collaborative framework. Our framework consists of three main parts: FPGA design generation, coarse-grained modeling, and fine-grained modeling. In the FPGA design generation, we propose a novel data structure, LoopTree, to capture the details of the FPGA design for CNN applications without writing down the source code. Different LoopTrees, which indicate different FPGA designs, are automatically generated in this process. A coarse-grained model will evaluate LoopTrees at the operation level, e.g., add, mult, and so on, so that the most efficient LoopTrees can be selected. A fine-grained model, which is based on the source code, will then refine the selected design in a cycle-accurate manner. A set of comprehensive OpenCL-based designs have been implemented on board to verify our framework. An average estimation error of 8.87% and 4.8% has been observed for our coarse-grained model and fine-grained model, respectively. This is much lower than the prevalent operation-statistics-based estimation, which is obtained according to a predefined formula for specific loop schedules.

中文翻译:

通过全面的设计空间探索和协作性能建模在 FPGA 上优化基于 OpenCL 的 CNN 设计

最近将卷积神经网络 (CNN) 应用于对象检测和分类的成功引发了人们对使用类似硬件的现场可编程门阵列 (FPGA) 加速 CNN 的极大兴趣。然而,为给定的 CNN 模型和 FPGA 板找到有效的 FPGA 设计并非易事,因为需要强大的硬件设计背景和目标板的详细知识。在这项工作中,我们尝试通过使用协作框架设计空间探索来解决这个问题。我们的框架由三个主要部分组成:FPGA 设计生成、粗粒度建模和细粒度建模。在 FPGA 设计生成中,我们提出了一种新颖的数据结构 LoopTree,用于捕获 CNN 应用程序的 FPGA 设计细节,而无需编写源代码。不同的循环树,表示不同的 FPGA 设计,在此过程中自动生成。粗粒度模型将在操作级别评估 LoopTrees,例如 add、mult 等,以便选择最有效的 LoopTrees。然后,基于源代码的细粒度模型将以周期精确的方式细化选定的设计。已在船上实施了一组基于 OpenCL 的综合设计,以验证我们的框架。我们的粗粒度模型和细粒度模型的平均估计误差分别为 8.87% 和 4.8%。这远低于流行的基于操作统计的估计,后者是根据特定循环调度的预定义公式获得的。粗粒度模型将在操作级别评估 LoopTrees,例如 add、mult 等,以便选择最有效的 LoopTrees。然后,基于源代码的细粒度模型将以周期精确的方式细化选定的设计。已在船上实施了一组基于 OpenCL 的综合设计,以验证我们的框架。我们的粗粒度模型和细粒度模型的平均估计误差分别为 8.87% 和 4.8%。这远低于流行的基于操作统计的估计,后者是根据特定循环调度的预定义公式获得的。粗粒度模型将在操作级别评估 LoopTrees,例如 add、mult 等,以便选择最有效的 LoopTrees。然后,基于源代码的细粒度模型将以周期精确的方式细化选定的设计。已在船上实施了一组基于 OpenCL 的综合设计,以验证我们的框架。我们的粗粒度模型和细粒度模型的平均估计误差分别为 8.87% 和 4.8%。这远低于流行的基于操作统计的估计,后者是根据特定循环调度的预定义公式获得的。然后将以周期精确的方式细化选定的设计。已在船上实施了一组基于 OpenCL 的综合设计,以验证我们的框架。我们的粗粒度模型和细粒度模型的平均估计误差分别为 8.87% 和 4.8%。这远低于流行的基于操作统计的估计,后者是根据特定循环调度的预定义公式获得的。然后将以周期精确的方式细化选定的设计。已在船上实施了一组基于 OpenCL 的综合设计,以验证我们的框架。我们的粗粒度模型和细粒度模型的平均估计误差分别为 8.87% 和 4.8%。这远低于流行的基于操作统计的估计,后者是根据特定循环调度的预定义公式获得的。
更新日期:2020-06-23
down
wechat
bug