AMD Is Prepared To Release A Complete User-Space Open-Source Stack For HSA

Written by Michael Larabel in AMD on 8 November 2014 at 05:43 PM EST. 27 Comments
In the coming days AMD will be releasing AMD's HSA run-time library as open-source!

Published on Saturday was the fifth version of the AMDKFD kernel driver that's key to AMD's open-source HSA plans. This newest version adds support for HSA Architected Queue Language (AQL) packets, a new get version ioctl, and various fixes.

Oded Gabbay of AMD began the AMDKFD v5 series by saying, "This version is released several days ahead of the release of AMD's HSA Runtime library as Open Source. Coupled with the modification that Thomas Stellard did for the r600 LLVM back-end, AMD will be effectively releasing a _complete_ userspace Open Source stack/solution for running HSA applications using kernels written in OpenCL C99 on top of amdkfd." It's news that in the coming days the AMD HSA run-time library will be open-sourced.

However, this news doesn't come as a huge surprise. AMD representatives have said in our forums for a while that open-source HSA should come together by the end of the year. Last month was when they added native object code support as another big step forward. Now it looks like the HSA kernel driver is getting into shape and with the imminent runtime library release, the user-space side is getting squared away.

More is to come next week and about the flow of things and a demo application, Gabbay wrote:
The method for building & running kernel programs involves offline compilation of a .cl source file, using clang plus a version of the r600 LLVM back end which Tom has modified so that a HW ISA binary file is generated. That binary file will then be imported into the HSAIL RT using the hsa_code_unit_load() API function in the HSA RT, and can then be used in compute operations initiated via calls to the HSAIL RT API and writes to userspace queues.

The HSA RT communicates with the amdkfd through the libhsakmt userspace library (equivalent of libdrm). That library is already open sourced.

AMD will supply a fully working application (port of the MatrixMultiplication application), both .cl file and .c file. The .cl file can be compiled with the above mentioned method and the application will load it and submit it through the HSA RT queues. This application is already ready and I am waiting for an IP approval to release it. I expect it to be released next week. Once that happens, I will publish the link to download the application's source code and instructions on how to run it.
The open-source HSA library code should be out next week pending IP review so stay tuned for more information then, until then checkout the AMDKFD v5 patch series. What a great birthday present!
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of 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 automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week