GPU Computing
Using graphics processors' massive parallelism to accelerate general numerical computation.
Definition
GPU computing harnesses the graphics processing unit, originally built for rendering, to accelerate general-purpose computation. A GPU has thousands of simple cores optimized for performing the same operation on many data elements at once.
The programming model exposes thousands of threads grouped into blocks, and performance hinges on keeping memory accesses coalesced and the many cores busy. Code that branches heavily or accesses memory irregularly can run slower on a GPU than on a CPU, so not every workload benefits.
The performance model rewards regularity: thousands of threads must follow similar control paths and access memory in coordinated, contiguous patterns to reach the hardware's potential. Divergent branches and scattered memory access can leave most of the chip idle. Porting code to a GPU is therefore not a mechanical translation but a redesign around data parallelism, which pays off enormously for suitable workloads and poorly for unsuitable ones.
When GPUs win
- Highly data-parallel workloads with regular memory access.
- Dense linear algebra and deep learning.
- Poor fit: heavily branching, sequential, or memory-irregular code.
Why it matters
GPUs deliver far more arithmetic throughput per unit of energy than CPUs on suitable workloads, which is why they power modern AI training and much of scientific computing. Their memory bandwidth and programming model differ from CPUs, requiring code written to their strengths.
Fusion connection
Kronos uses GPUs both to train surrogate models and to accelerate the data-parallel kernels inside plasma and materials simulations for Hyperion.