Case Study on the Use of Winograd-Based Convolution for CNN Inference in FPGA
Abstract
This work explores the implementation of Convolutional Neural Networks (CNNs) on FPGAs. Two circuits are investigated: one based on the spatial 2-D convolution algorithm and another based on the Winograd algorithm for convolution. The Winograd algorithm simplifies the convolution process through linear transformations that reduce the number of multiplications required. However, there is an increase in circuit complexity due to the additional logic to perform the transformations. The two implementations are compared in a case study of a simple architecture to solve the handwritten digits classification problem in the MNIST dataset.References
Simple MNIST convnet. https://keras.io/examples/vision/mnist_convnet/. Acessado em: 26/07/2023.
Lavin, A. and Gray, S. (2016). Fast algorithms for convolutional neural networks. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 4013–4021.
Liang, Y., Lu, L., Xiao, Q., and Yan, S. (2019). Evaluating fast algorithms for convolutional neural networks on FPGAs. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 39(4):857–870.
Wang, D., Xu, K., and Jiang, D. (2017). Pipecnn: An OpenCL-based open-source FPGA accelerator for convolution neural networks. In 2017 International Conference on Field Programmable Technology (ICFPT), pages 279–282.
Winograd, S. (1987). Arithmetic complexity of computations. CBMS-NSF regional conference series in applied mathematics 33. Society for Industrial and Applied Mathematics.
Wu, R., Guo, X., Du, J., and Li, J. (2021). Accelerating neural network inference on FPGA-based platforms—a survey. Electronics, 10(9):1025.
Lavin, A. and Gray, S. (2016). Fast algorithms for convolutional neural networks. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 4013–4021.
Liang, Y., Lu, L., Xiao, Q., and Yan, S. (2019). Evaluating fast algorithms for convolutional neural networks on FPGAs. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 39(4):857–870.
Wang, D., Xu, K., and Jiang, D. (2017). Pipecnn: An OpenCL-based open-source FPGA accelerator for convolution neural networks. In 2017 International Conference on Field Programmable Technology (ICFPT), pages 279–282.
Winograd, S. (1987). Arithmetic complexity of computations. CBMS-NSF regional conference series in applied mathematics 33. Society for Industrial and Applied Mathematics.
Wu, R., Guo, X., Du, J., and Li, J. (2021). Accelerating neural network inference on FPGA-based platforms—a survey. Electronics, 10(9):1025.
Published
2023-10-17
How to Cite
PEREIRA, Artur H. C.; LAMAR, Marcus V..
Case Study on the Use of Winograd-Based Convolution for CNN Inference in FPGA. In: UNDERGRADUATE RESEARCH WORKSHOP - SYMPOSIUM ON HIGH PERFORMANCE COMPUTING SYSTEMS (SSCAD), 24. , 2023, Porto Alegre/RS.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2023
.
p. 33-40.
DOI: https://doi.org/10.5753/wscad_estendido.2023.235889.
