返回
p-im2col: Simple Yet Efficient Convolution Algorithm With Flexibly Controlled Memory Overhead
DOI:10.1109/ACCESS.2021.3135690.png)
摘要
En 中文
Convolution is the most time-consuming operation in modern deep artificial neural networks, so its performance is crucial for fast inference. One of the standard approaches to fast convolution computation is to use GeMM-based convolution algorithms relying on efficient general matrix multiplication (GeMM) from optimized BLAS libraries. However, commonly used GeMM-based algorithms may cause significant memory overhead or avoid it only at the cost of worse performance. In this paper, we propose a novel convolution algorithm, p-im2col, based on a well-known im2col algorithm that avoids memory overhead by splitting a single multiplication of a large matrix into several multiplications of smaller matrices. We theoretically and experimentally compare our algorithm with two other GeMM-based algorithms: im2col, which is widely used as a baseline, and the memory-efficient kn2row-aa. We measure the inference time of these algorithms on central processing units of x86, x86_64, ARM, and MIPS architectures for a large set of convolutional parameters. The proposed algorithm demonstrates a speedup over im2col and kn2row-aa in a number of cases and a significant reduction in additional memory requirements compared to im2col. Based on our experiments, we present a new convolution algorithm selection scheme that considers memory restrictions, CPU architecture, and convolutional parameters and provides a noticeable advantage over each particular algorithm.
Keyword:
Convolution
Inference algorithms
Memory management
Tensors
Libraries
Neural networks
Kernel
Computational efficiency
convolutional neural networks
GeMM-based convolution
memory consumption
期刊
IF:
3.6
论文数:
9.8W
被引数:
29.4W
机构
引用论文
Convolutional Neural Networks Based Fire Detection in Surveillance Videos基于卷积神经网络的监控视频火灾检测
IEEE ACCESS
IF3.6

