Single-Course Engelsk 5 ECTS

Hardware/Software Codesign

Overall Course Objectives

Students will learn the fundamentals of hardware/software codesign and a theoretical foundation and practical experience with machine learning for embedded devices. An overview of topics in codesign is given. Exercises explore specific topics of co-design and machine learning for embedded devices. The course project allows students to build on the theoretical foundation and perform all steps from training to deployment of a machine learning model on an embedded system.

See course description in Danish

Learning Objectives

  • Describe the principles and elements of HW/SW codesign
  • Describe the workflow from specification to deployment of machine learning for embedded devices
  • Describe the fundamentals of neural network architectures and training for embedded devices
  • Compare various software and hardware options for deployment of machine learning models in embedded systems
  • Design an embedded system for machine learning applications
  • Train and evaluate machine learning models for microcontroller based embedded systems
  • Deploy machine learning models on microcontroller based embedded systems
  • Analyze trade-offs between different designs using multi-parametric optimization
  • Optimize machine learning applications for embedded systems

Course Content

The course gives a high-level introduction to topics in hardware/software codesign and the elements of a codesign process. The theoretical foundations and practical implementation of machine learning models on resource constrained devices (commonly denoted embedded AI) are explored with lectures, hands-on exercises, and project work. Through a series of lectures and hands-on exercises, students are expected to be able to train, evaluate, and deploy a machine learning model to a microcontroller-based system at the end of the course. Methods for exploring trade-offs in pure software vs hardware-accelerated implementations are explored including multi-parametric optimization to account for various metrics including accuracy, inference latency, memory use, and energy consumption.

Possible start times

  • 6 – 20 (Thurs 13-17)

Recommended prerequisites

Students are expected to have prior knowledge in Python and C-programming. Microcontroller and machine learning experience is preferable. Knowledge of digital design and computer architecture is also preferable.

Teaching Method

Lectures, exercises and project.

Faculty

See course in the course database.

Registration

Language

Engelsk

Duration

13 weeks

Institute

Compute

Place

DTU Lyngby Campus

Course code 02214
Course type Candidate
Semester start Week 6
Semester end Week 20
Days Thurs 13-17
Price

9.250,00 DKK

Registration