ELECTRONIC DESIGN AUTOMATION - EDA
Extending the Open-source TVM Compiler to Deploy Deep Neural Networks on the GreenWaves' GAP9 Platform
Thesis in external company
keywords ARTIFICIAL INTELLIGENCE, C, COMPILERS, CONVOLUTIONAL NEURAL NETWORKS, DEEP LEARNING, DEEP NEURAL NETWORKS, EMBEDDED SYSTEMS, ENERGY EFFICIENCY, FIRMWARE, LOW POWER, MICROCONTROLLERS, MULTI-CORE, PARALLEL COMPUTING, SOFTWARE, SOFTWARE ACCELERATION, TRANSFORMERS, TVM
Reference persons DANIELE JAHIER PAGLIARI
External reference persons Marco Fariselli (Greenwaves Technologies)
Alessio Burrello (Politecnico di Torino)
Thesis type EXPERIMENTAL, SOFTWARE DEVELOPMENT
Description Apache TVM is an open-source compiler for deep learning, which automates the conversion of high-level Python models (e.g. in Tensorflow or Pytorch) to optimzied code that runs on GPUs, CPUs, or accelerators. Recently uTVM has also brought support for embedded systems and low-power microcontrollers. In particular, many devices based on ARM microcontrollers are currently supported and achieve performances equal to the state of the art deep learning libraries, but with a code developed automatically by uTVM, thus reducing the programmer's effort.
The aim of this thesis is to extend TVM support to a multi-core and heterogeneous platforms based on RISC-V microcontrollers.
The platform is GreenWaves' GAP9, which currently (Dec. 2022) achieves a record energy efficiency on the most popular set of benchmarks for efficient Deep Learning inference: https://greenwaves-technologies.com/lowest-energy-consumption-on-all-mlperf-tiny-v1-0-benchmarks/
The goal of this thesis is the integration between TVM and NN-tool, a proprietary tool for deployment on GAP9. The outcome of the thesis should be a tool that exploits the TVM framework to read the deep neural network high-level model, parses it, and uses NN-tool to produce code specific for GAP9. The goal is to produce a general tool that match the performance of existing, platform-specific tools.
Interested candidates must send an email to email@example.com attaching their CV and exams' transcript with scores.
Required skills Required skills include C and python programming. Further, a basic knowledge of computer architectures and embedded systems is necessary. Desired (but not required) skills include some familiarity with basic machine/deep learning concepts and corresponding models.
Notes Thesis in collaboration with the company GreenWaves technologies, and the research group of Prof. Luca Benini at the University of Bologna and ETH Zurich, and Greenwaves Technologies.
Deadline 14/12/2023 PROPONI LA TUA CANDIDATURA