Exploiting High-Performance Heterogeneous Hardware for Java Programs using Graal

James Clarkson, Juan Fumero Alfonso, Michail Papadimitriou, Foivos Zakkak, Maria Xekalaki, Christos-Efthymios Kotselidis, Mikel Luján

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review


The proliferation of heterogeneous hardware in recent years means that every system we program is likely to include a mix of compute elements; each with different characteristics. By utilizing these available hardware resources, developers can improve the performance and energy efficiency of their applications. However, existing tools for heterogeneous programming neglect developers who do not have the time or inclination to switch programming languages or learn the intricacies of a specific piece of hardware.

This paper presents a framework that enables Java applications to be deployed across a variety of heterogeneous systems while exploiting any available multi- or many-core processor. The novel aspect of our approach is that it does not require any a priori knowledge of the hardware, or for the developer to worry about managing disparate memory spaces. Java applications are transparently compiled and optimized for the hardware at run-time.

We also present a performance evaluation of our just-in-time (JIT) compiler using a framework to accelerate SLAM, a complex computer vision application entirely written in Java. We show that we can accelerate SLAM up to 150x compared to the Java reference implementation, rendering 107 frames per second (FPS).
Original languageEnglish
Title of host publicationProceedings of the 15th International Conference on Managed Languages and Runtimes, ManLang 2018 (formerly PPPJ)
Number of pages13
ISBN (Electronic)9781450364249
Publication statusPublished - 12 Sept 2018

Publication series

NameACM International Conference Proceeding Series


  • Graal
  • Heterogeneous Hardware
  • Java
  • OpenCL
  • Virtual Machine


Dive into the research topics of 'Exploiting High-Performance Heterogeneous Hardware for Java Programs using Graal'. Together they form a unique fingerprint.

Cite this