GPGPU
GPGPU, short for general-purpose computing on graphics processing units, is the use of GPU hardware and software to perform computations beyond graphics rendering. GPUs offer many parallel cores and high memory bandwidth, which can deliver major speedups for data-parallel tasks. Not all workloads benefit, however; tasks with little parallelism or strict low-latency requirements may run better on CPUs.
GPU programming evolved from graphics pipelines to general computation with interfaces such as CUDA (NVIDIA) and
Common domains include scientific simulations, linear algebra, image and video processing, and machine learning. Deep learning
Key considerations for GPGPU programming include the GPU’s memory hierarchy, bandwidth, and occupancy, as well as