arrow
返回

An Efficient im2row-Based Fast Convolution Algorithm for ARM Cortex-M MCUs

delete2021-01-01
delete3
delete
OA
AI
P
Peng Wang
王
王晓琴 (Xiaoqin Wang) *
R
Rui Luo
D
Dingyi Wang
M
Mengjie Luo
S
Shushan Qiao
周
周玉美 (Yumei Zhou)
DOI:10.1109/ACCESS.2021.3110827delete
delete原文链接
delete分享
delete收藏
摘要

摘要

En 中文
With the rise of IoT and edge computing, deploying neural networks (NNs) on low-power edge computing devices is drawing more and more attention. In NNs, convolutional layers take up the majority of the computing cycles, especially when NNs are implemented on ARM processors. Therefore, it is necessary to optimize the convolutional implementation on ARM Cortex-M MCUs. This paper proposes an efficient im2row-based fast convolution algorithm with two innovations. First, a novel im2row method for reusing the data of adjacent convolutional windows is presented. This method utilizes a reusable im2row buffer for data reuse, significantly reducing the amount of data copied during im2row and improving efficiency. Second, in algorithm implementation, a q7_t to q15_t data type extension technique that avoids data reordering is employed. This technique eliminates data reordering instructions, thus reducing the runtime of the algorithm. We evaluate our algorithm in separate convolutional layers and NNs. The results for convolutional layers show that, compared to baseline, the proposed algorithm speeds up the convolutional layer by an average of 1.42x, and the maximum speedup is up to 2.9x. Experiments on different NNs demonstrate that our algorithm can speed up the overall NN by up to 2.15x.
Keyword:
im2row (or im2col)
fast convolution algorithm
edge AI
embedded software
ARM Cortex-M

期刊

IEEE Access 封面图
IEEE Access
IF:
3.6
论文数:
9.8W
被引数:
29.4W

机构

C
chinese academy of sciences
学者数:
56.7W
论文数: 45.0W
被引数: 704
引用论文

引用论文

err分享
err收藏