hsail gate commands

Doug Simon doug.simon at oracle.com
Thu Jan 9 11:38:00 PST 2014


On Jan 9, 2014, at 6:51 PM, Tom Rodriguez <tom.rodriguez at oracle.com> wrote:

>> 
>>>> 
>>>> It would still be great if there would be some way to incorporate the hsail simulator into the gate...
>>> 
>>> A good start would be if you could provide us with a patch for `mx', that adds a command which sets up the HSAIL simulator properly. Currently our gate is running on Linux, but this might change in the future, so keep in mind that this should potentially work on all platforms (Linux, MacOSX, Windows).
>>> 
>>> Our gate server is basically executing `mx gate' to validate changes. That includes building, bootstrap tests, unittest, etc.  If that command was successful on our gate server, the changes are accepted and pushed to the repository.  Having the `mx gate' command, one can reproduce the gate process on his/her local machine.  Therefore it would be important that one can easily and reliable set up the HSAIL environment if it is part of the gate process.
>> 
>> Given the dependencies for building the simulator[1] and the fact it only currently runs on linux, I don’t think it will be that easy to come up with an mx command.
> 
> What precompiling an okra distribution for linux that mx can download?

If Okra used a self contained JNI library, that might just work. However, the way it is deployed now involves having the hsailasm executable on your PATH. Also, LD_LIBRARY_PATH has to be setup to find the JNI library itself.

@AMD guys: How hard would it be to make the Okra JNI be self contained library and include the hsailasm functionality? If that’s possible, you could bundle the JNI library inside the Okra jar using a technique like http://frommyplayground.com/how-to-load-native-jni-library-from-jar/ to avoid having to set up PATH or LD_LIBRARY_PATH.

-Doug

>> [1] https://github.com/HSAFoundation/Okra-Interface-to-HSAIL-Simulator#okra-interface-to-hsail-simulator
>> 
>>>> 
>>>>> -----Original Message-----
>>>>> From: graal-dev-bounces at openjdk.java.net [mailto:graal-dev-
>>>>> bounces at openjdk.java.net] On Behalf Of Deneau, Tom
>>>>> Sent: Monday, December 16, 2013 11:24 AM
>>>>> To: Doug Simon
>>>>> Cc: graal-dev at openjdk.java.net
>>>>> Subject: RE: hsail gate commands
>>>>> 
>>>>> OK, I see why there is no error when running
>>>>> mx --vm server unittest hsail
>>>>> 
>>>>> At some point (I don't recall why, maybe at Oracle's request??), we put
>>>>> in some code in KernelTester that if it could not find the okra
>>>>> simulator files would just silently not run the tests (which I guess
>>>>> counts as a pass).
>>>>> 
>>>>> No the hsail simulator is not a java app at all.
>>>>> The page at
>>>>> https://wiki.openjdk.java.net/display/Sumatra/The+HSAIL+Simulator should
>>>>> describe how to build it and what environment variables to set up to use
>>>>> it...
>>>>> 
>>>>> -- Tom
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Doug Simon [mailto:doug.simon at oracle.com]
>>>>>> Sent: Monday, December 16, 2013 11:02 AM
>>>>>> To: Deneau, Tom
>>>>>> Cc: graal-dev at openjdk.java.net
>>>>>> Subject: Re: hsail gate commands
>>>>>> 
>>>>>> 
>>>>>> On Dec 16, 2013, at 5:48 PM, Deneau, Tom <tom.deneau at amd.com> wrote:
>>>>>> 
>>>>>>> Doug --
>>>>>>> 
>>>>>>> I see.
>>>>>>> I don't understand why the tests would run without error if the
>>>>>>> simulator and associated assembler is missing but...
>>>>>> 
>>>>>> What error are you seeing?
>>>>>> 
>>>>>>> Is there a way we can get the HSAIL simulator into the gate
>>>>>> infrastructure?
>>>>>> 
>>>>>> Is it a pure Java app yet? That would certainly make it trivial. In
>>>>>> any case, I'll defer to Bernhard or Gilles to answer this since they
>>>>>> are the maintainers of this infrastructure. Can you please send
>>>>>> instructions on how to install/use/configure the simulator.
>>>>>> 
>>>>>> -Doug
>>>>>> 
>>>>>> 
>>>>>>>> -----Original Message-----
>>>>>>>> From: Doug Simon [mailto:doug.simon at oracle.com]
>>>>>>>> Sent: Monday, December 16, 2013 10:36 AM
>>>>>>>> To: Deneau, Tom
>>>>>>>> Cc: graal-dev at openjdk.java.net
>>>>>>>> Subject: Re: hsail gate commands
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Dec 16, 2013, at 5:21 PM, Deneau, Tom <tom.deneau at amd.com>
>>>>> wrote:
>>>>>>>> 
>>>>>>>>> Doug --
>>>>>>>>> 
>>>>>>>>> I noticed in syncing with the trunk as of last Friday that all of
>>>>>>>>> our
>>>>>>>> HSAIL test cases broke.  The cause was some imperfect code in our
>>>>>>>> HSAILAssembler for compare instructions which when presented with
>>>>>>>> an unordered compare could generate code that would not assemble,
>>>>>>>> and was easy to fix.
>>>>>>>>> 
>>>>>>>>> But I was wondering how this made it past the gate.
>>>>>>>>> Can you describe what gate commands are used regarding hsail?
>>>>>>>> 
>>>>>>>> We simply run 'mx gate' which will include running all the HSAIL
>>>>>>>> unit tests.
>>>>>>>> 
>>>>>>>> On my Mac with the latest bits:
>>>>>>>> 
>>>>>>>> $ mx --vm server unittest hsail
>>>>>>>> executing junit tests now... (107 test classes) JUnit version 4.8
>>>>>>>> 
>>>>>> 
>>>>> ........................................................................
>>>>>>>> ...........I................I......
>>>>>>>> Time: 5.525
>>>>>>>> 
>>>>>>>> OK (105 tests)
>>>>>>>> 
>>>>>>>> Keep in mind I (and the gate infrastructure) don't have the HSAIL
>>>>>>>> simulator.
>>>>>>>> 
>>>>>>>> -Doug
>>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>> 
> 



More information about the graal-dev mailing list