No one can say that there aren't programs capable of running properly on heterogeneous computers, but the number is still quite small, this being the primary reason why Intel's x86-based Xeon Phi has been doing fine until now: it supports most programs already in existence, many of which don't work on CPU+GPU systems.
To make up for this, and create a large ecosystem of applications that know how to use both CPUs and GPUs properly, NVIDIA has been courting software developers with the CUDA Toolkit.
Sadly, Advanced Micro Devices does not have a similar software developer kit, but at least there is one ray of sunshine: CodeXL.
While not yet finished, the tool suite was previewed back in June and has now entered public beta stage, meaning that it can be downloaded from here. It is available both as Visual Studio extension and as a standalone user interface application for Windows and Linux.
One of the main benefits of CodeXL is that it helps to quickly and easily identify programming errors and performance issues in applications.
Thus, developers can debug, profile and analyze their software “with a full system-wide view on AMD APU, GPU and CPUs.” The GPU Debugger, CPU Profiler and GPU Profiler make it happen.
Meanwhile, the Static Analyzer examines an OpenCL application statically (without having to run the hardware) and lets one compile, analyze and disassemble the code, view disassembly of the generated hardware kernel, and estimate accurate performance.
To do away with technical mumbo jumbo, the point is that PC, game and supercomputer software can now be more easily created for systems with both CPUs and GPUs. APUs go without saying.
Finally, by the time CodeXL reaches its 1.0 version, it will have a broader operating system support as well. Only Microsoft Windows 7, Red Hat Enterprise Linux 64-bit 6 and Ubuntu 64-bit 11.10 or later can receive it for now.