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 AprDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:30 - 17:00
|Garbage Collection as a Joint Venture|
Ulan Degenbaev Google, Jochen Eisinger Google, Kentaro Hara Google, Marcel Hlopko Google, Michael Lippautz Google, Hannes Payer GoogleFile Attached
|OpenCL JIT Compilation for Dynamic Programming Languages|
Juan Fumero The University of Edinburgh, Michel Steuwer The University of Edinburgh, Lukas Stadler Oracle Labs, Austria, Christophe Dubach University of EdinburghFile Attached
|An Extensible Virtual Machine Design for the Execution of High-level Languages on Tagged-token Dataflow Machines|
Mathijs Saey Vrije Universiteit Brussel, Joeri De Koster Vrije Universiteit Brussel, Belgium, Jennifer B. Sartor Sofware Languages Lab, Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit BrusselFile Attached
|Moving beyond single-threaded concurrency|
Marek Marecki Polish-Japanese Academy of Information TechnologyFile Attached