Developer FAQ Page
The Heterogeneous System Architecture (HSA) is designed to efficiently support a wide assortment of data-parallel and task-parallel programming models. A single HSA system can support multiple instruction sets based on latency and throughput compute units.
HSA supports two machine models: large mode (64-bit address space) and small mode (32-bit address space).
An HSA-compliant system will meet the requirements for a queuing model, a memory model, quality of service, and an instruction set for parallel processing and enabling heterogeneous programming models for computing platforms using standardized interfaces, processes, communication protocols, and memory models.
You can begin developing application today for HSA via OpenCL and C++AMP, this application will automatically take advantage of the infrastructure when HSA enabled device come to market. In the future you be able to use tools that are built on top of the HSA runtime and compilers. HSA is designed to support a broad set of language that cover all aspects of programming discipline from system programming, application programming and into domain specific programming.
HSA is an optimized platform that will be leveraged to enhance the OpenCL runtime. HSA is not an alternative to OpenCL. HSA benefits OpenCL by removing memory copies, bringing low latency dispatch, and improving memory model and pointers shared between the CPU and GPU.
The HSA Foundation will also work with all software foundations and open initiatives for the promotion of respective language runtimes and libraries around the advancement of heterogeneous computing.
HSA will support Microsoft C++ AMP
The HSA Foundation will also work with all software foundations and open initiatives for the promotion of respective language runtimes and libraries around the advancement of heterogeneous computing.
HSA is going to be supported by Fabric Engine KL which is embedded into JavaScript and Python. The teams are looking at number of other language for integration that cover System Programming, Application Programming and Domain Specific Languages.
Heterogeneous System Architecture Intermediate Language. A virtual machine and a language. The instruction set of the HSA virtual machine that preserves virtual machine abstractions and allows for inexpensive translation to machine code.
HSA driver model specfically address communication overhead in the system to allow for tight interprocess communication be heterogeneous compute units as well as moving out of the way giving application access to compute units more directly.
HSA Foundation and it member are committed to the success of HSA and OpenSource project. HSA is natural fit for open source projects since the specification will be public and royalty free. Key members of the foundation are driving key technologies into open source comunity like IOMMU support in the linux kernel as well as bring memory management enhancement, driver stacks, exceptions handling, user mode interfaces, graphic driver interop and arbritration for the support for HSA enablement in operating system. HSA core compiler for generating HSAIL will be based on LLVM. They are also bring open source standards template library for Parallel Algorithms and Data Structures and other tools like simulators into the open source community. This is only the start of the activities.