OpenCL JIT Compilation for Dynamic Programming Languages
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.
|Extended Abstract (morevms17-final13.pdf)||164KiB|
Mon 3 Apr Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
|15:30 - 15:55|
|Garbage Collection as a Joint Venture|
Ulan DegenbaevGoogle, Jochen EisingerGoogle, Kentaro HaraGoogle, Marcel HlopkoGoogle, Michael LippautzGoogle, Hannes PayerGoogleFile Attached
|15:55 - 16:20|
|OpenCL JIT Compilation for Dynamic Programming Languages|
Juan FumeroThe University of Edinburgh, Michel SteuwerThe University of Edinburgh, Lukas StadlerOracle Labs, Austria, Christophe DubachUniversity of EdinburghFile Attached
|16:20 - 16:45|
|An Extensible Virtual Machine Design for the Execution of High-level Languages on Tagged-token Dataflow Machines|
Mathijs SaeyVrije Universiteit Brussel, Joeri De KosterVrije Universiteit Brussel, Belgium, Jennifer B. SartorSofware Languages Lab, Vrije Universiteit Brussel, Wolfgang De MeuterVrije Universiteit BrusselFile Attached
|16:45 - 17:10|
|Moving beyond single-threaded concurrency|
Marek MareckiPolish-Japanese Academy of Information TechnologyFile Attached