Talks and presentations

See a map of all the places I've given a talk!

Invited talk at ARM - Exploiting Heterogeneous Hardware from Managed Runtime Languages

January 29, 2019

Talk, Invited talk at ARM, Cambridge, UK, Cambridge, UK

The proliferation of heterogeneous hardware in recent years means that every system we program is likely to include a mix of computing elements; each of these with different characteristics. This trend has been accompanied by changes in software development norms that do not necessarily favor programmers. A prime example is the two most popular heterogeneous programming languages, CUDA and OpenCL, which expose several low-level features to the API making them difficult to use by non-expert users.

Invited talk at MSR - Tornado VM: A Virtual Machine for Exploiting High-Performance Heterogeneous Hardware of Java Programs

January 28, 2019

Talk, Invited talk at Microsoft Research, Cambridge, UK, Cambridge, UK

The proliferation of heterogeneous hardware in recent years means that every system we program is likely to include a mix of computing elements; each of these with different characteristics. This trend has been accompanied by changes in software development norms that do not necessarily favor programmers. A prime example is the two most popular heterogeneous programming languages, CUDA and OpenCL, which expose several low-level features to the API making them difficult to use by non-expert users.

Towards Practical Heterogeneous Virtual Machines

April 09, 2018

Talk, MoreVMs 2018, Nice France, Nice, France

Heterogeneous computing emerged as a means to achieve higher performance and energy efficiency. However, this trend has been accompanied by changes in software development norms that do not necessarily favour programmers. A prime example is the two most popular heterogeneous programming languages, CUDA and OpenCL, which expose several low-level features to the API making them difficult to use by non-expert users.

Invited Talk - OpenCL Just-In-Time Compilation for Dynamic Programming Languages

May 03, 2017

Talk, University of Glasgow (Glasgow Parallelism Group), Glasgow, UK

Graphics Processor Units (GPUs) are powerful hardware to parallelize and speed-up applications.
However, programming these devices is too complex for most users and the existing standards for GPU programming are available only for low-level languages such as C.

Invited Talk at Edinburgh University - FastR-Flink

May 18, 2016

Talk, Invited talk Edinburgh R Users Group, The Unversity of Edinburgh, Edinburgh, UK

During the past few years R has become an important language for data analysis, data representation and visualization. R is a very expressive language which combines functional and dynamic aspects, with laziness and object oriented programming. However, the default Rimplementation is neither fast nor distributed, both features crucial for “big data” processing.

Invited Talk - FastR-Flink: A compiler based approach for distributed computing in R

January 18, 2016

Talk, Invited at at TU Berlin, TU Berlin, Germany

During the past few years R has become an important language for data analysis, data representation and visualization. R is a very expressive language which combines functional and dynamic aspects, with laziness and object oriented programming. However, the default Rimplementation is neither fast nor distributed, both features crucial for “big data” processing.