Graphics Processing Unit (GPU)
Traditionally consists of a collection of specific hardware acceleration circuitry targeting the visual display for a system. Originally specific circuits were designed to manipulate and alter memory to accelerate the creation of images in video frame buffers intended for output to a display device. The principle was to off load the central processing unit from the types of computation that exhibit significant data-parallelism and that can be better exploited by specialist compute architectures for specific mathematical calculations and memory access patterns. The original graphics circuits off loaded common 2D-drawing operations and bit blitting operations and video compression/decompression. Modern units handle complex 3D rendering actions with rendering pipeline that can provide pixel by pixel manipulation that is programmable with complex floating point mathematic operations. The core capabilities of these units are now being used as more generalized computing devices, for example in machine learning applications. This use makes some parts of the rendering pipeline redundant but removes the need for development of a more specialist accelerator.