Sciweavers

PPPJ
2015
ACM

Runtime Code Generation and Data Management for Heterogeneous Computing in Java

8 years 7 months ago
Runtime Code Generation and Data Management for Heterogeneous Computing in Java
GPUs (Graphics Processing Unit) and other accelerators are nowadays commonly found in desktop machines, mobile devices and even data centres. While these highly parallel processors offer high raw performance, they also dramatically increase program complexity, requiring extra effort from programmers. This results in difficult-to-maintain and non-portable code due to the low-level nature of the languages used to program these devices. This paper presents a high-level parallel programming approach for the popular Java programming language. Our goal is to revitalise the old Java slogan – Write once, run anywhere — in the context of modern heterogeneous systems. To enable the use of parallel accelerators from Java we introduce a new API for heterogeneous programming based on array and functional programming. Applications written with our API can then be transparently accelerated on a device such as a GPU using our runtime OpenCL code generator. In order to ensure the highest level of...
Juan José Fumero, Toomas Remmelg, Michel St
Added 16 Apr 2016
Updated 16 Apr 2016
Type Journal
Year 2015
Where PPPJ
Authors Juan José Fumero, Toomas Remmelg, Michel Steuwer, Christophe Dubach
Comments (0)