Graphics Processing Unit

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Picture of a nVidia GeForce 3 Ti200 GPU

A GPU (graphical processing unit) is a processor that renders (or creates) images, animations, and graphics and displays them for the computer’s screen. A strong GPU is able to process complex animations and graphics smoothly and efficiently.[change | change source]

Tasks a GPU has to do[change | change source]

2D and 3D (Acceleration)[change | change source]

Today, there are generally two types of images which GPU has to calculate, which is also called rendering. Most applications like the operating system’s desktop (except e.g. Windows Vista’s Aero Desktop) or office applications the GPU has to render two dimensional (2D) pictures. Modern GPUs are so powerful that there is no difference in 2D performance between low-cost and expensive GPUs. The minor part of today’s applications use 3D pictures to simulate three-dimensionality. Examples for such applications are computer and video games or applications for design and technical construction (CAD). The 3D acceleration performance of GPUs differs greatly. Generally, more expensive GPUs can render faster than low-cost ones.

Manufacturers[change | change source]

Today, Nvidia, AMD, and Intel are the most common designers of graphics cards. However, many manufacturers work with these three companies to manufacture the actual hardware. These manufacturers include, but are not limited to, Asus, MSI, and EVGA. AMD and Intel sometimes include integrated GPUs embedded in their CPUs but these are not as powerful as a dedicated external GPU that is seperate from the CPU.

Integrated Graphics Processor (IGP)[change | change source]

Integrated graphics processors (IGP) are otherwise known as integrated graphics, shared graphics solutions, or unified memory architecture (UMA). Instead of using their own dedicated graphics memory, they use a portion of the computer’s memory, which is called Random Access Memory (RAM). Integrated graphics processors can be integrated onto the motherboard with the computer’s central processing unit (CPU) (like AMD APU or Intel HD Graphics).On certain AMD motherboards, IGPs can also use a form of dedicated memory called sideport memory, which is a separate block of high performance memory.

In early 2007, about 90% of all PC shipments had integrated graphics processors. They are less costly to get working than a dedicated graphics processor, but are also less reliable. IGPs of the past have shown they are unfit to play 3D games or run graphically demanding programs, but modern IGPs are able to handle 2D graphics and low stress 3D graphics.

Graphics processing units require a lot of memory, and because integrated processing does not have its own dedicated video memory, it may compete with the CPU for the RAM, which is relatively slow. The performance difference between a dedicated graphics processor and an integrated graphics processor can be seen through their respective memory bandwidths. Memory bandwidth is the rate at which data can be read or stored, and is measured in Bytes per second. A lower memory bandwidth means worse performance. An IGP can process up to 29.856 Gigabytes per second, where a dedicated graphics card can process up to 264 Gigabytes per second.

Origin[change | change source]

The first graphics cards were used in the 1970’s within arcade machines as a cheaper alternative to random access memory (RAM). However, graphics cards were not viable for consumer products until the release of the Large Scale Integration (LSI) circuit chip in the 1980’s. During the early-to-mid 1990’s, graphics cards that were capable of 3D support became more common in arcade, computer, and console games. The first consumer-level GPU meant for personal computers was the Nvidia GeForce 256, which was released in 1999.

Modern Uses[change | change source]

GPUs are commonly used in computers and video game systems to render graphics for video games that may not be playable without the proper GPU. However, other devices such as virtual reality headsets and driverless cars also use GPUs. GPU computing, which every tasks that a GPU can do, includes calculations, artificial intelligence programming, photo editing, and other applications.

GPU Computing[change | change source]

The term GPU computing combines all tasks a GPU can calculate that go beyond simple calculation and output of pictures. It is also known under the term General Purpose Computation on Graphics Processing Unit. Tasks are calculation of physics, Artificial Intelligence or even acceleration of video and picture editing. One of the first applications to support GPU computing is Adobe’s Photoshop CS4.

nVidia’s approach: CUDA[change | change source]

nVidia calls their attempt at GPU Computing CUDA.[1] This is nVidia's interface for using their GPUs for general computing tasks. CUDA is based on the C programming language.

ATi’s approach: Stream[change | change source]

ATi is calling their attempt Stream.[2] There were some earlier attempts under a different name prior to Stream’s release with ATi’s graphics driver “Catalyst 8.12” in December 2008.

S3 Graphic’s approach[change | change source]

S3 Graphics showed a first application[3] for video editing which is accelerated by their latest GPUs. Yet, there is no information whether S3 Graphics will continue to increase their efforts in GPU computing.

