Avatar

Christophe Dubach

Associate Professor

McGill University

About

I’m Christophe Dubach, an Associate Professor jointly appointed in the department of Electrical and Computer (ECE) and the school of Computer Science (CS) at McGill University (starting January 2020). Prior to that, 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.

Interests

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

Education

  • PhD in Informatics, 2009

    University of Edinburgh, UK

  • MSc in Computer Science, 2005

    EPFL, Switzerland

Meet the Team

Principal Investigator

Avatar

Christophe Dubach

Associate Professor

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

Postdocs

Avatar

Lu Li

Postdoc (Edinburgh University)

PhD students

Avatar

Christophe Schlaak

PhD student (Edinburgh University)

High-level sythesis for FPGAs

Avatar

Federico Pizzuti

PhD student (Edinburgh University)

High-level functional abstraction and compilation for sparse data structures

Avatar

Larisa Stoltzfus

PhD student (Edinburgh University)

Code generation and high-level abstractions for Stencil computations

Avatar

Naums Mogers

PhD student (Edinburgh University)

GPU code generation for neural networks

Alumni

Avatar

Andrej Ivanis

MSc student 2018-2019 (Edinburgh University)

Optimising Convolutional Neural Networks on FPGAs

Avatar

Paul-Jules Micolet

PhD student 2014-2019 (Edinburgh University)

From Software to Hardware: Making Dynamic Multicore Processors Practical

Avatar

Juan Fumero

PhD student 2013-2017 (Edinburgh University)

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

Avatar

Michel Steuwer

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

Avatar

Adam Harries

MSc student 2014-2015 (Edinburgh University)

Sparsity and Irregularity in a Dense Skeletal GPU Framework

Avatar

Daniel Hillerstroem

MSc student 2015-2016 (Edinburgh University)

Compilation of effect handlers and their applications to concurrency

Avatar

Emanuel Martinov

MSc student 2015-2017 (Edinburgh University)

High-Performance GPU Implementation of Histogram Computation problem

Avatar

Martin Kristien

UG student 2016-2017 (Edinburgh University)

High-level synthesis of functional patterns for reconfigurable logic

Avatar

Rudi Horn

MSc student 2016 (Edinburgh University)

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

Avatar

Thibaut Lutz

Postdoc 2015 (Edinburgh University) Now at Nvidia

Avatar

Toomas Remmelg

PhD student 2014-2019 (Edinburgh University)

Automatic Performance Optimisation of Parallel Programs for GPUs via Rewrite Rules

Projects

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 …

Lift

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

Teaching

Current courses (McGill University):

Code Course Department Website Year Semestre
ECSE324 Computer Organization ECE TBC 2020 Winter

Past courses (Edinburgh University):

Code Course Website Year Semestre
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.