[PATCH] GPU Exploitation Infrastructure

Ben Walsh ben_walsh at uk.ibm.com
Wed Jan 31 13:16:21 UTC 2018

Thank you Alan and David.

In light of your responses, I'll take this to the Valhalla project.


From:   David Holmes <david.holmes at oracle.com>
To:     Alan Bateman <Alan.Bateman at oracle.com>, Ben Walsh 
<ben_walsh at uk.ibm.com>, core-libs-dev at openjdk.java.net
Date:   31/01/2018 01:33
Subject:        Re: [PATCH] GPU Exploitation Infrastructure

Project Sumatra was looking at GPU use:


It's inactive though.


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 
>>> 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

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

More information about the core-libs-dev mailing list