Litcius/Paper detail

Low-precision Floating-point Arithmetic for High-performance FPGA-based CNN Acceleration

Chen Wu, Mingyu Wang, Xinyuan Chu, Kun Wang, Lei He

2021ACM Transactions on Reconfigurable Technology and Systems46 citationsDOI

Abstract

Low-precision data representation is important to reduce storage size and memory access for convolutional neural networks (CNNs). Yet, existing methods have two major limitations: (1) requiring re-training to maintain accuracy for deep CNNs and (2) needing 16-bit floating-point or 8-bit fixed-point for a good accuracy. In this article, we propose a low-precision (8-bit) floating-point (LPFP) quantization method for FPGA-based acceleration to overcome the above limitations. Without any re-training, LPFP finds an optimal 8-bit data representation with negligible top-1/top-5 accuracy loss (within 0.5%/0.3% in our experiments, respectively, and significantly better than existing methods for deep CNNs). Furthermore, we implement one 8-bit LPFP multiplication by one 4-bit multiply-adder and one 3-bit adder, and therefore implement four 8-bit LPFP multiplications using one DSP48E1 of Xilinx Kintex-7 family or DSP48E2 of Xilinx Ultrascale/Ultrascale+ family, whereas one DSP can implement only two 8-bit fixed-point multiplications. Experiments on six typical CNNs for inference show that on average, we improve throughput by over existing FPGA accelerators. Particularly for VGG16 and YOLO, compared to six recent FPGA accelerators, we improve average throughput by 3.5 and 27.5 and average throughput per DSP by 4.1 and 5 , respectively.

Topics & Concepts

Computer scienceField-programmable gate arrayAdderFloating pointThroughputConvolutional neural networkSingle-precision floating-point formatQuantization (signal processing)Digital signal processingParallel computingComputer hardwareAlgorithmArithmeticArtificial intelligenceMathematicsLatency (audio)TelecommunicationsWirelessAdvanced Neural Network ApplicationsAdvanced Memory and Neural ComputingCCD and CMOS Imaging Sensors
Low-precision Floating-point Arithmetic for High-performance FPGA-based CNN Acceleration | Litcius