APU 101: The Promise of Heterogeneous Computing
How AMD APUs Enable a More Balanced Computing Architecture to Unlock the Potential of Heterogeneous Computing
Rise of the Multicore Era
Spurred on by advances in semiconductor technology, the multicore era saw GPUs growing in sophistication and complexity as they became increasingly attractive for more general purposes, such as addressing data parallel programming tasks.
Efforts over the past decade to leverage GPUs for general-purpose computing coincided with a notable shift in consumer culture. There was a dramatic increase in the availability and quality of digital content, coupled with an increasing consumer appetite for rich visual experiences like video playback and viewing content in HD. At the same time, the emergence of mainstream operating system support for advanced multitasking began to require processing efficiency of an entirely new magnitude (i.e. multicore CPUs).
By the end of 2010, nearly all-new desktop computers had multicore processors, with even quad-core processors entering the mainstream of affordable computing.
Setting the Stage for a Fantastic Leap Forward
Still, multicore processing posed some challenges of its own: the extra cores and cache memory required to fuel their instruction pipelines came at a cost of both increased processor size and high power consumption.
The drive to improve performance and the continuing constraints on power and scalability in multicore CPU development have led semiconductor, software and systems designers increasingly to look to the vector processing capabilities of GPUs.
But vector processing isn’t the answer all the time. For example, small data arrays have overhead associated with setting up vector processing that can easily outweigh the time saved. That’s why the scalar approach used by CPUs is still best for certain problems and algorithms.
In this way, the push and pull nature of the CPU and GPU relationship continued, until the advent of the APU, a watershed moment in the history of heterogeneous computing.
Heterogeneous Computing Defined
Heterogeneous computing refers to systems that use more than one kind of processor. These are multicore systems that gain performance not just by adding cores, but also by incorporating specialized processing capabilities to handle particular tasks.
In the context of heterogeneous computing, an APU is a heterogeneous system that incorporates DirectX® 11 discrete level GPU capabilities for graphics processing and other mathematically intensive computations on very large data sets, to handle visual tasks such as 3D rendering as well as certain fixed functions. The APU continues to utilize a CPU to run the operating system and most traditional PC productivity applications.
Addressing Key Limitations of GPU-CPU Architecture
APUs combine general purpose x86 CPU cores with programmable vector processing engines –bringing together sophisticated CPU scalar processing with the large-scale, parallel-based vector processing that is traditionally associated with GPUs.
In the first APUs AMD introduced, all the major system elements—x86 cores, vector processing engines, and UVD for HD decoding—attach directly to the bus (and, therefore, the memory), eliminating one of the fundamental issues with integrated graphics processors historically. Instead of an imbalanced two-chip transfer solutions pairing a CPU with a less capable GPU—which tends to shorten battery life due to effects on memory latency and power consumption—the APU’s common path to memory helped to avoid this problem.
The APU architecture allows for a multi-GPU configuration in which a discrete GPU can be added to the design, adding even more graphics processing power. The system can then scale, as needed depending on application demands, harnessing all available resources and enabling unprecedented performance.
APUs for Today’s Visual Experiences
As digital content is growing increasingly visual, whether on the Internet or from other sources, more and more of this visual content people receive is in HD; in fact nine billion video files in consumers’ personal libraries today are HD.1 All of this presents an amazing opportunity for APUs to help improve users’ experiences.
AMD is working with ISVs now to make Internet browsing better by enabling a 2Daccelerated option to speed the viewing experience and page loads, as well as investigating how to use UVDs in APUs to offload and refine video content and then display the far higher-quality result on a large screen.
And it’s not just the display quality aspect of visual experiences where APUs can have an impact. All that growth in visual content is also making functions like search and index, as well as capabilities such as photo and video cleanup, more important to users than ever before. These are areas where APUs can dramatically speed up and simplify processes.
APUs for Form Factors: More Power, Smaller Packages
The continuing demand for smaller PC form factors is driving a need for greater integration and miniaturization. When space is at a premium, hardware designers need to be able to reduce the number of components necessary to deliver a great user experience while also meeting higher performance demands than ever. Especially since, for many users, their only computer is a notebook or other portable device.
With their integration of CPU, GPU, and specialized units on one processor, APUs can dramatically reduce the amount of physical space needed inside small-form-factor systems, thus exploding the possibilities for these smaller systems. You may see AMD APU-powered ultrathin notebooks, netbooks, tablets, and slates—in both expected and unique designs.
APUs for the Future of User Interfaces (UIs)
People have always been fascinated by the idea of interfaces that require little more than a look, word, or gesture for a computer to recognize a user and what he or she is trying to do.
APUs are poised to bring life to more sophisticated user interfaces by enabling contextually aware computing, in which massive amounts of data from multiple sensors enable a computer to adapt to the user and situation in ways that were previously impossible.
Towards A More Balanced Computing Architecture
The possibilities created by heterogeneous computing are fantastic—from practically flawless HD videoconferencing to heretofore-unimaginable display clarity to real-time language translation and interpretation.
Heterogeneous computing that brings together the best of both CPUs and GPUs—all in lower and lower power envelopes for smaller and smaller form factors with longer and longer battery life—is essential to driving faster and more powerful processor designs for new and better experiences.
And that’s why the promise and potential of APUs, with their unique ability to strike the critical balance between scalar and vector processing, is so exciting for end users and hardware/software designers alike.
1 CEA Market Research Report – Amassing Digital Fortunes: A Digital Storage Study, May 2008