PORTALE DELLA DIDATTICA

Ricerca CERCA
  KEYWORD

Development and comparison of convolutional layers implementations for deep neural networks on microcontrollers.

keywords ARTIFICIAL INTELLIGENCE, CONVOLUTIONAL NEURAL NETWORKS, DEEP LEARNING, DEEP NEURAL NETWORKS, EMBEDDED SYSTEMS, ENERGY EFFICIENCY, FIRMWARE DEVELOPMENT, LIBRARY, LINEAR ALGEBRA, LOW POWER, MICROCONTROLLERS, SOFTWARE

Reference persons DANIELE JAHIER PAGLIARI

External reference persons Alessio Burrello (University of Bologna)

Research Groups DAUIN - GR-06 - ELECTRONIC DESIGN AUTOMATION - EDA, ELECTRONIC DESIGN AUTOMATION - EDA, GR-06 - ELECTRONIC DESIGN AUTOMATION - EDA

Thesis type EMBEDDED SOFTWARE DEVELOPMENT, EXPERIMENTAL, SOFTWARE DEVELOPMENT

Description The purpose of the thesis is the optimization of deep neural networks’ execution on low-power microcontrollers (< 0.5 W). Initially, the candidate will explore different data layouts in memory, considering the trade-off between memory footprint and execution cycles (or energy consumption) of each layer of the network.
Then, the candidate will extend and optimize a set of existing software libraries in order to implement the following alternative methods for the execution of convolutional layers:

- Im2col + Generalized Matrix Multiplication;
- Indirect Convolution
- Direct Convolution
- Fusion of depthwise and pointwise convolutions;
- Winograd convolution

Different solutions will be implemented in C and compared through experiments on different types of microcontrollers from STM (e.g., STM32H7) and PULP (e.g., GAP8).
The expected result of the thesis will be a holistic characterization of which is the best convolution implementation given the parameters of a layer and the hardware target. Such characterization will be inserted in an automatic system able to select the best implementation layer by layer and thus reduce the total execution time and energy consumption of an entire convolutional neural network.

Required skills Required skills include C programming and an understanding of computer architectures and embedded systems. Useful (but not required) skills include Python programming and familiarity with machine/deep learning concepts and models.

Notes Thesis in collaboration with Prof. Luca Benini’s research group at the University of Bologna and ETH Zurich. The thesis can be carried out either in Torino or in one of the other two universities.


Deadline 01/06/2022      PROPONI LA TUA CANDIDATURA