Understanding More Of AMD's Open-Source HSA Plans

Written by Michael Larabel in AMD on 8 October 2014 at 06:25 AM EDT. 25 Comments
On Monday I wrote about AMD adding native object code support to their Radeon Gallium3D drivers and Clover. Besides being a huge performance win for OpenCL kernel compile times, this work is also instrumental as part of AMD's open-source HSA Linux plans.

AMD employee and frequent Phoronix Forums poster John Bridgman enlightened our forum goers with details pertaining to this work. Bridgman began to explain, "We are going to use this as an initial fully-open shader compiler for HSA as well. The idea is to compile an OpenCL kernel to ISA binary then have the HSA runtime (now called HSAIL runtime) load & execute the binary in the HSA environment. The file formats are still being worked out so there'll probably be some post-processing between the steps. Finally a chance to dust off very old Perl skills."

John then added, "HSA use of this feature is a short-term solution while we finish work on an open source HSAIL finalizer (HSAIL to HW ISA, ie shader compiler for HSA). The kernel driver and associated userspace library are already open, HSAIL runtime will be opened up next, and finalizer will be last. In the meantime we will be using this feature to provide an easy way to exercise the kernel driver and runtime code without having to hand-write GPU code or use any closed-source code. We have published code to compile an OpenCL kernel to HSAIL and run the resulting code through the HSAIL runtime, but most of that code is closed source at the moment."

He also commented, "The HSA stack itself, which we're shipping now as a mix of open and closed source, is primarily about enabling new-to-GPU languages including languages which were not designed around traditional GPU limitations the way OpenCL was. It's the standards effort and HSAF partnerships that drive enabling these languages on a wider range of devices, by providing a common runtime framework for language APIs that is available across many devices and many vendors...The Catalyst OpenCL implementation is just one of the language APIs that can potentially be supported over the HSA stack, but the HSA stack itself is generally new code. There will probably be some shared code in the finalizer though."

Find out more about this OpenCL/HSA Linux work via this forum thread.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week