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(<range>).parallel().forEach(<lambda>)
IntStream.rangeClosed(<range>).parallel().forEach(<lambda>)
where:
<range> defines upper and lower bounds
<lambda> 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