Graphics Processing Unit Introduction v A Graphics Processing

  • Slides: 26
Download presentation
Graphics Processing Unit

Graphics Processing Unit

Introduction v A Graphics Processing Unit (GPU) is a microprocessor that has been designed

Introduction v A Graphics Processing Unit (GPU) is a microprocessor that has been designed specifically for the processing of 3 D graphics. v The processor is built with integrated transform, lighting, triangle setup/clipping, and rendering engines, capable of handling millions of math-intensive processes per second. v. GPUs form the heart of modern graphics cards, relieving the CPU (central processing units) of much of the graphics processing load.

Why GPU? v To provide a separate dedicated graphics resources including a graphics processor

Why GPU? v To provide a separate dedicated graphics resources including a graphics processor and memory. v To relieve some of the burden of the main system resources, namely the Central Processing Unit, Main Memory, and the System Bus, which would otherwise get saturated with graphical operations and I/O requests.

What is a GPU? v A Graphics Processing Unit or GPU (also occasionally called

What is a GPU? v A Graphics Processing Unit or GPU (also occasionally called Visual Processing Unit or VPU) is a dedicated processor efficient at manipulating and displaying computer graphics. v Like the CPU (Central Processing Unit), it is a single-chip processor.

HOWEVER, v. The abstract goal of a GPU, is to enable a representation of

HOWEVER, v. The abstract goal of a GPU, is to enable a representation of a 3 D world as realistically as possible. So these GPUs are designed to provide additional computational power that is customized specifically to perform these 3 D tasks.

GPU vs CPU v A GPU is tailored for highly parallel operation while a

GPU vs CPU v A GPU is tailored for highly parallel operation while a CPU executes programs serially. v For this reason, GPUs have many parallel execution units , while CPUs have few execution units. v GPUs have significantly faster and more advanced memory interfaces as they need to shift around a lot more data than CPUs. v GPUs have much deeper pipelines (several thousand stages vs 10 -20 for CPUs).

BRIEF HISTORY v First-Generation GPUs Up to 1998; Nvidia’s TNT 2, ATi’s Rage, and

BRIEF HISTORY v First-Generation GPUs Up to 1998; Nvidia’s TNT 2, ATi’s Rage, and 3 dfx’s Voodoo 3; DX 6 feature set. v Second-Generation GPUs 1999 -2000; Nvidia’s Ge. Force 256 and Ge. Force 2, ATi’s Radeon 7500, and S 3’s Savage 3 D; T&L; Open. GL and DX 7; Configurable. v Third-Generation GPUs 2001; Ge. Force 3/4 Ti, Radeon 8500, MS’s Xbox; Open. GL ARB, DX 7/8; Vertex Programmability + ASM v Fourth-Generation GPUs 2002 onwards; Ge. Force FX family, Radeon 9700; Open. GL+extensions, DX 9; Vertex/Pixel Programability + HLSL; 0. 13μ Process, 125 M T/C, 200 M T/S. v Fifth-Generation GPUs - Ge. Force 8 X: Direct. X 10.

COMPONENTS OF GPU v. Graphics Processor v Graphics co-processor v Graphics accelerator v Frame

COMPONENTS OF GPU v. Graphics Processor v Graphics co-processor v Graphics accelerator v Frame buffer v Memory v Graphics BIOS v Digital-to-Analog Converter (DAC) v Display Connector v Computer (Bus) Connector

Intel and AMD CPU

Intel and AMD CPU

The difference……. Without GPU With GPU

The difference……. Without GPU With GPU

The GPU pipeline v The GPU receives geometry information from the CPU as an

The GPU pipeline v The GPU receives geometry information from the CPU as an input and provides a picture as an output v Let’s see how that happens… host interface vertex processing triangle setup pixel processing memory interface

Host Interface v The host interface is the communication bridge between the CPU and

Host Interface v The host interface is the communication bridge between the CPU and the GPU. v It receives commands from the CPU and also pulls geometry information from system memory. v It outputs a stream of vertices in object space with all their associated information (texture coordinates, per vertex color etc). host interface vertex processing triangle setup pixel processing memory interface

Vertex Processing v The vertex processing stage receives vertices from the host interface in

Vertex Processing v The vertex processing stage receives vertices from the host interface in object space and outputs them in screen space v This may be a simple linear transformation, or a complex operation involving morphing effects v No new vertices are created in this stage, and no vertices are discarded (input/output has 1: 1 mapping) host interface vertex processing triangle setup pixel processing memory interface

Triangle setup v. In this stage geometry information becomes raster information (screen space geometry

Triangle setup v. In this stage geometry information becomes raster information (screen space geometry is the input, pixels are the output) v. Prior to rasterization, triangles that are backfacing or are located outside the viewing frustum are rejected host interface vertex processing triangle setup pixel processing memory interface

Triangle Setup (cont…. . ) v. A pixel is generated if and only if

Triangle Setup (cont…. . ) v. A pixel is generated if and only if its center is inside the triangle v. Every pixel generated has its attributes computed to be the perspective correct interpolation of the three vertices that make up the triangle

Pixel Processing v. Each pixel provided by triangle setup is fed into pixel processing

Pixel Processing v. Each pixel provided by triangle setup is fed into pixel processing as a set of attributes which are used to compute the final color for this pixel v. The computations taking place here include texture mapping and math operations host interface vertex processing triangle setup pixel processing memory interface

Memory Interface v. Pixel colors provided by the previous stage are written to the

Memory Interface v. Pixel colors provided by the previous stage are written to the framebuffer v. Used to be the biggest bottleneck before pixel processing took over v. Before the final write occurs, some pixels are rejected by the zbuffer. On modern GPUs z is compressed to reduce framebuffer bandwidth (but not size). host interface vertex processing triangle setup pixel processing memory interface

Programmability in GPU pipeline v In current state of the art GPUs, vertex and

Programmability in GPU pipeline v In current state of the art GPUs, vertex and pixel processing are now programmable v The programmer can write programs that are executed for every vertex as well as for every pixel v This allows fully customizable geometry and shading effects that go well beyond the generic look and feel of older 3 D applications host interface vertex processing triangle setup pixel processing memory interface

CUDA A parallel computing platform and programming model • CUDA is a parallel computing

CUDA A parallel computing platform and programming model • CUDA is a parallel computing platform and application programming interface (API) model created by NVIDIA. Developer(s) NVIDIA Corporation Initial release June 23, 2007; 8 years ago Stable release 7. 5 / September 8, 2015; Operating system Windows XP and later, Mac OS X, Linux Platform Supported GPUs Type GPGPU License Freeware Website www. nvidia. com/object/cuda_ home_new. html • It allows software developers to use a CUDA-enabled graphics processing unit (GPU) for general purpose processing – an approach known as GPGPU. • The CUDA platform is a software layer that gives direct access to the GPU's virtual instruction set and computational elements. parallel

GPU forms Dedicated graphics cards • The GPUs of the most powerful class typically

GPU forms Dedicated graphics cards • The GPUs of the most powerful class typically interface with the motherboard by means of an expansion slot such as PCI Express (PCIe) or Accelerated Graphics Port (AGP) and can usually be replaced or upgraded with relative ease. • 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. • Technologies such as SLI by Nvidia and Cross. Fire by AMD allow multiple GPUs to draw images simultaneously for a single screen, increasing the processing power available for graphics.

Integrated graphics solutions • Integrated graphics solutions, shared graphics solutions, or integrated graphics processors

Integrated graphics solutions • Integrated graphics solutions, shared graphics solutions, or integrated graphics processors (IGP) utilize a portion of a computer's system RAM rather than dedicated graphics memory. • IGPs can be integrated onto the motherboard as part of the chipset, or within the same die as CPU (like AMD APU or Intel HD Graphics). On certain motherboards AMD's IGPs can use dedicated sideport memory. This is a separate fixed block of high performance memory that is dedicated for use by the GPU. • As a GPU is extremely memory intensive, an integrated solution may find itself competing for the already relatively slow system RAM with the CPU, as it has minimal or no dedicated video memory.

Hybrid solutions • This newer class of GPUs competes with integrated graphics in the

Hybrid solutions • This newer class of GPUs competes with integrated graphics in the low-end desktop and notebook markets. The most common implementations of this are ATI's Hyper. Memory and Nvidia's Turbo. Cache. • Hybrid graphics cards are somewhat more expensive than integrated graphics, but much less expensive than dedicated graphics cards. • These share memory with the system and have a small dedicated memory cache, to make up for the high latency of the system RAM. • Technologies within PCI Express can make this possible.

Stream Processing and General Purpose GPUs (GPGPU) • It is becoming increasingly common to

Stream Processing and General Purpose GPUs (GPGPU) • It is becoming increasingly common to use a general purpose graphics processing unit (GPGPU) as a modified form of stream processor. • This concept turns the massive computational power of a modern graphics accelerator's shader pipeline into general-purpose computing power, as opposed to being hard wired solely to do graphical operations. • The two largest discrete GPU designers, ATI and Nvidia, are beginning to pursue this approach with an array of applications. • GPGPU can be used for many types of embarrassingly parallel tasks including ray tracing. • They are generally suited to high-throughput type computations that exhibit dataparallelism to exploit the wide vector width SIMD architecture of the GPU.

External GPU (e. GPU) • An external GPU is a graphics processor located outside

External GPU (e. GPU) • An external GPU is a graphics processor located outside of the housing of the computer. • External graphics processors are often used with laptop computers. • Laptops might have a substantial amount of RAM and a sufficiently powerful central processing unit (CPU), but often lack a powerful graphics processor (and instead have a less powerful but more energy-efficient on-board graphics chip). • Therefore, it is desirable to be able to attach a GPU to some external bus of a notebook. PCI Express is the only bus commonly used for this purpose.

Conclusion �Graphics Processing Unit is not a wonder that this piece of hardware is

Conclusion �Graphics Processing Unit is not a wonder that this piece of hardware is often referred to as an exotic product as far as computer peripherals are concerned. �By observing the current pace at which work is going on in developing GPUs we can surely come to a conclusion that we will be able to see better and faster GPUs in the near future.

 Thanks

Thanks