Abstract
Parallel skeletons are essential structured design patterns for efficient heterogeneous and parallel programming. They allow programmers to express common algorithms in such a way that it is much easier to read, maintain, debug and implement for different parallel programming models and parallel architectures. Reductions are one of the most common parallel skeletons. Many programming frameworks have been proposed for accelerating reduction operations on heterogeneous hardware. However, for the Java programming language, little work has been done for automatically compiling and exploiting reductions in Java applications on GPUs.
In this paper we present our work in progress in utilizing compiler snippets to express parallelism on heterogeneous hardware. In detail, we demonstrate the usage of Graal’s snippets, in the context of the Tornado compiler, to express a set of Java reduction operations for GPU acceleration. The snippets are expressed in pure Java with OpenCL semantics, simplifying the JIT compiler optimizations and code generation. We showcase that with our technique we are able to execute a predefined set of reductions on GPUs within 85% of the performance of the native code and reach up to 20x over the Java sequential execution.
In this paper we present our work in progress in utilizing compiler snippets to express parallelism on heterogeneous hardware. In detail, we demonstrate the usage of Graal’s snippets, in the context of the Tornado compiler, to express a set of Java reduction operations for GPU acceleration. The snippets are expressed in pure Java with OpenCL semantics, simplifying the JIT compiler optimizations and code generation. We showcase that with our technique we are able to execute a predefined set of reductions on GPUs within 85% of the performance of the native code and reach up to 20x over the Java sequential execution.
Original language | English |
---|---|
Publication status | Published - 4 Nov 2018 |
Event | VMIL 2018 Virtual Machines and Language Implementations - Boston, Massachusetts, US , Boston, United States Duration: 4 Nov 2018 → 9 Nov 2018 Conference number: 2018 https://2018.splashcon.org/track/vmil-2018 |
Conference
Conference | VMIL 2018 Virtual Machines and Language Implementations |
---|---|
Abbreviated title | VMIL |
Country/Territory | United States |
City | Boston |
Period | 4/11/18 → 9/11/18 |
Internet address |
Keywords
- GPGPUs
- JIT Compilation
- Reductions