Download presentation
Presentation is loading. Please wait.
Published byThomas Newman Modified over 9 years ago
1
May 8, 2007Farid Harhad and Alaa Shams CS7080 Overview of the GPU Architecture CS7080 Final Class Project Supervised by: Dr. Elias Khalaf By: Farid Harhad & Alaa Shams
2
May 8, 2007Farid Harhad and Alaa Shams CS7080 Outline Introduction GPU Architecture GPU programming –GPU programming model –Toolkit and language Sample Code Conclusion
3
May 8, 2007Farid Harhad and Alaa Shams CS7080 Introduction The GPU on commodity video cards has evolved into extremely flexible and powerful processor. GPUs are fast : –3.0 GHz Pentium 4: 6 GFLOPs, 6 GB/Sec peak –3.0 GHz dual-core Pentium 4: 24.6 GFLOPs –GeoForceFX 6800: 53 GFLOPs, 34 GB/Sec Peak –GeoForceFX 7800: 165 GFLOPs –1066 MHz FSB Pentium Extreme Edition: 8.5 GB/s –ATI Radeo X850 XT Platinum Edition: 37.8 GB/s GPUS are getting faster and faster –CPUs: ~1.5x annual growth ~60x per decade –GPUs: ~2.3x annual growth ~1000x per decade
4
May 8, 2007Farid Harhad and Alaa Shams CS7080 Computational power
5
May 8, 2007Farid Harhad and Alaa Shams CS7080 Cont.
6
May 8, 2007Farid Harhad and Alaa Shams CS7080 Why are GPUs getting faster so fast? Arithmetic intensity: the specialized nature of GPUs makes it easier to use additional transistors for computation not cache Economics: multi-billion dollar video game market is a pressure cooker that drives innovation
7
May 8, 2007Farid Harhad and Alaa Shams CS7080 Flexible and Precise Modern GPUs are deeply Programmable –Programmable pixel, vertex, video engines – Solidifying high-level language support Modern GPUs support high precision – 32 bit floating point throughout the pipeline – High enough for many (not all) applications
8
May 8, 2007Farid Harhad and Alaa Shams CS7080 The Potential of GPU In short: – The power and flexibility of GPUs makes them an attractive platform for general- purpose computation – Example applications range from in-game physics simulation to conventional Computational science – Goal: make the inexpensive power of the GPU available to developers as a sort of computational coprocessor
9
May 8, 2007Farid Harhad and Alaa Shams CS7080 The Problem: Difficult To Use GPUs designed for & driven by video games – Programming model unusual – Programming idioms tied to computer graphics – Programming environment tightly constrained Underlying architectures are: – Inherently parallel – Rapidly evolving (even in basic feature set!) – Largely secret Can’t simply “port” CPU code!
10
May 8, 2007Farid Harhad and Alaa Shams CS7080 GPU Architecture Graphic PL
11
May 8, 2007Farid Harhad and Alaa Shams CS7080 Modern Graphic PL
12
May 8, 2007Farid Harhad and Alaa Shams CS7080 Transform Vertex processor (multiple in parallel) – Transform from “world space” to “image space” – Compute per-vertex lighting
13
May 8, 2007Farid Harhad and Alaa Shams CS7080 Rasterizer – Convert geometric rep. (vertex) to image rep. (fragment) Fragment = image fragment – Pixel + associated data: color, depth, stencil, etc. – Interpolate per-vertex quantities across pixels
14
May 8, 2007Farid Harhad and Alaa Shams CS7080 Shade Fragment processors (multiple in parallel) – Compute a color for each pixel – Optionally read colors from textures (images)
15
May 8, 2007Farid Harhad and Alaa Shams CS7080 GPU programming
16
May 8, 2007Farid Harhad and Alaa Shams CS7080 GPU Programming Model Useful analogies: –Rasterization = Kernel Invocation –Texture coordinates = Computation domain –Vertex coordinates = computational range Invoking computation amounts to drawing pixels: –GPGPU invocation is commonly a full-screen quad GPUCPU Stream / Data array: Memory read Texture: Texture sampling Loop body / Kernel / AlgorithmFragment program Feedback: Array writeFeedback: render a texture
17
May 8, 2007Farid Harhad and Alaa Shams CS7080 GPU Programming Model
18
May 8, 2007Farid Harhad and Alaa Shams CS7080 Toolkits and Language High level shading languages –Cg: C for GraphicsCg: C for Graphics –HLSL: The D3D Shading LanguageHLSL: The D3D Shading Language –The OpenGL Shading LanguageThe OpenGL Shading Language GPGPU Languages –Sh - University of WaterlooSh - University of Waterloo –Brook - Stanford UniversityBrook - Stanford University CUDA SDKCUDA –Includes a C compiler and many libraries
19
May 8, 2007Farid Harhad and Alaa Shams CS7080 Sample Code
20
May 8, 2007Farid Harhad and Alaa Shams CS7080 Conclusion GPU provide the programmer with unparalleled flexibility and performance in a product line that spans the entire PC market. Utilizing the capabilities of the GPU allow the programmers to develop newer applications-either graphical or general purpose-in more efficient way.
21
References GPU Gem2 (Chapters 29 & 30) SIGGRAPH 2005 GPGPU Course http://www.gpgpu.org/ May 8, 2007Farid Harhad and Alaa Shams CS7080
22
May 8, 2007Farid Harhad and Alaa Shams CS7080 Questions? Thanks
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.