List of Specifications, Presentations, Drivers, Compilers, Tools, Libraries

mailtrv edited this page Aug 15, 2014 · 10 revisions

HSA Foundation Specifications

Presentations and Whitepapers

Driver Software (for AMD Kaveri APU)

LLVM->HSAIL Reference Compiler
HSAIL code generators for the popular LLVM compiler infrastructure. Two compiler versions are available:

  • [HSAIL-HLC-Development] ( : LLVM-based high-level compiler (HLC) that generates HSAIL. The Development version contains a lightweight patch set for the LLVM Compiler, including all source code. This is recommended for developers who are adding HSAIL support to an existing programming language.
  • [HSAIL-HLC-Stable] ( : LLVM-based high-level-compiler (HLC) that generates HSAIL. The Stable version includes optimizations and atomics, and is provided in binary form. This is recommended for programmers using C++AMP or CLOC who want to generate high-quality HSAIL code.


  • [HSAIL Assembler / Disassembler] ( : Assemble HSAIL text to HSAIL binary ("BRIG") or vice-versa. Also includes a library for compilers to create and manipulate HSAIL instructions.
  • OKRA Runtime Layer : Approachable runtime layer built on top of HSA Foundation Runtime.

Programming Languages

  • C++ and C++AMP : Single-source C++ compilers that generate and execute HSAIL.
  • CLOC : CL Offline Compiler. Compile CL kernels to HSAIL.
  • [Java / Aparapi] ( : Allows programs written in Java to be accelerated on the GPU. Aparapi is a Java library that converts Java bytecode to HSAIL. Aparapi enablement on HSA is on-going.
  • [Java / Sumatra] ( : Allows programs written in Java to be accelerated on the GPU. Sumatra is a modified JVM which generates HSAIL. Sumatra enablement on HSA is on-going.
  • OpenMP : Initial GCC-based compiler for generating HSAIL for loops marked with OpenMP pragmas.


  • HSA Simulator : A software simulator for HSA virtual machine that can run on any x86 CPU platform. [Note: Simulator update to 1.0P versions of specification is in-progress.]
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.