一种用于生成 FPGA 上 CNN 推理加速器的编译流程
分布式、并行与集群计算
2022-03-09 v1 硬件体系结构
机器学习
摘要
我们提出了一种用于在 FPGA 上生成 CNN 推理加速器的编译流程。该流程将冻结模型通过 TVM 编译器转换为 OpenCL 内核,并使用 Intel OpenCL SDK 编译为 FPGA 比特流。我们通过优化 TVM 生成的基础 OpenCL 内核来提升所生成硬件的质量。这些优化增加了并行度、降低了内存访问延迟、提高了并发性并节省了片上资源。我们在 TVM 中自动化了这些优化,并在 Intel Stratix~10SX 上为 LeNet-5、MobileNetV1 和 ResNet-34 生成加速器进行评估。我们表明,相较于基础加速器,这些优化将所生成加速器的性能提升了最高 846 倍。优化后加速器的性能比 CPU 上的 TensorFlow 最高好 4.57 倍,比单线程 TVM 好 3.83 倍,而相较采用 56 线程的 TVM 仅为 0.34 倍。我们的优化内核也优于采用类似方法(同样使用高层次综合)生成的内核,同时提供了更多的功能与灵活性。然而,其性能不及采用手工优化设计的方法。因此,我们认为我们的方法在受益于更高性能和快速原型化的预生产环境中具有实用价值,可在无需硬件设计专业知识的情况下实现 FPGA 的优势。
引用
@article{arxiv.2203.04015,
title = {A Compilation Flow for the Generation of CNN Inference Accelerators on FPGAs},
author = {Seung-Hun Chung and Tarek S. Abdelrahman},
journal= {arXiv preprint arXiv:2203.04015},
year = {2022}
}
备注
8 pages