webrev for Graal HSAIL backend

Doug Simon doug.simon at oracle.com
Wed Jun 12 13:26:19 PDT 2013


For something this size, I'm really hoping we can find a Crucible instance everyone has access to. Doing a review this size is going to be painful via webrev I believe.

On Jun 12, 2013, at 9:14 PM, Christian Thalinger <christian.thalinger at oracle.com> wrote:

> Before I'm going into review details, how are we going to handle this review?  Like any other OpenJDK review which means we do review-change iterations until we all agree it's good?
> 
> -- Chris
> 
> On Jun 11, 2013, at 3:16 PM, "Venkatachalam, Vasanth" <Vasanth.Venkatachalam at amd.com> wrote:
> 
>> 
>> Hi,
>> 
>> The AMD Sumatra team has submitted a webrev (http://cr.openjdk.java.net/~ecaspole/graal_hsail/) that adds HSAIL code generation support for Graal, allowing Java programs to be compiled and executed on HSAIL-enabled GPU/APU devices. While this work is a prototype, we have included several working unit test cases, including Mandelbrot and NBody.
>> 
>> Features
>> 
>> Arithmetic operations for integers, longs, doubles, and floats
>> Loads, stores and move operations
>> Min/max/rem/carry operations for integers and longs
>> Conversion operations - (currently support conversions between integers and floats, integers and doubles, integers and longs, floats and doubles).
>> Some math library operations (e.g., square root).
>> Support for JDK8 lambda constructs.
>> 
>> Known Issues
>> 
>> -The logic to handle register spilling is work-in-progress, so not all test cases that induce spilling are guaranteed to work.
>> -X86 register encodings are being passed to the HSAIL backend. The calling convention returned by getCallingConvention() currently returns an x86 calling convention
>> -Function call support has yet to be implemented.
>> 
>> For a detailed list of unsupported features, refer to the routines that are emitting "NYI" in HSAILLIRGenerator.java
>> 
>> The test cases (except for BasicHSAILTest) require an HSAIL simulator or hardware to execute, but in lieu of a simulator or hardware they will output the HSAIL code generated, which is useful for debugging. Moreover, BasicHSAILTest provides a template for adding Java code snippets and viewing the HSAIL generated code without executing the code.
>> 
>> We encourage the community to support this new backend and extend it with additional features.
>> 
>> Vasanth
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
> 



More information about the graal-dev mailing list