Litcius/Paper detail

Optimizing Convolutions for Deep Learning Inference on ARM Cortex-M Processors

Antonio Maciá-Lillo, Sergio Barrachina, Germán Fabregat, Manuel F. Dolz

2024IEEE Internet of Things Journal11 citationsDOIOpen Access PDF

Abstract

We perform a series of optimisations on the convolution operator within the ARM 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.13× to 1.50×.

Topics & Concepts

Computer scienceConvolution (computer science)MicrocontrollerArtificial intelligenceReuseInferenceComputationConvolutional neural networkArduinoDeep learningOperator (biology)Parallel computingComputer hardwareComputer engineeringEmbedded systemAlgorithmArtificial neural networkEngineeringRepressorChemistryWaste managementBiochemistryTranscription factorGeneCCD and CMOS Imaging SensorsAdvanced Neural Network ApplicationsNeural Networks and Applications
Optimizing Convolutions for Deep Learning Inference on ARM Cortex-M Processors | Litcius