ICSA Faculty Talk - 31/01/2018

Title:  : Tackling the Performance Portability Challenge with High-level abstractions and Rewrite Rules

Abstract: Parallel accelerators exhibit tremendous computational power but are notoriously hard to program. High-level and domain-specific languages have been proposed to address this issue. However, compilers and software implementations have to be re-written and re-tuned continuously as new hardware emerge. This is known as the performance portability challenge.

I will present recent techniques developed in my group to achieve performance portability. I will present Lift, a novel high-level data-parallel programming model. Lift is based on a surprisingly small set of functional primitives which are combined to define higher-level hardware-agnostic algorithmic patterns. A system of provably-correct rewrite rules is used to encode both algorithmic choices and low-level optimisations that lets the compiler explore the optimisation space automatically. Lift's goal is to achieve performance on par with highly tuned code across a wide range of parallel architectures (e.g. GPUs, FPGAs, Neural Network accelerators) and application domains (e.g. Linear Algebra, Stencil, Machine-learning).

Bio: Christophe Dubach received a PhD in Informatics from the University of Edinburgh in 2009 and holds a MSc degree in Computer Science from EPFL. He is a Reader (Associate Professor) in the Institute for Computing Systems Architecture at the University of Edinburgh (UK). In 2010, he spent one year as a visiting researcher at the IBM Watson Research Center (USA) working on the LiquidMetal project. His current research interests includes high-level programming models for heterogeneous systems, co-design of both computer architecture and optimising compiler, adaptive microprocessor, and the application of machine learning in these areas.

 

Jan 31 2019 -

ICSA Faculty Talk - 31/01/2018

Christophe Dubach

4.31/33, Informatics Forum