Hacker News new | ask | show | jobs
by wwalker3 5240 days ago
It sounds like the NCSU guys are using the CPU as a prefetcher to speed up GPU kernel execution, not using the GPU to speed up normal CPU programs as the ExtremeTech article implies.

The CPU parses the GPU kernel and creates a prefetcher program that contains the load instructions of the GPU kernel. This prefetcher runs on the CPU, but slightly ahead of kernel execution on the GPU. This warms up the caches, so that when the GPU executes a load instruction, the data is already there.

2 comments

Yes, you are right. In fact we don't have to infer this. The researchers state it directly in their abstract, "...a novel approach to utilize the CPU resource to facilitate the execution of GPGPU programs..."

Here it is: http://news.ncsu.edu/releases/wmszhougpucpu/

It sounds like the NCSU guys are using the CPU as a prefetcher to speed up GPU kernel execution, not using the GPU to speed up normal CPU programs as the ExtremeTech article implies.

The article says the same thing you are -- that the CPU is used as a prefetcher for the GPU; read the 3rd paragraph:

To achieve the 20% boost, the researchers reduce the CPU to a fetch/decode unit, and the GPU becomes the primary computation unit. This works out well because CPUs are generally very strong at fetching data from memory, and GPUs are essentially just monstrous floating point units. In practice, this means the CPU is focused on working out what data the GPU needs (pre-fetching), the GPU’s pipes stay full, and a 20% performance boost arises.