FPGA Optimized Accelerator of DCNN with Fast Data Readout and Multiplier Sharing Strategy
Source abstract
Abstract
With the continuous development of deep learning, Deep Convolutional Neural Network (DCNN) has attracted wide attention in the industry due to its high accuracy in image classification. Compared with other DCNN hardware deployment platforms, Field Programmable Gate Array (FPGA) has the advantages of being programmable, low power consumption, parallelism, and low cost. However, the enormous amount of calculation of DCNN and the limited logic capacity of FPGA restrict the energy efficiency of the DCNN accelerator. The traditional sequential sliding window method can improve the throughput of the DCNN accelerator by data multiplexing, but this method’s data multiplexing rate is low because it repeatedly reads the data between rows. This paper proposes a fast data readout strategy via the circular sliding window data reading method, it can improve the multiplexing rate of data between rows by optimizing the memory access order of input data. In addition, the multiplication bit width of the DCNN accelerator is much smaller than that of the Digital Signal Processing (DSP) on the FPGA, which means that there will be a waste of resources if a multiplication uses a single DSP. A multiplier sharing strategy is proposed, the multiplier of the accelerator is customized so that a single DSP block can complete multiple groups of 4, 6, and 8-bit signed multiplication in parallel. Finally, based on two strategies of appeal, an FPGA optimized accelerator is proposed. The accelerator is customized by Verilog language and deployed on Xilinx VCU118. When the accelerator recognizes the CIRFAR-10 dataset, its energy efficiency is 39.98 GOPS/W, which provides 1.73 × speedup energy efficiency over previous DCNN FPGA accelerators. When the accelerator recognizes the IMAGENET dataset, its energy efficiency is 41.12 GOPS/W, which shows 1.28 × −3.14 × energy efficiency compared with others.
Source: openalex_inverted_index · Quality: baseline
Research context
OpenAlex topics: Advanced Neural Network Applications · CCD and CMOS Imaging Sensors · Advanced Memory and Neural Computing
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
References (38)
Show source-provided references
1. FPGA platform applied for facial expression recognition system using convolutional neural networks10.1016/j.procs.2019.04.087 ↗
2. Deep learning-based multiple object visual tracking on embedded system for IoT and mobile edge computing applications10.1109/JIOT.2019.2902141 ↗
3. Convolutional neural network based object detection system for video surveillance application10.1002/cpe.7461 ↗
4. Compression of convolutional neural network for natural language processing
5. A new deep boosted CNN and ensemble learning based LoT malware detection10.1016/j.cose.2023.103385 ↗
6. An intelligent metaheuristic binary pigeon optimization-based feature selection and big data classification in a mapreduce environment10.3390/math9202627 ↗
7. Real-time speech recognition engine for accent correction using hidden markov model
8. Design and implementation of real time robot controlling system using upper human body motion detection on FPGA
9. Design of cultural emperor penguin optimizer for energy-efficient resource scheduling in green cloud computing environment10.1007/s10586-022-03608-0 ↗
10. A flexible and efficient FPGA accelerator for various large-scale and lightweight CNNs
11. A CNN accelerator on FPGA using depthwise separable convolution
12. Deep convolutional neural network architecture with reconfigurable computation patterns10.1109/TVLSI.2017.2688340 ↗
13. Learning both weights and connections for efficient neural networks
14. An efficient implementation of convolutional neural network with CLIP-Q quantization on FPGA
15. Towards effective low-bitwidth convolutional neural networks
16. Efficient hardware architectures for deep convolutional neural network
17. An efficient unstructured sparse convolutional neural network accelerator for wearable ECG classification device
18. Automatic code generation of convolutional neural networks in FPGA implementation
19. Optimizing the convolution operation to accelerate deep neural networks on FPGA10.1109/TVLSI.2018.2815603 ↗
20. Haghi · IEEE Transactions on Circuits and Systems I: Regular Papers · 2020 · 67 · 3056
21. Double MAC on a DSP: Boosting the performance of convolutional neural networks on FPGAs10.1109/TCAD.2018.2824280 ↗
22. Near-precise parameter approximation for multiple multiplications on a single DSP block
23. Han · Convolutional Neural Network with INT4 Optimization on Xilinx Devices · 2020
24. Residual quantization for low bit-width neural networks10.1109/TMM.2021.3124095 ↗
25. Very deep convolutional networks for large-scale image recognition
26. ImageNet classification with deep convolutional neural networks10.1145/3065386 ↗
27. Post training 4-bit quantization of convolutional networks for rapid-deployment
28. Learning to quantize deep networks by optimizing quantization intervals with task loss
29. Low-bit quantization of neural networks for efficient inference
30. J. Choi, Z. Wang, S. Venkataramani, P. I. Chuang, V. Srinivasan et al., “PACT: Parameterized clipping activation for quantized neural networks,” arXiv:1805.06085, 2018.
31. An energy-efficient implementation of group pruned CNNs on FPGA10.1109/ACCESS.2020.3041464 ↗
32. High performance CNN accelerators based on hardware and algorithm co-optimization
33. An efficient hardware accelerator for structured sparse convolutional neural networks on FPGAs10.1109/TVLSI.2020.3002779 ↗
34. MALOC: A fully pipelined FPGA accelerator for convolutional neural networks with all layers mapped on chip10.1109/TCAD.2018.2857078 ↗
35. Angel-eye: A complete design flow for mapping CNN onto embedded FPGA10.1109/TCAD.2017.2705069 ↗
36. Cloud-DNN: An open framework for mapping DNN models to cloud FPGAs
37. Zac: Towards automatic optimization and deployment of quantized deep neural networks on embedded devices
38. An efficient hardware accelerator for sparse convolutional neural networks on FPGAs