using Graal for a dual-ISA prototype
Vasanth.Venkatachalam at amd.com
Wed Feb 13 15:10:15 PST 2013
I posted this question on the Sumatra mailing list, but wanted to raise it here to get a perspective on the Graal technical issues involved.
As part of the Sumatra project, we would like to leverage Graal to develop a dual-ISA prototype Hotspot JVM that supports GPU code generation.
The way we envision this working is that the Hotspot Server JVM will x86-compile the routines that are meant to execute on the CPU (which constitute the majority of code), while Graal will intercept and generate GPU-specific code for the few routines (namely JDK8 lambda routines marked as parallel) that need to execute on the GPU.
We thought this approach would lead to a faster prototype and allow us to retain most of Hotspot's existing functionality, versus the riskier approach of writing an entire Hotspot C2 backend (.ad files and all) from scratch.
Clearly this work would require adding a new ISA to Graal (for GPU compilation) but retaining the existing Hotspot x86 compiler (in src/), which comes with the Graal kit.
Does anyone have feedback on the Graal/Hotspot files we should start looking to better understand the magnitude of this change?
More information about the graal-dev