Field Guide · concept

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

CPU a few large cores · sequential, branchy GPU thousands of small cores · data-parallel
A CPU spends its silicon on a few large cores tuned for sequential, branch-heavy code; a GPU spends its silicon on a dense grid of small cores that apply the same operation to many data elements at once — the pattern GPGPU exploits.

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

  1. General-purpose computing on graphics processing units — Wikipedia, on using GPUs for non-graphics computation and the data-parallel model. 

See also