Automated Systolic Array Architecture Synthesis for High Throughput CNN Inference on FPGAs.

Xuechao Wei,Cody Hao Yu,Peng Zhang,Youxiang Chen,Yuxin Wang,Han Hu,Yun Liang,Jason Cong
DOI: https://doi.org/10.1145/3061639.3062207
2017-01-01
Abstract:Convolutional neural networks (CNNs) have been widely applied in many deep learning applications. In recent years, the FPGA implementation for CNNs has attracted much attention because of its high performance and energy efficiency. However, existing implementations have difficulty to fully leverage the computation power of the latest FPGAs. In this paper we implement CNN on an FPGA using a systolic array architecture, which can achieve high clock frequency under high resource utilization. We provide an analytical model for performance and resource utilization and develop an automatic design space exploration framework, as well as source-to-source code transformation from a C program to a CNN implementation using systolic array. The experimental results show that our framework is able to generate the accelerator for real-life CNN models, achieving up to 461 GFlops for floating point data type and 1.2 Tops for 8-16 bit fixed point.
What problem does this paper attempt to address?