Christophe Dubach

Associate Professor
Canada CIFAR AI Chair, Mila

McGill University


I’m an Associate Professor jointly appointed in the department of Electrical and Computer (ECE) and the school of Computer Science (CS) at McGill University. I also hold a Canada CIFAR AI Chair at Mila. Up until 2019, I was a Reader (Associate Professor) at the University of Edinburgh.

My research interests include data-parallel language design and implementation, high-level code generation and optimisation for parallel hardware (e.g. GPU, FPGAs), architecture design space exploration, and the use of machine-learning techniques applied to all these topics.

Several reseach positions (PhD, MSc or UG interns) are available in my group at McGill, please make sure to check the openings page.


  • Compilers / Code generation
  • Parallel programming language design
  • Hardware design space exploration
  • Heterogeneous computing
  • Machine learning


  • PhD in Informatics, 2009

    University of Edinburgh, UK

  • MSc in Computer Science, 2005

    EPFL, Switzerland

Meet the Team

Principal Investigator


Christophe Dubach

Associate Professor
Canada CIFAR AI Chair, Mila

Compilers / Code generation, Parallel programming language design, Hardware design space exploration, Heterogeneous computing, Machine learning



Lu Li

Postdoc (Edinburgh University)

PhD students


Christophe Schlaak

PhD student (Edinburgh University)

High-level sythesis for FPGAs


Federico Pizzuti

PhD student (Edinburgh University)

High-level functional abstraction and compilation for sparse data structures


Larisa Stoltzfus

PhD student (Edinburgh University)

Code generation and high-level abstractions for Stencil computations


Naums Mogers

PhD student (Edinburgh University)

GPU code generation for neural networks



Andrej Ivanis

MSc student 2018-2019 (Edinburgh University)

Optimising Convolutional Neural Networks on FPGAs


Paul-Jules Micolet

PhD student 2014-2019 (Edinburgh University)

From Software to Hardware: Making Dynamic Multicore Processors Practical


Juan Fumero

PhD student 2013-2017 (Edinburgh University)

Accelerating Interpreted Programming Languages on GPUs with Just-In-Time Compilation and Runtime Optimisations


Michel Steuwer

Postdoc 2015-2017 (Edinburgh University) Now Lecturer at Glasgow University


Adam Harries

MSc student 2014-2015 (Edinburgh University)

Sparsity and Irregularity in a Dense Skeletal GPU Framework


Daniel Hillerstroem

MSc student 2015-2016 (Edinburgh University)

Compilation of effect handlers and their applications to concurrency


Emanuel Martinov

MSc student 2015-2017 (Edinburgh University)

High-Performance GPU Implementation of Histogram Computation problem


Martin Kristien

UG student 2016-2017 (Edinburgh University)

High-level synthesis of functional patterns for reconfigurable logic


Rudi Horn

MSc student 2016 (Edinburgh University)

Increasing portable machine learning performance by application of rewrite rules on Google Tensorflow data flow graphs


Thibaut Lutz

Postdoc 2015 (Edinburgh University) Now at Nvidia


Toomas Remmelg

PhD student 2014-2019 (Edinburgh University)

Automatic Performance Optimisation of Parallel Programs for GPUs via Rewrite Rules


High-Level Synthesis of Neural Networks on FPGAs

Many modern applications that perform classification, prediction or clustering employ Neural Networks (NN) for these tasks. They are …

Design Space Exploration for Dynamically Reconfigurable Multicore

Dynamical reconfigurable multicore processors, such as the E2 architecture, offer the ability to merge simple cores into larger ones in …

GPU-Acceleration for the Graal VM

This project aims at automatically accelerating applications running on top of the Graal VM, an Open source Java VM. To achieve this …


Computing systems have become increasingly complex with the emergence of heterogeneous hardware combining multicore CPUs and GPUs. …


Current courses (McGill University):

Code Course Department Website Year Semester
ECSE324 Computer Organization ECE link 2020 Winter

Past courses (Edinburgh University):

Code Course Website Year Semester
INFR10053 Compiling Techniques link 2019-20 1
INFR10053 Compiling Techniques link 2018-19 1
INFR10053 Compiling Techniques link 2017-18 1
INFR10053 Compiling Techniques link 2016-17 1
INFR10053 Compiling Techniques link 2015-16 1
INFR10053 Compiling Techniques link 2014-15 2

Recent Publications

(2018). Automatic Matching of Legacy Code to Heterogeneous APIs: An Idiomatic Approach. Proceedings of the 23rd International Conference on Architectural Support for Programming Languages and Operating Systems.

(2018). Bulk-synchronous parallel simultaneous BVH traversal for collision detection on GPUs. Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games.

(2018). High performance stencil code generation with Lift. Proceedings of the 16th ACM/IEEE International Symposium on Code Generation and Optimization.

(2018). A Modular Approach to Performance, Portability and Productivity for 3D Wave Models . 7th International Workshop on Domain Specific Languages and High-level Frameworks for High Performance Computing.

(2017). Strategy Preserving Compilation for Parallel Functional Code. CoRR.