Keynote 1

Speaker

Albert Cohen, Google

Title

Machine Learning Compilers: There and Back Again

Abstract

This is a new golden age for optimizing compilers. We live in a heterogeneous world of domain-specific languages and accelerators, freeing programming language and computer architects from the chains of general-purpose, one-size-fits all designs. [John Hennessy and Dave Patterson’s Turing award lecture, shamelessly adapted.]

The lurking optimizing compiler dragons are not going away any time soon. Intrepid computer scientists and engineers looking for performance continue to struggle with complex processor micro-architectures and orchestrating computations on distributed and heterogeneous systems. We will review some of the interactions between machine learning and compilation in this never-ending quest for performance. Beyond performance, compilers for heterogeneous systems also raise research challenges in semantics and algorithms crossing abstractions and languages, debugging, formal methods and security.

Bio

Albert is a research scientist at Google. He has been a research scientist at Inria from 2000 to 2018. He graduated from École Normale Supérieure de Lyon and received his PhD from the University of Versailles in 1999 (awarded two national prizes). He has been a visiting scholar at the University of Illinois, an invited professor at Philips Research, and a visiting scientist at Facebook Artificial Intelligence Research. Albert Cohen works on parallelizing and optimizing compilers, parallel programming languages and systems, and synchronous programming, with applications to high-performance computing, machine learning and reactive control. He served as the general or program chair of major conferences, including PLDI, PPoPP, HiPEAC, CC, the embedded software track of DAC, and as a member of the editorial board of ACM TACO, TECS and IJPP. He coauthored more than 200 peer-reviewed papers and has been the advisor for 26 PhD theses. Several research projects initiated by Albert Cohen resulted in effective transfer to production compilers and programming environments.