The History of the GPU
The History of the GPU
The graphics processing unit (GPU) is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. Originally conceived as fixed-function hardware to offload repetitive pixel-drawing tasks from the central processing unit (CPU), the GPU has evolved into a highly parallel programmable processor. This architectural shift allowed it to dominate not only real-time 3D computer graphics but also high-performance computing, scientific simulation, and artificial intelligence.[28]
The development of the GPU was driven by the strict performance constraints of real-time rendering.[29] Generating 3D graphics requires executing the same mathematical operations, such as matrix transformations and lighting calculations, across millions of vertices and pixels 60 times per second. CPUs, optimized for sequential logic and low-latency branching, lacked the arithmetic logic unit density and memory bandwidth required for this workload. Hardware engineers responded by designing application-specific integrated circuits that prioritized massive data parallelism and high throughput over single-thread latency.
As rendering algorithms grew more complex, the fixed-function pipelines of the 1990s were replaced by programmable shader architectures in the early 2000s. This programmability exposed the parallel compute capability of the GPU to non-graphics applications, a concept known as general-purpose computing on graphics processing units (GPGPU).[30] When deep learning researchers discovered that the matrix multiplication required to train neural networks mapped perfectly to GPU architectures, the hardware became the foundational infrastructure of the modern artificial intelligence industry.
Early Graphics Controllers and Coprocessors (1970s to 1980s)
The earliest computers relied on the CPU to manage every aspect of video output, a process that consumed significant processor time and memory bandwidth. To alleviate this bottleneck, engineers developed video display controllers[1] (VDCs). These early chips were not processors; they were state machines that read data from a dedicated frame buffer and converted it into analog video signals.
In the arcade and home console markets of the 1970s, strict cost and memory constraints forced hardware designers to innovate. The Atari 2600, released in 1977, utilized the Television Interface Adaptor (TIA) designed by Jay Miner. Because RAM was too expensive to afford a full frame buffer, the TIA generated the video signal line by line in synchronization with the electron beam of the cathode-ray tube television. The CPU had to update the TIA registers during the horizontal blanking interval, tightly coupling game logic to the video timing.
The transition from simple display controllers to active graphics coprocessors began in the early 1980s. In 1981, Nippon Electric Company (NEC) released the µPD7220[2], the first fully integrated very-large-scale integration (VLSI) graphics display controller. The µPD7220 could draw lines, circles, arcs, and characters into a bitmapped display memory independently of the CPU. By offloading these rasterization tasks, it enabled high-resolution graphics on personal computers and workstations, becoming one of the most widely adopted graphics chips of the decade.
In 1985, Commodore released the Amiga personal computer, which featured a custom chipset designed to accelerate graphics and audio. The Amiga included a coprocessor known as the Copper, which could execute simple instruction streams synchronized with the video beam, and the Blitter, a hardware block dedicated to rapidly moving and combining blocks of pixel data in memory. This architecture allowed the Amiga to perform smooth scrolling and sprite multiplexing that IBM PC compatibles of the era could not match. IBM responded in 1987 with the Video Graphics Array (VGA) standard and the 8514/A display adapter, which introduced basic 2D hardware acceleration for drawing lines and filling polygons in the enterprise market.
The Rise of 3D Hardware Acceleration (1990 to 1997)
The push for 3D graphics hardware originated in the military flight simulator and arcade markets, where budgets permitted the use of expensive, multi-board systems. In 1992, Sega released the Model 1 arcade system board, developed in partnership with GE Aerospace. The Model 1 featured custom silicon capable of rendering flat-shaded 3D polygons at 60 frames per second, powering games like Virtua Racing.
In the workstation market, Silicon Graphics (SGI) dominated 3D rendering with systems like the RealityEngine (1992). To standardize the software interface for their hardware, SGI introduced OpenGL[3] in 1992. OpenGL provided an application programming interface (API) that abstracted the underlying hardware, allowing developers to write 3D applications without needing to target specific chip registers.
Bringing 3D acceleration to the consumer PC market required drastic cost reductions. Early PC 3D accelerators, such as the Rendition Verite V1000 and the Nvidia NV1, struggled with high manufacturing costs and poor software compatibility. Microsoft attempted to standardize PC graphics with the release of DirectX[4] in 1995, specifically the Direct3D component, but early versions were heavily criticized by developers for their complex Component Object Model (COM) architecture.
The commercial breakthrough for consumer 3D graphics occurred in October 1996 with the release of the 3dfx Voodoo Graphics[5] chipset. Unlike earlier attempts that tried to combine 2D and 3D acceleration on a single chip, the Voodoo was a dedicated 3D add-in board that required a separate 2D VGA card. It featured a dedicated texture mapping unit and rasterizer, delivering performance that vastly exceeded software rendering. 3dfx also provided a proprietary API called Glide, which was a simplified subset of OpenGL optimized specifically for their hardware. The success of the Voodoo established hardware-accelerated 3D graphics as a requirement for PC gaming.
The Coining of the GPU and Hardware Transform and Lighting (1997 to 2000)
Following the success of 3dfx, the PC graphics market experienced a period of intense competition and rapid consolidation. Nvidia, after the commercial failure of the NV1, restructured its engineering pipeline to operate on a strict six-month release cadence. In 1997, Nvidia released the RIVA 128 (NV3), which integrated 2D and 3D acceleration and fully supported Direct3D.
On August 31, 1999, Nvidia announced the GeForce 256[6] (NV10). Nvidia marketed it as the world's first "Graphics Processing Unit" (GPU), defining the term as a single-chip processor with integrated transform, lighting, triangle setup, clipping, and rendering engines.[31] Prior to the GeForce 256, the CPU was responsible for calculating the 3D geometry and lighting (Transform and Lighting, or T&L) before sending the 2D screen coordinates to the graphics card for rasterization. By moving the floating-point intensive T&L calculations into dedicated hardware on the graphics chip, the GeForce 256 removed a major CPU bottleneck and allowed developers to use significantly higher polygon counts.
ATI Technologies responded in 2000 with the Radeon (or Radeon SDR/DDR)[7] (R100) ("Radeon 256" was a pre-release name that was dropped), which also featured hardware T&L and introduced advanced memory bandwidth optimization techniques. The transition to hardware T&L increased the transistor count and thermal output of graphics chips, requiring active cooling solutions (fans) on consumer cards for the first time. Companies that failed to keep pace with the rapid integration of features, including Matrox, S3 Graphics, and 3dfx, lost market share. 3dfx announced the sale of its assets to Nvidia in December 2000, but did not declare bankruptcy until October 2002, and its intellectual property was acquired by Nvidia, leaving Nvidia and ATI as the two dominant manufacturers of discrete GPUs.
The Programmable Pipeline (2001 to 2005)
The fixed-function pipelines of the late 1990s were highly efficient but inflexible. Developers could toggle specific hardware features, such as fog or alpha blending, but they could not write custom algorithms to calculate lighting or texture blending. The demand for cinematic visual effects required a shift from fixed-function logic to programmable processors.
In November 2000, Microsoft released DirectX 8.0, which introduced the concept of programmable vertex and pixel shaders. Instead of relying on hardcoded T&L and texture blending units, developers could write small programs (shaders) that executed directly on the GPU's execution units. Nvidia released the GeForce 3[8] (NV20) in February 2001, the first GPU to support the DirectX 8.0 programmable pipeline. The GeForce 3 allowed developers to implement custom per-pixel lighting, bump mapping, and volumetric shadows.
The programming model for early shaders was highly constrained, resembling assembly language with strict limits on instruction counts and memory reads. In August 2002, ATI released the Radeon 9700[9] (R300), which supported the new DirectX 9.0 standard. The R300 architecture expanded the programmable pipeline by supporting 24-bit floating-point precision for pixel shaders, allowing for complex mathematical operations without severe rounding errors. To make programming these complex shaders manageable, Microsoft and Nvidia co-developed high-level shading languages, resulting in HLSL[10] for Direct3D and Cg for OpenGL.
During this era, vertex shaders and pixel shaders were executed by physically separate hardware units on the GPU die. Vertex shaders required high-precision floating-point math for geometry transformations, while pixel shaders required high-throughput texture fetching and blending. This separation created inefficiencies; a geometry-heavy scene would leave the pixel shaders idle, while a texture-heavy scene would bottleneck the pixel shaders and leave the vertex units underutilized.
Unified Shader Architecture and General-Purpose Computing (2006 to 2011)
The inefficiency of separate shader units led to the development of the unified shader architecture. Instead of dedicating silicon to specific vertex or pixel tasks, a unified architecture uses a single pool of generalized arithmetic logic units (ALUs) that can dynamically allocate resources to vertex, pixel, or geometry processing based on the immediate workload.
The first consumer GPU to implement a unified shader architecture was the Xenos[11] chip, designed by ATI for the Microsoft Xbox 360 console released in 2005. In the PC market, Nvidia introduced the unified Tesla architecture with the release of the GeForce 8800 GTX[12] (G80) in November 2006. The G80 featured 128 unified stream processors operating at a higher clock speed than the rest of the chip. ATI (acquired by AMD in 2006) followed with the TeraScale architecture in the Radeon HD 2000 series.
The transition to unified, highly programmable ALUs made the GPU resemble a massively parallel vector processor. Researchers had already been experimenting with using GPUs for non-graphics scientific computing, but they had to map their mathematical problems onto graphics APIs, disguising data as textures and computations as pixel shaders. To formalize and support this workload, Nvidia released the Compute Unified Device Architecture (CUDA[13]) in 2007.[32] CUDA provided a C-like programming environment that allowed developers to write code directly for the GPU's parallel execution units without interacting with graphics APIs.
To provide a vendor-neutral alternative to the proprietary CUDA platform, Apple developed OpenCL[14] (Open Computing Language); the Khronos Group released the OpenCL 1.0 specification in December 2008. Both CUDA and OpenCL required GPUs to support standard IEEE 754[15] floating-point arithmetic, but double-precision (64-bit) math was an optional feature in OpenCL and was not supported by early CUDA GPUs, which was unnecessary for rendering pixels but strictly required for scientific simulations.[28] This dual requirement forced GPU manufacturers to design architectures that balanced the throughput needs of graphics with the precision and memory consistency needs of high-performance computing (HPC).
The Deep Learning Era (2012 to 2018)
The parallel compute capabilities introduced by CUDA and OpenCL found an unexpected application in the field of artificial intelligence. Artificial neural networks, particularly deep convolutional neural networks, require millions of matrix multiplications during both the training and inference phases. These operations are highly parallelizable and map perfectly to the wide memory buses and dense ALU arrays of GPUs.
In 2012, researchers at the University of Toronto entered a deep convolutional neural network named AlexNet[16] into the ImageNet Large Scale Visual Recognition Challenge. AlexNet was trained using two Nvidia GTX 580 GPUs. It achieved a top-5 error rate of 15.3 percent, outperforming the runner-up by a margin of 10.8 percentage points. This result demonstrated that GPUs could reduce the training time of deep neural networks from months to days, triggering a rapid shift in artificial intelligence research toward deep learning.
Recognizing the commercial potential of this new market, Nvidia began aggressively optimizing its hardware and software stack for machine learning. The Pascal[17] architecture, introduced in 2016 with the P100 datacenter GPU, added support for 16-bit floating-point (FP16) operations. Machine learning models do not require the 32-bit or 64-bit precision used in scientific computing; lower precision allows for higher throughput and reduced memory bandwidth consumption.
In 2017, Nvidia released the Volta[18] architecture, which introduced Tensor Cores[19]. Unlike standard CUDA cores that perform one operation per clock cycle, Tensor Cores are specialized mixed-precision matrix math units capable of multiplying two 4x4 FP16 matrices and adding the result to a 32-bit accumulator in a single clock cycle. This hardware specialization drastically accelerated the training of large language models and generative adversarial networks.
During this period, AMD focused its engineering efforts on the console market, providing semi-custom accelerated processing units (APUs) based on the Graphics Core Next[20] (GCN) architecture for the Sony PlayStation 4 and Microsoft Xbox One. While this strategy secured steady revenue, it allowed Nvidia to establish a near-monopoly in the high-margin datacenter and AI markets.
Low-Overhead APIs and Hardware Ray Tracing (2014 to 2020)
As GPU hardware became more capable, the software APIs used to control them became a bottleneck. OpenGL and Direct3D 11 were designed in an era of single-core CPUs. They relied on heavy driver overhead to manage memory and translate API calls into hardware-specific instructions, making it difficult for developers to utilize multiple CPU cores to feed data to the GPU.
AMD introduced Mantle in 2013, a low-overhead API that gave developers explicit control over memory allocation and command buffers. While Mantle was eventually discontinued, it served as the foundation for a new generation of explicit graphics APIs. Apple released Metal in 2014[21], and Microsoft released Direct3D 12. In 2016, the Khronos Group released Vulkan[22], an open-standard explicit API derived heavily from Mantle. These APIs shifted the burden of memory management and synchronization from the graphics driver to the application developer, reducing CPU overhead and improving multi-threading performance.
With the API bottleneck addressed, hardware designers targeted the most computationally expensive rendering technique: ray tracing. Traditional rasterization projects 3D geometry onto a 2D plane and estimates lighting. Ray tracing simulates the physical behavior of light by tracing the path of millions of photons as they bounce off surfaces, providing physically accurate reflections, refractions, and global illumination.
In 2018, Nvidia introduced the Turing[23] architecture, which featured dedicated hardware intersection units called RT Cores. Calculating ray intersections with complex geometry requires traversing bounding volume hierarchies (BVH). Doing this on standard programmable shaders is highly inefficient due to divergent branching. RT Cores offloaded the BVH traversal and triangle intersection tests to fixed-function hardware, enabling real-time hybrid rendering where rasterization is used for primary visibility and ray tracing is used for lighting. AMD followed in 2020 with hardware ray tracing support in the RDNA 2 architecture, which powered the PlayStation 5[24] and Xbox Series X[25].
The Modern State and Significance of the GPU
The GPU has transitioned from a niche peripheral for video games into the primary engine of modern high-performance computing. The physical scale and economic value of GPU manufacturing have reached unprecedented levels. Modern datacenter GPUs, such as the Nvidia Hopper H100[26] (released in 2022) and the subsequent Blackwell architecture, are among the most complex processors ever fabricated. They contain tens of billions of transistors and rely on advanced packaging technologies, such as Chip-on-Wafer-on-Substrate (CoWoS) developed by TSMC[27], to integrate the logic die with stacks of High Bandwidth Memory (HBM).
The economic consequences of this architectural evolution are profound. The explosive growth of generative artificial intelligence models, which require clusters of tens of thousands of GPUs for training, has created a severe supply constraint in the semiconductor market. Datacenter revenue for GPU manufacturers has vastly surpassed gaming revenue, fundamentally altering their corporate priorities. The architecture of the GPU is now dictated primarily by the memory bandwidth and matrix multiplication requirements of transformer-based neural networks, with graphics rendering treated as a secondary workload for the flagship silicon.
At the consumer level, the GPU remains the defining component of personal computers and mobile devices for interactive media.[33] However, the strict thermal and power limits of consumer electronics have forced a reliance on AI-driven software solutions to maintain performance scaling. Technologies such as Deep Learning Super Sampling (DLSS) use the GPU's tensor processing units to upscale lower-resolution rendered frames using neural networks, replacing brute-force rasterization with predictive generation.
The history of the GPU is defined by a cycle of specialization and generalization. It began as fixed-function hardware designed to bypass the limitations of the CPU, evolved into a programmable parallel processor to support complex graphics algorithms, and became the generalized infrastructure for artificial intelligence. By prioritizing massive data throughput over sequential logic, the GPU architecture proved uniquely suited to the computational demands of the 21st century.
Sources (33)
- Video display controller
- NEC µPD7220
- OpenGL-Khronos Group
- Direct3D-Microsoft Learn
- 3dfx Voodoo Graphics
- GeForce 256
- Radeon R100
- GeForce 3 Series
- Radeon 9700
- High-Level Shader Language
- Xenos (graphics chip)
- GeForce 8 Series
- CUDA Zone-NVIDIA Developer
- OpenCL-Khronos Group
- IEEE 754 Standard for Floating-Point Arithmetic
- AlexNet
- Pascal (microarchitecture)
- Volta (microarchitecture)
- NVIDIA Tensor Cores
- Graphics Core Next
- Metal-Apple Developer
- Vulkan-Khronos Group
- Turing (microarchitecture)
- PlayStation 5
- Xbox Series X and Series S
- NVIDIA H100 Tensor Core GPU
- TSMC-Taiwan Semiconductor Manufacturing Company
- David A. Yuen, Long Wang, Xuebin Chi, GPU Solutions to Multi-scale Problems in Science and Engineering (Springer Science & Business Media, 2013)
- Jon Peddie, The History of the GPU-Steps to Invention (Springer Nature, 2023)
- Ying Tan, GPU-based Parallel Implementation of Swarm Intelligence Algorithms (Morgan Kaufmann, 2016)
- Jon Peddie, The History of the GPU-Eras and Environment (Springer Nature, 2023)
- Richard Ansorge, Programming in Parallel with CUDA (Cambridge University Press, 2022)
- Jon Peddie, The History of the GPU-New Developments (Springer Nature, 2023)