Sun 4 Nov 2018 10:55 - 11:20 at Stuart - I Chair(s): Mark Marron

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.

Sun 4 Nov
Times are displayed in time zone: (GMT-05:00) Guadalajara, Mexico City, Monterrey change

10:30 - 12:00: VMIL 2018 - I at Stuart
Chair(s): Mark MarronMicrosoft Research
vmil-201810:30 - 10:55
Research paper
Michael FaesETH Zurich, Thomas GrossETH Zurich
DOI Pre-print
vmil-201810:55 - 11:20
Research paper
Juan FumeroThe University of Manchester, Christos KotselidisThe University of Manchester
DOI Pre-print
vmil-201811:20 - 11:40
Tomoharu UgawaKochi University of Technology, Japan, Hideya IwasakiUniversity of Electro-Communications, Japan
vmil-201811:40 - 12:00
Lun LiuUniversity of California at Los Angeles, USA, Leland TakamineUber Technologies, Adam WelcUber Technologies