The Heterogeneous System Architecture (HSA) Foundation marked what it says will be known as a watershed event in heterogeneous computing with the release of the HSA 1.0 specification. The new spec, nearly three years in the making, brings the foundation closer to its goal of enabling write-once run-anywhere programming for accelerated computing on devices ranging from the phone to the supercomputer.
The heart of HSA is tight integration of the accelerator (GPU, DSP) with the CPU, where all computing elements have full access to the entire system memory. Today’s announcement describes a path to achieving heterogeneous compute ecosystem in three parts:
- The HSA System Architecture Specification — defines the hardware platform and the OS requirements to run that platform.
- The HSA Programmers Reference Manual (PRM) — targets the software ecosystem, tool and compiler developers.
- The HSA Runtime Specification — defines how applications interact with HSA platforms.
While these technologies solve problems important to range of computing sectors, including mobile and desktop, the HSA’s mantra of lower power, higher performance, and easier programmability hits all the right notes for HPC.
At a press event in San Jose, Calif., Monday evening, HSA Foundation President Phil Rogers stated that the pillar of this vision is single-source programming. This means instead of an application developer starting with a CPU program, and then having to write separate code for each routine they want to accelerate, and then manage two copies (dual source programming), HSA enables single-source programming. The application developer writes their application once in a language that’s capable of parallel annotation and then the compiler is built multiple versions of the sections suitable for acceleration.
“That is what every application developer who has ever worked with a GPU asks us for and we’re delivering it,” said Rogers.
The second thing they ask for, according to the HSA president, is to enable the programming language of the developer. To this end, C++, Python, JavaScript, OpenMP will all be supported.
While no product announcements were made today, members are preparing their first HSA products for shipment with some expected this year. HSA conformance tests are under development and are targeted for release in the second quarter of this year. This will enable products released in the second half to be tested and certified as HSA-conformant or compliant.
HSA development platforms are available from AMD, based on Kaveri, which has some HSA features supported, and the upcoming Carrizo, which will be fully compliant.
Weighing in on where HSA will make inroads first, Rogers offered a list of predictions that includes full-featured, energy-efficient mobile devices, snappier and more immersive PCs, more pervasive use of GPUs for video processing and augmented reality, and of course a broad range of high-performance computing workloads. “OpenMP and MPI are ideal for scaling out high-performance HSA nodes and the lowered execution power that is possible lays the groundwork for exascale systems early in the next decade,” he added.
HPC proved a popular topic at the press event, which hosted a developer panel featuring two high-profile HPC reps: scientist David Richards of Lawrence Livermore National Labs and James Ang with Sandia National Labs.
Richards referred to the HSA specs as a platform to move into the future. Asked what features most impact his research, he said his group will be counting on the greater computing power coming down the pike to increase the physical fidelity of their models and quantify uncertainties to deliver more accurate and more meaningful calculations, but the developers that they would use to add the features to the code to do that are the same developers who would need to re-port and re-optimize the code to the next architectures.
“So how do you constantly trade those off reduces the amount of science that you can do,” he questions. “An architecture like HSA that is based on open standards with a common and well-understood set of core capabilities is a basis that we can use to start writing portable and performance-portable applications for the future. Not only that, it’s a platform that we can take our legacy codes as they are and put them on the platform and know that we are going to run. They may not take advantage of everything that the HSA has to offer initially, but they run, and now we can move through those applications on a piece by piece basis finding the most performance critical parts and optimizing them one by one.”
Panel-mate Ang of Sandia was asked about the impact of having a GPU able to address all of the memory on a coherent node. “Within the DOE we have a very broad and diverse set of applications that we have to support,” he replied. “There are some applications, typically single physics, materials science applications, that may not have a very large memory footprint and work just fine on GPU-accelerated systems. Those aren’t really our challenging problems. What are challenging are multi-physics applications, what we call integrated codes, that often are very constrained by our memory footprint, and for those applications, HSA provides a path with unified coherent memory space, a path for the GPU accelerators to access a much larger memory capacity than is typically assigned to the CPUs.”
The HSA Foundation was started by AMD (along with ARM, Imagination, MediaTek, Qualcomm, Samsung and Texas Instruments) in June 2012 with the goal of uniting scalar processing on the CPU with parallel processing on the GPU and optimized processing on the DSP in a way that promotes high bandwidth access to memory and high application performance with low power. These are fundamental building blocks of a strategy that AMD has long championed for its APU architecture (formerly Fusion), dating back to its acquisition of ATI in 2006.
With the 1.0 spec just barely out the door, the foundation is already making headway on the 1.1 spec and have outlined two major goals, including standardizing the APIs for debugging and profiling, and supporting multiple vendors of IP from different companies in the same SoC. That release is planned for the end of the year.
“What you’ll see is this truly is an architecture that scales all the way from the phone to the supercomputer,” said Rogers as he concluded his presentation. “The products designed for each of the segments – the phone, the tablet, the PC, the workstation, the supercomputer – are very different, the underlying architecture, the way the processors work together, the way the memory system works, the way the compiler chain works will finally be a standard across all of that.”
HSA 1.0 and supporting documentation are available on the foundation website.