gpu - basic working

33
By, Nived R MEC, Cochin

Upload: nived-r-nambiar

Post on 12-Apr-2017

254 views

Category:

Devices & Hardware


0 download

TRANSCRIPT

By, Nived RMEC, Cochin

ContentsIntroduction

Need for a GPU

CPU vs GPU

Components of a GPU

GPU Pipeline

Future Advancements

Applications

Conclusion

Introduction

A dedicated parallel processor optimized for accelerating graphical computations.

Like the CPU (Central Processing Unit), it is a single-chip processor.

Need for a GPUTo provide a separate dedicated graphics resources including a graphics processor and memory.

To relieve some of the burden of the main system resources.

Offloading compute-intensive portions of the application to the GPU

GPU vs CPU

GPU - highly paralleloperation GPU has many executionunits

GPU has faster memory interfaces as they need to shift around a large amount of data.

GPUs have much deeper pipelines

GPU vs CPUCPU executes programs serially.

CPU has fewer execution units

GPU vs CPU Architecture

WITHOUT GPU

WITH GPU

Components of a GPU❖ Graphics Processor Mainly 2 configurations:

○ Graphics coprocessor : Independent of CPU

○ Graphics accelerator: Based on Commands from CPU

Components of a GPU❖ Memory: Dual ported memory

❖ Graphics BIOS

❖ Digital-to-Analog Converter (DAC)

❖ Display Connector: VGA connector

❖ Computer (Bus) Connector: AGP

GPU Pipeline

The GPU receives geometry information from the CPU as an input and provides a picture as an output.

Input assembler stageThis stage is the communication bridge between the CPU and the GPU.

It receives commands from the CPU and also pulls geometry information from system memory.

It outputs a stream of vertices in object space with all their associated information.

Vertex ProcessingThe vertex-shader stage processes vertices, typically performing operations such as transformations, skinning, and lighting.

A vertex shader always takes a single input vertex and produces a single output vertex.

Triangle SetupIn this stage geometry information becomes raster information (screen space geometry is the input, pixels are the output)

Triangle Setup (Contd…)Prior to rasterization, triangles that are backfacing or are located outside the viewing frustum are rejected.

The rasterizer clips primitives, prepares primitives for the pixel shader, and determines how to invoke pixel shaders.

A pixel is generated if and only if its center is inside the triangle

Pixel ProcessingEach 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

The computations taking place here include texture mapping and math operations

Output Merger StageThe output-merger stage combines various types of output data (pixel shader values, depth and stencil information) to generate the final pipeline result.

Programmability in GPU PipelineIn current state of the art GPUs, vertex and pixel processing are now programmable

The programmer can write programs that are executed for every vertex as well as for every pixel

This allows fully customizable geometry and shading effects that go well beyond the generic look and feel of older 3D applications

Looking ForwardBigger and faster (more cores, more FLOPS) – 2 TFLOPs today, and counting

Addition of (select) CPU-like features – More traditional caches

Tight integration with CPUs (CPU+GPU hybrids).

Completely programmable hardware.

Applications

Shading Structures

Global Illumination

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.