Presentation is loading. Please wait.

Presentation is loading. Please wait.

Graphics Processing Unit

Similar presentations


Presentation on theme: "Graphics Processing Unit"— Presentation transcript:

1 Graphics Processing Unit

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

3 Why GPU? To provide a separate dedicated graphics resources including a graphics processor and memory. 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.

4 What is a GPU? 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 . Like the CPU (Central Processing Unit), it is a single-chip processor.

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

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

7 BRIEF HISTORY Fifth-Generation GPUs First-Generation GPUs
Up to 1998; Nvidia’s TNT2, ATi’s Rage, and 3dfx’s Voodoo3;DX6 feature set. Second-Generation GPUs ; Nvidia’s GeForce256 and GeForce2, ATi’s Radeon7500, and S3’s Savage3D; T&L; OpenGL and DX7;Configurable. Third-Generation GPUs 2001; GeForce3/4Ti, Radeon8500, MS’s Xbox; OpenGL ARB, DX7/8; Vertex Programmability + ASM Fourth-Generation GPUs 2002 onwards; GeForce FX family, Radeon 9700; OpenGL+extensions, DX9; Vertex/Pixel Programability + HLSL; 0.13μ Process, 125M T/C, 200M T/S. Fifth-Generation GPUs - GeForce 8X:DirectX10.

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

9 Intel and AMD CPU

10 The difference……. Without GPU With GPU

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

12 Host Interface The host interface 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 (texture coordinates, per vertex color etc) . host interface vertex processing triangle setup pixel memory

13 Vertex Processing The vertex processing stage receives vertices from the host interface in object space and outputs them in screen space This may be a simple linear transformation, or a complex operation involving morphing effects 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 memory

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

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

16 Pixel Processing 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 The computations taking place here include texture mapping and math operations host interface vertex processing triangle setup pixel memory

17 Memory Interface Pixel colors provided by the previous stage are written to the framebuffer Used to be the biggest bottleneck before pixel processing took over 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 memory

18 Programmability in GPU pipeline
In 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 host interface vertex processing triangle setup pixel memory

19 A parallel computing platform and programming model
CUDA A parallel computing platform and programming model 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 CUDA is a parallel computing platform and application programming interface (API) model created by NVIDIA. 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 parallel computational elements.

20 Dedicated graphics cards
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 CrossFire by AMD allow multiple GPUs to draw images simultaneously for a single screen, increasing the processing power available for graphics.

21 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.

22 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 HyperMemory and Nvidia's TurboCache. 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.

23 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 data-parallelism to exploit the wide vector width SIMD architecture of the GPU.

24 External GPU (eGPU) 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.

25 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.

26 Thanks


Download ppt "Graphics Processing Unit"

Similar presentations


Ads by Google