HSA Foundation Announces Its First Specification

HAS Foundation Delivers Programmer’s Reference Manual

by Anton Shilov
05/29/2013 | 06:09 PM

The HSA Foundation has released version 0.95 of its programmer’s reference manual. This is the first output from the HSA (heterogeneous system architecture) Foundation, who have been collaborating on this project since its founding in June 2012. It represents an important step in the development of the HSA Foundation¹s ecosystem because it enables software partners to develop libraries, tools and middleware and to code high performance kernels.

 

The Programmer’s reference manual (PRM) provides a standardized method of accessing all available computing resources in HSA-compliant systems. This enables a wide range of system resources to cooperate on parallelizable tasks. It has been specifically designed to perform in the most energy efficient way without compromising on performance. The goal is to enable a heterogeneous architecture that is easy to program, opens up new and rich user experiences and improves performance and quality of service, whilst reducing energy consumption.

The programming architecture detailed in the HSA PRM calls out features specifically exposed to programmers of the HSA architecture. HSA devices will typically include a broad class of devices, including GPUs and DSPs and support a number of key hardware features that enable easier developer programmability. These include shared coherent virtual memory, platform atomics, user mode queuing and GPU self-queuing.

These features, in conjunction with the correct software stack make programming all devices in an HSA architecture as easy as programming a CPU, and because of this, closer interlinking of processing on all devices is made possible. HSA abstracts away the native instruction set of the parallel processor through the HSA Intermediate Language (HSAIL). This language has been designed for parallel processing and can be translated on-the-fly to many native instruction sets, supporting innovations in different underlying hardware implementations through consistent HSAIL-compiled programs.

The HSA architecture also benefits existing APIs such as OpenCL and Renderscript through avoidance of wasteful copies, low-latency dispatch, improved memory model and shared virtual memory between all HSA devices.

The HSA Foundation continues to work on the next specifications which will detail the hardware system architecture, run-time details and compliance requirements