They say two heads are better than one, but in processors with integrated graphics -- think Intel's Sandy Bridge or AMD's APUs -- the GPU and CPU actually do very little communicating. For the most part, the GPU does its thing while the CPU knocks about on something else. There has to be something better! And as it turns out, there is: a group of researchers from North Carolina State University recently coaxed CPUs and GPUs on integrated processors into helping each other out, and they report a performance boost of over 20 percent as a result.
The trick lies in playing to the individual strengths of each type of processing unit. GPUs can pound out multiple computations very efficiently, while CPUs are better at "thinking out" complex tasks.
“Our approach is to allow the GPU cores to execute computational functions, and have CPU cores pre-fetch the data the GPUs will need from off-chip main memory,” says Dr. Huiyang Zhou, a NCSU professor. The researchers have dubbed the technique CPU-Assisted GPGPU, and report a whopping 21.4 percent average performance gain using the process on benchmark processors constructed similarly to Sandy Bridge and AMD APUs.
The full research paper won't be released until the end of the month, but if you want more details about CPU-Assisted GPGPU -- like how the CPU dumps prefetched data into the shared L3 cache for the GPU to access -- be sure to check out the explanation at the bottom of the
“CPU-Assisted GPGPU on Fused CPU-GPU Architectures” abstract page
. It's worth noting that AMD helped fund the project, along with the National Science Foundation, and one of its employees is a co-author of the report.
Image credit: notebookcheck.net