All Hail AMD’s HSAIL
AMD’s HSA Foundation has a lot of work ahead to accomplish its goal of reducing the barriers that prevent developers from leveraging heterogeneous compute resources to the fullest extent. That work includes overcoming challenges in hardware and software. One of the key components of the group’s software plans involve something called HSAIL, or HSA Intermediate Language.
AMD founded the HSA Foundation, along with ARM, Texas Instruments, and two other chip makers, in 2012 with the goal of creating an open specification to allow software to be written once, and deployed across any type of device, ranging from HPC systems and general purpose servers to PCs, gaming consoles, and mobile devices. The group has other founders, but it’s mainly the result of “Fusion” project AMD started way back in 2007 to unite GPU and CPU processing and memory management on a single die–something that Intel has done separately with its Many Integrated Core (MIC) architecture, and which Intel will, apparently, not join HSA in.
Enabling easier programming of GPUs is one of the aims of the HSA program, and that goal involves setting standards to achieve compatibility on the software and hardware side of things. On the hardware side, HSA lays out what a combined CPU-GPU system will look like, and that view includes things like a common set of page table entries for the GPU and CPU, common address space, the capability to independently queue commands and switch tasks, etc.
Last week at the Hot Chips conference at Stanford University, AMD representatives laid out what the software side will look like, specifically the component involving the HSAIL language.
According to an article in Extreme Tech, HSAIL it is a translation language created at runtime from other high level languages, which could be C++, AMP, OpenCL, Java, or Python. The code is then compiled to HSAIL and run on whatever GPU is integrated into the system.
This approach enables developers to write code for GPU in whatever language they feel most comfortable. It also helps to even the playing field for chip manufacturers, who may or may not be developing their GPUs to be X86-compatible, Joel Hruska writes at Extreme Tech.
HPC is one of the areas of computing that’s slated to benefit from HSA and the HSAIL intermediate language, along with gaming, mobile devices, and workloads like facial recognition and natural language processing.
However, due to the need to develop new physics engines and programming model to support the HSA approach to writing the next-generation of graphics-intensive games, HPC is probably going to get the lion’s share of the short-benefits of the heterogeneous device support championed by HSA Foundation, Hruska writes.