-What is HSA?

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.

-How do I program HSA devices?

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.

- Is HSA an alternative to OpenCL, if not how does it benefit OpenCL?

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.

-Will HSA support Microsoft C++ AMP ?

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.

-What other languages does HSA support?

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.

-What is HSAIL?

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.

-How do the driver models change for HSA?

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.

-How does Open source efforts support HSA ?

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.

Looking for answers not listed in the FAQ, click the “Contact Us” button to ask your question

Contact Us Developer News