Also known as: General-purpose computing on graphics processing units
GPGPU (general-purpose computing on graphics processing units) is the practice of using a GPU to run ordinary computation rather than only rendering images.1
Overview
A GPU contains thousands of small cores built to shade pixels in parallel. When a problem can be expressed as the same operation applied to many data elements at once — the same SIMD/data-parallel pattern a vector processor exploits — those cores can be redirected at it. Early GPGPU work smuggled math through the graphics pipeline, dressing numbers up as textures and pixels; dedicated APIs like CUDA and the cross-vendor OpenCL later exposed the hardware directly.
That direct access made GPGPU mainstream for scientific computing, cryptography, and machine learning, where a single GPU can replace a rack of CPUs on the right workload. The trade-off is architectural: a GPU commits its transistors to arithmetic throughput rather than to the branch prediction and large caches that make a CPU fast at irregular, sequential code.
What it’s for
The dividing line is the shape of the work, not the difficulty of the math. A workload that does the same thing to every element of a long array is ideal; one full of data-dependent branches stalls the GPU’s lock-step lanes.
| Suits the GPU | Suits the CPU |
|---|---|
| Same op over large arrays | Branchy, data-dependent logic |
| High arithmetic per byte | Latency-sensitive single tasks |
| Regular, predictable memory | Irregular pointer chasing |
| FFTs, matrix math, filtering | Control flow, I/O, coordination |
GPGPU is the foundation of modern deep learning, where it long preceded purpose-built AI accelerators.
Where it fits
In a software-defined radio context, GPGPU can accelerate wideband DSP — large FFTs, polyphase channelizers splitting one capture into many channels, and batched filtering across those channels. These are exactly the same-op-over-many-samples workloads the hardware wants. As with any hardware acceleration, the cost of moving samples to and from the GPU only pays off when the channel count is high; GopherTrunk’s real-time, often narrowband decoding runs comfortably on CPU vector units for the common case.
Sources
-
General-purpose computing on graphics processing units — Wikipedia, on using GPUs for non-graphics computation and the data-parallel model. ↩