A Non-Profit Foundation
Heterogeneous System Architecture (HSA) Foundation is a not-for-profit industry standards body focused on making it dramatically easier to program heterogeneous computing devices. The consortium comprises various semiconductor companies, tools providers, software vendors, IP providers, and academic institutions that develops royalty-free standards and open-source software.
Reducing Heterogeneous System Complexity
HSA Foundation members are building a heterogeneous compute software ecosystem that abstracts away the complexities of heterogeneous systems by specifying runtime and system architecture API’s that run on top of cache coherent shared virtual memory hardware. This architected system removes the need for time consuming operating system calls and runs at user level.
Exploiting Compute Capabilities
Nearly all modern SoC’s are heterogeneous systems with large amounts of compute capability. Historically each processor was programmed with its own tool chain. Obtaining access to the compute agents required expert programmers. HSA simplifies this process by using single source programming where both control and compute code reside in the same file or project.
Programming in Standard Languages
Rather than forcing developers to use unfamiliar programming languages, HSA has adapted its platform to conform to many different programming languages. Compilation tools are available from both proprietary and open-source projects (LLVM and GCC). HSA compilers are available for C/C++, OpenCL, OpenMP, C++AMP, Python and more.
The goal of HSA has been to abstract the processor details in a heterogeneous system without loss of performance. Source languages are compiled to HSA’s virtual instruction set HSAIL. This virtual ISA resembles a RISC register-based load/store machine with SIMD operations. An important extension is that HSAIL retains the parallel information specified in the source language making it easier for a finalizer to generate native machine instructions without loss of performance.
HSAF is driving greater developer productivity in heterogeneous computing by removing many of the barriers of traditional heterogeneous programming, enabling developers to focus on their algorithms and not managing system resources. The HSA Foundation seeks to sponsor applications that seamlessly blend scalar processing with high performance compute on CPU’s, GPU’s, DSP’s, Image Signal Processors, VLIW’s, Neural Network Processors, FPGA’s, and more.