OpenCL JIT Compilation for Dynamic Programming Languages
The University of Edinburgh
Workshop on Modern Language Runtimes, Ecosystems, and VMs, 2017
@article{fumero2017opencl,
title={OpenCL JIT Compilation for Dynamic Programming Languages},
author={Fumero, Juan and Steuwer, Michel and Stadler, Lukas and Dubach, Christophe},
year={2017}
}
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.
April 26, 2017 by hgpu