Graphics Processing Unit (GPU)

What is GPU?

A graphics processing unit (GPU) is a component that is primarily used to create 3D graphics and increasingly used for general-purpose compute tasks, such as mathematical analysis or AI processing. Almost every device that creates images on a display will require a GPU, from laptop and desktop computers to smartphones, and tablets. A more powerful GPU can create images at a faster frame rate, but this demands a more complex design, requiring a larger GPU that takes up more silicon area, draws more power and is more costly to make. Desktop computers often have a dedicated graphics board containing a GPU, while integrated GPUs are incorporated into a larger piece of silicon such as the motherboard. Inside power-constrained devices, such as smartphones and tablets, the GPU is integrated into the silicon-on-chip (SoC), which holds all the necessary computing functions, including the CPU, memory and networking components.

When GPUs first appeared for the desktop computer market in 1999, they were fixed function, in that they were designed to perform 3D acceleration in a particular manner. In the early 2000s GPUs were introduced with programmable pixel shaders, enabling developers to programme the GPU in different ways. This approach supplied more flexibility and enabled the creation of more advanced, more realistic visual effects, such as improvements to shadowing and lighting.

GPU architectures take two different approaches to rendering 3D images. Many use a technique called immediate mode rendering, where all triangles are rendered, textured and shaded, by the GPU before they are sent to the screen. However, the pixels that are not displayed in that frame are culled, which results in wasted processing and system bandwidth. More efficient architectures used a tile-based architecture, where the frame is divided up into tiles and, using a technique called hidden surface removal, only those parts that will be visible to the viewer are rendered. Imagination GPUs are based on tile-based deferred rendering, which only processes visible pixels, making rendering even more efficient.