返回
Optimizing Convolutions for Deep Learning Inference on ARM Cortex-M Processors
DOI:10.1109/JIOT.2024.3395335.png)
摘要
En 中文
We perform a series of optimizations on the convolution operator within the ARM common microcontroller units software interface standard for neural network (CMSIS-NN) library to improve the performance of deep learning tasks on Arduino development boards equipped with ARM Cortex-M4 and M7 microcontrollers. To this end, we develop custom microkernels that efficiently handle the internal computations required by the convolution operator via the lowering approach and the direct method, and we design two techniques to avoid register spilling. We also take advantage of all the RAM on the Arduino boards by reusing it as a scratchpad for the convolution filters. The integration of these techniques into CMSIS-NN, when invoked by TensorFlow Lite for microcontrollers for quantised versions of VGG, SqueezeNet, ResNet, and MobileNet-like convolutional neural networks enhances the overall inference speed by a factor ranging from 1.13xto 1.50x .
Keyword:
Program processors
Random access memory
Registers
Optimization
Convolution
Inference algorithms
Signal processing algorithms
ARM Cortex-M
common microcontroller units software interface standard for neural network (CMSIS-NN)
convolution operator
deep learning
edge computing
high performance
microcontrollers
期刊
IF:
8.9
论文数:
1.4W
被引数:
7.8W
机构
引用论文
Efficient and portable GEMM-based convolution operators for deep neural network training on multicore processors基于GEMM的高效可移植卷积算子,用于多核处理器上的深度神经网络训练

