CMPUT 680 - Machine Learning in Optimizing Compilers

Overview

In this course you will learn how optimizing compilers are built, and you will learn about previous uses of machine learning technique to improve either the performance of the code generated by an optimizing compiler, the process of constructing an optimizing compiler, or the time/space required by the optimizing compiler itself to perform a compilation task. We will also discuss potential, still to be explored, opportunities to apply machine learning techniques to optimizing compilers.

Objectives

  • Provide students with the background knowledge necessary to understand the process of constructing an optimizing compiler
  • Review common analysis and code transformation techniques used in optimizing compilers
  • Review the literature and become current on machine learning techniques that have been employed in optimizing compilers
  • Discuss and explore new opportunities to employ machine learning techniques to optimizing compilers

Course Work

  • Class presentations
  • Assignments
  • Quiz
  • Project