# Fast Convolution based on Winograd Minimum Filtering: Introduction and Development

arXiv: https://arxiv.org/abs/2111.00977 · HTML: https://mlsanity.com/paper/2111.00977/

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 31 of its 97 references that are in the map.
- First posted on arXiv 1 Nov 2021.

## Builds on (most cited first, 30 of 31)

- [Fast Algorithms for Convolutional Neural Networks](https://mlsanity.com/paper/1509.09308/) (2015)
- [Fast Training of Convolutional Networks through FFTs](https://mlsanity.com/paper/1312.5851/) (2013)
- [Efficient Sparse-Winograd Convolutional Neural Networks](https://mlsanity.com/paper/1802.06367/) (2018)
- [An OpenCL(TM) Deep Learning Accelerator on Arria 10](https://mlsanity.com/paper/1701.03534/) (2017)
- [Searching for Winograd-aware Quantized Networks](https://mlsanity.com/paper/2002.10711/) (2020)
- [HybridDNN: A Framework for High-Performance Hybrid DNN Accelerator Design and Implementation](https://mlsanity.com/paper/2004.03804/) (2020)
- [Caffeinated FPGAs: FPGA Framework For Convolutional Neural Networks](https://mlsanity.com/paper/1609.09671/) (2016)
- [Enabling Sparse Winograd Convolution by Native Pruning](https://mlsanity.com/paper/1702.08597/) (2017)
- [Efficient Winograd Convolution via Integer Arithmetic](https://mlsanity.com/paper/1901.01965/) (2019)
- [Error Analysis and Improving the Accuracy of Winograd Convolution for Deep Neural Networks](https://mlsanity.com/paper/1803.10986/) (2018)
- [Efficient Winograd or Cook-Toom Convolution Kernel Implementation on Widely Used Mobile CPUs](https://mlsanity.com/paper/1903.01521/) (2019)
- [DWM: A Decomposable Winograd Method for Convolution Acceleration](https://mlsanity.com/paper/2002.00552/) (2020)
- [Efficient Residue Number System Based Winograd Convolution](https://mlsanity.com/paper/2007.12216/) (2020)
- [INT8 Winograd Acceleration for Conv1D Equipped ASR Models Deployed on Mobile Devices](https://mlsanity.com/paper/2010.14841/) (2020)
- [WinoCNN: Kernel Sharing Winograd Systolic Array for Efficient Convolutional Neural Network Acceleration on FPGAs](https://mlsanity.com/paper/2107.04244/) (2021)
- [Sparse Winograd Convolutional neural networks on small-scale systolic arrays](https://mlsanity.com/paper/1810.01973/) (2018)
- [Winograd Convolution for DNNs: Beyond linear polynomials](https://mlsanity.com/paper/1905.05233/) (2019)
- [LANCE: Efficient Low-Precision Quantized Winograd Convolution for Neural Networks Based on Graphics Processing Units](https://mlsanity.com/paper/2003.08646/) (2020)
- [Winograd Algorithm for AdderNet](https://mlsanity.com/paper/2105.05530/) (2021)
- [Deep Tensor Convolution on Multicores](https://mlsanity.com/paper/1611.06565/) (2016)
- [Face Recognition with Hybrid Efficient Convolution Algorithms on FPGAs](https://mlsanity.com/paper/1803.09004/) (2018)
- [Quantaized Winograd/Toom-Cook Convolution for DNNs: Beyond Canonical Polynomials Base](https://mlsanity.com/paper/2004.11077/) (2020)
- [Hardware-Efficient Structure of the Accelerating Module for Implementation of Convolutional Neural Network Basic Operation](https://mlsanity.com/paper/1811.03458/) (2018)
- [Spatial-Winograd Pruning Enabling Sparse Winograd Convolution](https://mlsanity.com/paper/1901.02132/) (2019)
- [Jointly Sparse Convolutional Neural Networks in Dual Spatial-Winograd Domains](https://mlsanity.com/paper/1902.08192/) (2019)
- [Derivation and Analysis of Fast Bilinear Algorithms for Convolution](https://mlsanity.com/paper/1910.13367/) (2019)
- [cltorch: a Hardware-Agnostic Backend for the Torch Deep Neural Network Library, Based on OpenCL](https://mlsanity.com/paper/1606.04884/) (2016)
- [Towards Design Space Exploration and Optimization of Fast Algorithms for Convolutional Neural Networks (CNNs) on FPGAs](https://mlsanity.com/paper/1903.01811/) (2019)
- [L3 Fusion: Fast Transformed Convolutions on CPUs](https://mlsanity.com/paper/1912.02165/) (2019)
- [Minimal Filtering Algorithms for Convolutional Neural Networks](https://mlsanity.com/paper/2004.05607/) (2020)

## Abstract (arXiv)

Convolutional Neural Network (CNN) has been widely used in various fields and played an important role. Convolution operators are the fundamental component of convolutional neural networks, and it is also the most time-consuming part of network training and inference. In recent years, researchers have proposed several fast convolution algorithms including FFT and Winograd. Among them, Winograd convolution significantly reduces the multiplication operations in convolution, and it also takes up less memory space than FFT convolution. Therefore, Winograd convolution has quickly become the first choice for fast convolution implementation within a few years. At present, there is no systematic summary of the convolution algorithm. This article aims to fill this gap and provide detailed references for follow-up researchers. This article summarizes the development of Winograd convolution from the three aspects of algorithm expansion, algorithm optimization, implementation, and application, and finally makes a simple outlook on the possible future directions.
