A graphics processing unit (GPU) is a computer chip that performs rapid mathematical calculations, primarily for the purpose of rendering images. In the early days of computing, the central processing unit (CPU) performed these calculations. As more graphics-intensive applications such as AutoCAD were developed, however, their demands put strain on the CPU and degraded performance. GPUs came about as a way to offload those tasks from CPUs and free up processing power.
Today, graphics chips are being adapted to share the work of CPUs and train deep neural networks for AI applications. A GPU may be found integrated with a CPU on the same circuit, on a graphics card or in the motherboard of a personal computer or server. NVIDIA, AMD, Intel and ARM are some of the major players in the GPU market.
GPU vs. CPU
A GPU is able to render images more quickly than a CPU because of its parallel processing architecture, which allows it to perform multiple calculations at the same time. A single CPU does not have this capability, although multicore processors can perform calculations in parallel by combining more than one CPU onto the same chip.
A CPU also has a higher clock speed, meaning it can perform an individual calculation faster than a GPU so it is often better equipped to handle basic computing tasks.
In general, a GPU is designed for data-parallelism and applying the same operation to multiple data-items (SIMD). A CPU is designed for task-parallelism and doing different operations.
How a GPU works
CPU and GPU architectures are also differentiated by the number of cores. The core is essentially the processor within the processor. Most CPUs have between four and eight cores, though some have up to 32 cores. Each core can process its own tasks, or threads. Because some processors have multithreading capability -- in which the core is divided virtually, allowing a single core to process two threads -- the number of threads can be much higher than the number of cores. This can be useful in video editing and transcoding. CPUs can run two threads (independent instructions) per core (the independent processor unit). GPUs can have four to 10 threads per core.
History of GPUs
Specialized chips for processing graphics have existed since the dawn of video games in the 1970s. Early on, graphics capabilities were included as part of a video card, a discrete dedicated circuit board, silicon chip and necessary cooling that provides 2D, 3D and sometimes even general purpose graphics processing (GPGPU) calculations for a computer. Modern cards with integrated calculations for triangle setup, transformation and lighting features for 3D applications are typically called GPUs. Once rare, higher-end GPUs are now common and are sometimes integrated into CPUs themselves. Alternate terms include graphics card, display adapter, video adapter, video board and almost any combination of the words in these terms.
Graphics processing units came to high-performance enterprise computers in the late 1990s, and NVIDIA introduced the first GPU for personal computers, the GeForce 256, in 1999.
Over time, the processing power of GPUs made the chips a popular choice for other resource-intensive tasks unrelated to graphics. Early applications included scientific calculations and modeling; by the mid-2010s, GPU computing also powered machine learning and artificial intelligence software.
In 2012, NVIDIA released a virtualized GPU, which offloads graphics processing power from the server CPU in a virtual desktop infrastructure. Graphics performance has traditionally been one of the most common complaints among users of virtual desktops and applications, and virtualized GPUs aim to address that problem.
Ray tracing and other recent trends
A few recent trends in GPU technology include:
- As of 2019, GPU vendors typically provide GPU virtualization, and new and more powerful GPU chips are coming out on a regular basis.
- In 2019, AMD introduced AMD unveiled, its full line of Radeon RX 5700 series GPUs. The series is based on AMD's Navi GPU architecture. Navi is seen as an upgrade to AMD's Graphics Core Next technology.
- ARM targeted the mobile augmented reality (AR) and virtual reality (VR) market with its Mali-G77 processors.
- NVIDIA continued to push its ray tracing capabilities, as part of its RTX platform. Ray tracing is seen as the next-step in the evolution of graphics rendering after rasterization. While rasterization uses objects created from a mesh of triangles to represent a 3D model, ray tracing provides realistic lighting by simulating the physical behavior of light by tracing the path of light as pixels in an image plane and simulating the effects.
- Enterprise-grade, data center GPUs are helping organizations harness parallel processing capabilities through hardware upgrades. This helps organizations accelerate workflows and graphics-intensive applications.