[PATCH] GPU Exploitation Infrastructure (original) (raw)

David Holmes david.holmes at oracle.com
Wed Jan 31 01:32:46 UTC 2018


Project Sumatra was looking at GPU use:

https://wiki.openjdk.java.net/display/Sumatra/Main

It's inactive though.

David

On 31/01/2018 7:46 AM, David Holmes wrote:

On 31/01/2018 1:35 AM, Alan Bateman wrote:

On 30/01/2018 13:55, Ben Walsh wrote:

This patch provides the infrastructure to enable the exploitation of a GPU by the compiler to accelerate certain suitable Java constructs.

When enabled, a suitable compiler can attempt to accelerate the following Java constructs by launching the corresponding lambda expression on the GPU: IntStream.range().parallel().forEach() IntStream.rangeClosed().parallel().forEach() where: defines upper and lower bounds is a correctly defined lambda expression As it stands, with the HotSpot compiler, this patch performs a "no op" in the newly added in-built native library method. This can be extended so that the HotSpot compiler attempts the acceleration detailed above instead. I would like to pair with a sponsor to contribute this patch ... The function prototypes in jvm.h are JVM* functions rather than JNI native method names. You may want to look at adding a JNI function to libjava with a wrapper or else use RegisterNatives to map the native method name to a JVM* function. BTW: Is this something for one the project repos (Valhalla or Panama) rather the main line (jdk/jdk)? This should be looked at in the context of Panama I think, though IIRC there was a distinct GPU related project as well? Either way GPU support in mainline doesn't seem like something to just be dropped in like this without much more higher-level discussion taking place. Plus hotspot changes - even stubs - must be reviewed on the appropriate hotspot mailing list. David -Alan



More information about the core-libs-dev mailing list