HSA System Architecture, HSA Programer Reference Manual, HSA System Runtime Specifications 1.0 Provisional are Now Available

 The three core HSA Foundation specifications are available for public review.  Also in addition a sample runtime, compiler, and driver are available for to interact for your review of the specifications.

HSA Foundation recently ratified and released  the three main HSA specifications:

  1. HSA Platform System Architecture Specification: Defines the requirements for shared virtual memory, platform coherency, signaling, queuing mechanics and packet formats, context switching, and the HSA memory model.
  2. HSA Programmer’s Reference Manual: Contains the HSAIL Virtual ISA and Programming Model, Compiler Writer’s Guide, and BRIG (the “HSAIL” compiler intermediate language) object format.
  3. HSA Runtime Programmer’s Reference Manual: Defines the APIs in the HSA Runtime used for tasks cuh as initialization and device discovery, queue creation, and memory management. These specifications are at the “1.0 Provisional” Level and are available from the HSA Foundation web site here (http://www.hsafoundation.com/standards/).

AMD is also supplying early implementation to test out capabilities of HSA

The project provides an initial implementation of the HSA specifications on the AMD “Kaveri” silicon a pre-HSA Compatible part. The implementation includes a Linux kernel and associated kernel-level drivers, the HSA runtime, and the HSAIL finalizer. The project includes a reference LLVM-based compiler which generates HSAIL and can extended to add additional languages that support HSAIL-based compute. The project also includes tools for assembling and disassembling HSAIL and for compiling OpenCL 2.0  kernels into HSAIL. Finally, the project includes an approachable runtime layer called “OKRA” designed to minimize the time required to get started with HSA.  You can access these at https://github.com/HSAFoundation

Who should use this project?

The project is aimed at:

  • Compiler and language developers who want to add parallel acceleration to a high-level language.
  • Programmers who want to leverage features of HSA such as shared-virtual-memory, platform atomics, user-level queues, and signals.

Next steps:

For an overall view of the different components of the project, see the list here.
For information regarding target platforms and installation instructions for the HSA drivers and user-mode libraries, see “HSA Platforms & Installation”.
Compiler and programming language developers should investigate the HSAIL Compiler Writers SDK.
Programmers interested in developing code that uses HSA features should investigate these projects:

(1) OpenCL and the OpenCL logo are trademarks of Apple, Inc. and used by permission of Khronos.

AMD Announces Heterogeneous C++ AMP Language for Developers

First Open Source C++ Implementation to See Broad Availability Across Linux, Windows and Other Platforms
SUNNYVALE, CA, Aug 26, 2014 (Marketwired via COMTEX) — AMD AMD, +0.48% in collaboration with Microsoft(R) MSFT, -0.28% today announced the release of C++ AMP version 1.2 — an open source C++ compiler which implements version 1.2 of the open specification for C++ AMP, available on both Linux and Windows for the first time. The release represents another step forward toward AMD’s goal of supporting cross-platform solutions, multiple programming languages and continued contributions to the open source community. The tool, which leverages Clang and LLVM, accelerates productivity and ease of use for developers wishing to harness the full power of modern heterogeneous platforms spanning servers, PCs and handheld devices.
“AMD has a consistent track record of enriching the developer experience, and we’re proud to make the first open source implementation of C++ AMP available to enable greater performance and more power-efficient applications,” said Manju Hegde, corporate vice president, Heterogeneous Applications and Solutions, AMD. “The cross-platform release is another step in strengthening AMD’s developer solutions, allowing for increased productivity and accelerated applications through shared physical memory across the CPU and GPU on both Linux and Windows.”
“AMD continues to deliver excellent developer tools for heterogeneous programming. Partnering with AMD to deliver C++ AMP to the Linux and Open Source communities was a natural step for Microsoft as we work to improve the performance and developer experience on modern computing platforms,” said S. Somasegar, corporate vice president of the Developer Division at Microsoft.
C++ AMP version 1.2 enables C++ developers to accelerate applications across a broad set of hardware and software configurations by supporting three outputs:
— Khronos Group OpenCL(1), supporting AMD CPU/APU/GPU, Intel CPU/APU, NVIDIA GPU, Apple Mac OS X and other OpenCL compliant platforms; — Khronos Group SPIR, supporting AMD CPU/APU/GPU, Intel CPU/APU and future SPIR compliant platforms; and — HSA Foundation HSAIL, supporting AMD APU and future HSA compliant platforms.
Akey performance feature of version 1.2 of the open source C++ AMP specification is support for shared physical memory, which greatly simplifies sharing of data between the CPU and GPU on heterogeneous platforms. Heterogeneous platforms built on the new spec allow programmers to benefit from minimized overhead of expensive data copies and pointer updates when accelerating applications.
Supporting Resources
— Access latest C++ AMP compiler source code here — View the Open C++ AMP specification version 1.2 here — For more information about Clang and LLVM, visit their website.
About AMD AMD AMD, +0.48% designs and integrates technology that powers millions of intelligent devices, including personal computers, tablets, game consoles and cloud servers that define the new era of surround computing. AMD solutions enable people everywhere to realize the full potential of their favorite devices and applications to push the boundaries of what is possible. For more information, visit www.amd.com.
(1) OpenCL and the OpenCL logo are trademarks of Apple, Inc. and used by permission of Khronos.
Contact: Kristen Lisa AMD Public Relations (512) 602-6020 kristen.lisa@amd.com
SOURCE: Advanced Micro Devices