How HSA will enable better APUs
Pioneered by AMD, the Accelerated Processing Unit (APU) silicon that powers consumer computer processors is evenly split between the Central Processing Unit (CPU) and Graphics Processing Unit (GPU). These two constituent parts handle the computation necessary to run today's applications, with the CPU ideally running programs that require what is known as sequential processing whilst the GPU is primed to handle multimedia applications and games that utilise the benefits of parallel processing. The purpose of this dual-processor approach is to run workloads on the best processor - be it CPU or GPU.
The CPU-and-GPU conundrum
CPUs and GPUs, by their very nature, run application code in different ways. CPUs operate with very low latencies and shovel data through as quickly as possible, while GPUs use a wider, less latency-sensitive approach. Think of a CPU as a single lane on a motorway, with cars running at high speeds and very close to each other. A GPU, on the other hand, can be characterised as a multi-lane highway, with slower cars that often change lanes: the two are quite different in an operational sense.
The divergent needs of the CPU and GPU, which are both situated on one APU die but use different architectures, has meant that it's been difficult for developers to write efficient code for both. Indeed, these two computational powerhouses were never designed to run alongside each other. As an example, current CPU-and-GPU processor implementations don't share a common pool of memory - there is, right now, significant to-and-fro behaviour required for the GPU to access system memory.
GPU at CPU's whim
The status quo means that the more-powerful GPU is largely controlled by the CPU and this is inefficient for a number of reasons. Funneling GPU commands through the CPU introductions latency (delay) and process overhead, amongst other undesirables, but this is the price the GPU has to pay for being a newer type of processor; it plays second fiddle to the CPU.
AMD realises that while it has successfully mated the CPU and GPU into one piece of silicon there remains work to do in making sure both work as efficiently as possible, specifically the GPU. This is one of the driving forces behind a new standard called Heterogeneous System Architecture (HSA). HSA is a catch-all term for describing technologies that enable a chip's GPU to have the same unfettered access and privileges to the operating system and scheduling as is provided to the CPU.
The broad remit of HSA, then, is to enable a chip's GPU to work both fully independently and in close cooperation with the CPU. HSA integration takes many forms for an AMD APU; it can be something as simple as the CPU and GPU having proper access and control over a chip's overall power budget, where, for instance, the GPU can fully prioritise power (and chip resources) if the application requires parallel processing. This type of HSA implementation is already available in last year's AMD A-series APUs.
The next step for HSA is to enable the GPU with the same architectural privileges as the CPU. For example, forthcoming AMD APUs will grant the GPU access to a unified system memory space, use any shared, coherent caches, and share virtual memory between the CPU and GPU. The overriding point here is to enable more efficient processing by letting the GPU work with fewer architecture-related restrictions than is currently the case.
Future HSA initiatives will enable even closer collaboration between CPU and GPU portions of an AMD APU. HSA is one large step in ensuring that the right task is executed on the right portion of the APU, each and every time. HSA removes the age-old limitations and inefficiencies that have historically existed between the way in which the CPU and GPU communicate with one another, paving the way for what AMD hopes is a fully-integrated APU processor.
HSA is for everyone
The success of HSA isn't solely down to AMD, however. HSA can only function if adopted by both hardware and software industries, and AMD is a founding member and keen supporter of the HSA Foundation - a not-for-profit consortium whose remit is to standardise the adoption of HSA across a broad range of software and hardware.
Reaffirming the very fabric of AMD's beliefs, HSA's basic tenet is that industry adoption can only occur when key players use open, free standards in developing next-generation hardware and software. AMD is in a unique position of having cutting-edge graphics and CPU technology present in its mainstream APUs, so greater support for HSA will ensure that future processors work even more efficiently than ever before.