Graphics processing unit
A Graphics Processing Unit or GPU (also occasionally called Visual Processing Unit or VPU) is a dedicated graphics rendering device for a personal computer or game console. Modern GPUs are very efficient at manipulating and displaying computer graphics, and their highly-parallel structure makes them more effective than typical CPUs for a range of complex algorithms.
A GPU implements a number of graphics primitive operations in a way that makes running them much faster than drawing directly to the screen with the host CPU. The most common operations for early 2D computer graphics include the BitBLT operation (combine two bitmap patterns using a RasterOp), usually in special hardware called a "blitter", and operations for drawing rectangles, triangles, circles and arcs. Modern GPUs also have support for 3D computer graphics, and typically include digital video-related functions as well.
Computational Functions
Modern GPUs use most of their transistors to do calculations related to 3D computer graphics. They were initially used to accelerate the memory-intensive work of texture mapping and rendering polygons, later adding units to accelerate geometric calculations such as translating vertices into different coordinate systems. Recent developments in GPUs include support for programmable shaders which can manipulate vertices and textures with many of the same operations supported by CPUs, oversampling and interpolation techniques to reduce aliasing, and very high-precision color spaces. Because most of these computations involve matrix and vector operations, engineers and scientists have increasingly studied the use of GPUs for non-graphical calculations.
Because all these applications exceed an actual GPU's usage target, a new term, GPGPU is usually employed to describe them. While GPGPUs are the same chips as GPUs, there is increased pressure on manufacturers from "GPGPU users" to improve hardware design, usually focusing on adding more flexibility to the programming model.
Although modern PC GPUs feature some progammability in the form of 3D shaders (as seen by the Nvidia CG toolkit and ATI Rendermonkey APIs), this should not be confused with general software programmability. Instead, these units may operate as SIMD or sometimes MIMD parallel processors. Operations on rectangular arrays of colored pixels are a prime application for these, and many array algorithms – though not all – can be adapted to GPUs for extremely high throughput.
In addition to the 3D hardware, today's GPUs include basic 2D acceleration and frame buffer capabilities (usually with a VGA compatibility mode). In addition, most GPUs made since 1995 support the YUV color space and hardware overlays (important for digital video playback), and many GPUs made since 2000 support MPEG primitives such as motion compensation and iDCT. Recent graphics cards even decode high-definition video on the card, taking some load off the central processing unit.
GPU Forms
Dedicated Graphics Cards
The most powerful class of GPUs typically interface with the motherboard by means of an expansion slot such as PCI Express or Accelerated Graphics Port (AGP) and can usually be replaced or upgraded with relative ease, assuming the motherboard is capable of supporting the upgrade. However, a dedicated GPU is not necessarily removable, nor does it necessarily interface with the motherboard in a standard fashion. The term "dedicated" refers to the fact that dedicated graphics cards have RAM that is dedicated to the card's use, not to the fact that most dedicated GPUs are removable. Dedicated GPUs for portable computers are most commonly interfaced through a non-standard and often proprietary slot due to size and weight constraints. Such ports may still be considered AGP or PCI Express, even if they are not physically interchangeable with their counterparts.
Integrated Graphics Solutions
Integrated graphics solutions, or shared graphics solutions are graphics processors that utilize a portion of a computer's system RAM rather than dedicated graphics memory. Such solutions are typically far less expensive to implement in comparison to dedicated graphics solutions, but at a trade-off of being far less capable and are generally considered unfit to play modern games. Desktop motherboards may include an integrated graphics solution and have expansion slots available to add a dedicated graphics card later.