Heterogeneous Computing Defined
As the name implies, heterogeneous computing refers to systems that use more than one kind of processor. These are multi-core systems that gain performance not just by adding cores, but also by incorporating specialized processing capabilities to handle particular tasks. Within the context of this particular discussion, 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 3-D rendering as well as certain functions.
Meanwhile, the APU continues to utilize a CPU to run the operating system and most traditional PC productivity applications.companies like AMD taking initiative for heterogeneous computing to get accelerate in today’s world.
|Single Core Era||Multi core Era||Heterogeneous System Era|
The Floating point operations can be performed better with Graphic processing units(GPU) as compared to CPUs.
What is the difference between CPU and GPU ?
CPU built for :
- general purpose computing
- serial instruction threads
- high data locality
GPU built for :
- highly data parallel
- latency tolerant workload
Hardware Architecture Limitations
There is a need to bring together the best of both CPU and GPU capabilities to drive new and better experiences. However, attempts to integrate GPU and CPU capabilities in the CPU chipset (chips on the PC motherboard that surround and support the functions of the CPU) called integrated graphics processor (IGP) have proved problematic. AMD’s use of higher-performing GPUs has helped overcome problems that IGPs typically have with
inefficient, high latency access to the main memory across the PCI Express bus and through the CPU.
AMD’s approach is the foundation for its AMD Fusion APU architecture, which is almost four times faster than the highest-speed PCIe 2.0 bus.