The latest milestone in GPU computing was AMD’s announcement[4] of a Super-Computer based on GPUs at the CES in January 2009. It will be built of more than a thousand GPUs and will have a computing power of one petaflop.

External GPU[change | change source]

An external GPU is a graphics processor located outside of the housing of the computer. External graphics processors are used with laptop computers, which lack a powerful graphics processor. On-board graphics chips are not powerful enough for graphically intensive tasks. Therefore, attaching a GPU to some notebook is desirable.

GPU Acclerated Video Decoding[change | change source]

Most GPUs made since 1995 support YUV color space and hardware overlays, and many GPUs made since 2000 also support MPEG primitives. This process of hardware accelerated video decoding. Most recent graphics cards even decode high-definition video on the card, offloading the central processing unit.

GPU Interfaces[change | change source]

Early GPUs used Peripheral Component Interconnect (PCI) interface to communicate with the motherboard of a computer, a type of slot which is still used today for simple motherboard add-ons such as extra audio-processing cards or USB ports. As graphics cards became more powerful and graphics applications more demanding, a faster kind of interface called Advanced Graphics Port (AGP) was created and then PCIe x16 (PCI Express 16-lane) after it, the current overall standard. In 2008 PCIe 2.0 was introduced, doubling the speed of PCIe 1.0 and still working with older PCI Express interfaces.

PCI graphics cards will only work in PCI slots; AGP will only work in AGP slots. PCIe graphics cards will not function in PCI slots and PCI graphics cards will not function in PCIe slots. However, PCI Express 2.0 graphics cards will work in PCI Express x16 1.0 motherboard slots and vice-versa.

Multi-GPU systems[change | change source]

Multi-GPU Systems are computers which use more than one GPU. Generally this is used in high-end home computers to accelerate computer games, but there is also the ability to have one GPU rendering normal game scenes and one GPU calculating physics. This is currently supported by nVidia’s GPUs only and called PhysX. ATi and Intel have developed their own physics engine named Havok.

History of Multi-GPU systems[change | change source]

The first attempts in Multi-GPU Systems were done by 3Dfx, which was bought by nVidia later. Their Voodoo video cards, which were 3D only accelerators, could be hooked up to a second Voodoo video card to gain more performance. This was called SLi. Theoretically the performance would double, practically it increased far less, depending on the video game, which is still a problem in today’s Multi-GPU Systems. Later, 3Dfx built more than one GPU on one video card. It’s latest video card, the Voodoo 6, was based on four GPUs, but it was never released. However there exist several engineering samples of the Voodoo 6, mostly owned by collectors.

nVidia’s SLi[change | change source]

Picture of a 3-way-SLi system using three nVidia GeForce 8800 Ultra video cards

After nVidia bought 3Dfx, Multi-GPU Systems were dead for several years until nVidia came up with this idea again in 2004. As nVidia had bought all technologies and market names from 3Dfx, too, they simply used the name SLi again. Today’s SLi[5] works with up to three video cards, which is called 3-way-SLi. There were also attempts with four cards, but this failed due to limitations in the DirectX9 API. Today’s DirectX10 API however would support this.

Despite the video cards, a SLi compatible motherboard is needed to build a SLi-System. Such motherboards have several PEG Slots (the successor to AGP, based on PCI-Express Technology) for more than one video card.

nVidia offers various Multi-GPU video cards, where two GPUs are built on one video card. These are often called Dual-GPU video cards and do not need a SLi compatible motherboard.

ATi’s CrossFireX[change | change source]

ATi’s Multi-GPU Technology is called Cross Fire.[6] It works quite the same way, though there are fewer limitations for video card combinations. CrossFire was renamed as CrossFire X in 2007 to represent the possibility to combine more than two cards. Today, it is possible to have a CrossFire X system based on four video cards or two Dual-GPU cards.

Just like with SLi, there is the necessity for a CrossFire compatible motherboard in order to build a CrossFire System. One Dual-GPU video card from ATi does not necessarily need such a Crossfire compatible motherboard, however for two of them, it is needed.

References[change | change source]

  1. [1] CUDA Zone
  2. [2] GPU Technology for Accelerated Computing
  3. [3] S3 Graphics Showcases GPGPU Functionality with S3FotoPro™ Image Enhancement Application
  4. [4] AMD Supercomputer To Deliver Next-Generation Games and Applications Entirely Through the Cloud
  5. [5] SLI Zone
  6. [6] ATi CrossFireX™