OpenCL JIT Compilation for Dynamic Programming Languages

Juan Fumero, Michel Steuwer, Lukas Stadler, Christophe Dubach

Research output: Contribution to conferencePaperpeer-review

Abstract / Description of output

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.
Dynamic programming languages offer higher abstractions and functionality for many users. GPU programming is possible for dynamic languages through external libraries or via wrappers in which the GPU code is normally written in C. Either way, programmers have to rely on third-party libraries with a limited number of operations or program the GPU kernels themselves.
In this work we present a technique to automatically offload parts of the input program written in a dynamic language into OpenCL without any changes in the original source code. Our preliminary results show we achieve speedups of up to 150x when using the GPU.
Original languageEnglish
Number of pages2
Publication statusPublished - 3 Apr 2017
EventWorkshop on Modern Language Runtimes, Ecosystems, and VMs @ <Programming> 2017 - Brussels, Belgium
Duration: 3 Apr 20173 Apr 2017


ConferenceWorkshop on Modern Language Runtimes, Ecosystems, and VMs @ <Programming> 2017
Abbreviated titleMoreVMs 2017
Internet address


Dive into the research topics of 'OpenCL JIT Compilation for Dynamic Programming Languages'. Together they form a unique fingerprint.

Cite this