1 SIC / CoC / Georgia Tech MAGIC Lab Rossignac GPU  Precision, Power, Programmability –CPU: x60/decade, 6 GFLOPS,

Slides:



Advertisements
Similar presentations
Is There a Real Difference between DSPs and GPUs?
Advertisements

COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Photon Mapping on Programmable Graphics Hardware Timothy J. Purcell Mike Cammarano Pat Hanrahan Stanford University Craig Donner Henrik Wann Jensen University.
Understanding the graphics pipeline Lecture 2 Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider.
Graphics Pipeline.
Status – Week 257 Victor Moya. Summary GPU interface. GPU interface. GPU state. GPU state. API/Driver State. API/Driver State. Driver/CPU Proxy. Driver/CPU.
Graphics Hardware CMSC 435/634. Transform Shade Clip Project Rasterize Texture Z-buffer Interpolate Vertex Fragment Triangle A Graphics Pipeline.
Prepared 5/24/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
Control Flow Virtualization for General-Purpose Computation on Graphics Hardware Ghulam Lashari Ondrej Lhotak University of Waterloo.
Modified from: A Survey of General-Purpose Computation on Graphics Hardware John Owens University of California, Davis David Luebke University of Virginia.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Chapter.
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
GPUGI: Global Illumination Effects on the GPU
GPU Simulator Victor Moya. Summary Rendering pipeline for 3D graphics. Rendering pipeline for 3D graphics. Graphic Processors. Graphic Processors. GPU.
Z-Buffer Optimizations Patrick Cozzi Analytical Graphics, Inc.
Evolution of the Programmable Graphics Pipeline Patrick Cozzi University of Pennsylvania CIS Spring 2011.
The programmable pipeline Lecture 10 Slide Courtesy to Dr. Suresh Venkatasubramanian.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Mapping Computational Concepts to GPU’s Jesper Mosegaard Based primarily on SIGGRAPH 2004 GPGPU COURSE and Visualization 2004 Course.
GPU Tutorial 이윤진 Computer Game 2007 가을 2007 년 11 월 다섯째 주, 12 월 첫째 주.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
Under the Hood: 3D Pipeline. Motherboard & Chipset PCI Express x16.
Background image by chromosphere.deviantart.com Fella in following slides by devart.deviantart.com DM2336 Programming hardware shaders Dioselin Gonzalez.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Enhancing GPU for Scientific Computing Some thoughts.
Programmable Pipelines. Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
May 8, 2007Farid Harhad and Alaa Shams CS7080 Over View of the GPU Architecture CS7080 Class Project Supervised by: Dr. Elias Khalaf By: Farid Harhad &
Mapping Computational Concepts to GPUs Mark Harris NVIDIA Developer Technology.
Mapping Computational Concepts to GPUs Mark Harris NVIDIA.
GPU Shading and Rendering Shading Technology 8:30 Introduction (:30–Olano) 9:00 Direct3D 10 (:45–Blythe) Languages, Systems and Demos 10:30 RapidMind.
Programmable Pipelines. 2 Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
Cg Programming Mapping Computational Concepts to GPUs.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
General-Purpose Computation on Graphics Hardware Adapted from: David Luebke (University of Virginia) and NVIDIA.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
The programmable pipeline Lecture 3.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
COMPUTER GRAPHICS CSCI 375. What do I need to know?  Familiarity with  Trigonometry  Analytic geometry  Linear algebra  Data structures  OOP.
Shadow Mapping Chun-Fa Chang National Taiwan Normal University.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
Programmable Pipelines Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University.
GPU Computation Strategies & Tricks Ian Buck NVIDIA.
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.
From Turing Machine to Global Illumination Chun-Fa Chang National Taiwan Normal University.
Ray Tracing using Programmable Graphics Hardware
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
Mapping Computational Concepts to GPUs Mark Harris NVIDIA.
The Graphics Pipeline Revisited Real Time Rendering Instructor: David Luebke.
COMP 175 | COMPUTER GRAPHICS Remco Chang1/XX13 – GLSL Lecture 13: OpenGL Shading Language (GLSL) COMP 175: Computer Graphics April 12, 2016.
GPU Architecture and Its Application
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Chapter 1 An overview on Computer Graphics
Programmable Pipelines
Chapter 1 An overview on Computer Graphics
Graphics Processing Unit
Chapter 6 GPU, Shaders, and Shading Languages
From Turing Machine to Global Illumination
GPGPU Applications Introduction
CSC 2231: Parallel Computer Architecture and Programming GPUs
Models and Architectures
Graphics Processing Unit
Models and Architectures
Models and Architectures
Ray Tracing on Programmable Graphics Hardware
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

1 SIC / CoC / Georgia Tech MAGIC Lab Rossignac GPU  Precision, Power, Programmability –CPU: x60/decade, 6 GFLOPS, 6GB/sec –GPU: x1000/decade, 20 GFLOPs, 25GB/sec –Arithmetic heavy (read OR write): faster hardware –Parallelization –Multi-billion $ entertainment market drives innovation –32-bit Floating point –Programmable (graphics, physics, general purpose data-flow) –Can’t simply “port” CPU code to GPU David Luebke et al. GPGPU, SIGGRAPH 2004

2 SIC / CoC / Georgia Tech MAGIC Lab Rossignac History of the 3D graphics industry  60s: –Line drawings, hidden lines, parametric surfaces (B-splines…) –Automated drafting & machining for car, airplane, and ships manufacturers  70’s: –Mainframes, Vector tubes (HP…) –Software: Solids, (CSG), Ray Tracing, Z-buffer for hidden lines  80s: –Graphics workstations ($50K-$1M): Frame buffers, rasterizers, GL, Phigs –VR: CAVEs and head-mounted displays –CAD/CAM & GIS: CATIA, SDRC, PTC –Sun, HP, IBM, SGI, E&S, DEC  90s: –PCs ($2K): Graphics boards, OpenGL, Java3D –CAD+Videogames+Animations: AutoCAD, SolidWorks…, Alias-Wavefront –Intel, many board vendors  00s: –Laptops, PDAs, Cell Phones: Parallel graphic chips –Everything will be graphics, 3D, animated, interactive –Nvidia, Sony, Nokia

3 SIC / CoC / Georgia Tech MAGIC Lab Rossignac History of GPU  Pre-GPU Graphics Acceleration –SGI, Evans & Sutherland. Introduced concepts like vertex transformation and texture mapping. Very expensive!  First-Generation GPU (-1998) –Nvidia TNT2, ATI Rage, Voodoo3. Vertex transformation on CPU, limited set of math operations.  Second-Generation GPU ( ) –GeForce 256, Geforce2, Radeon 7500, Savage3D. Transformation & Lighting. More configurable, still not programmable.  Third-Generation GPU (2001) –Geforce3, Geforce4 Ti, Xbox, Radeon Vertex Programmability, pixel-level configurability.  Fourth-Generation GPU (2002-) –Geforce FX series, Radeon 9700 and on. Vertex-level and pixel-level programmability.

4 SIC / CoC / Georgia Tech MAGIC Lab Rossignac Architecture Vertex Shader Rasterizer Fragment Shader Compositor Display Application transformed vertices, normals, colors fragments (surfels per pixel) pixel color, depth, stencil texture Geometry Shader

5 SIC / CoC / Georgia Tech MAGIC Lab Rossignac Buffers  Color: 8-bit index to color table, float/16-bit true color…  Depth: 24-bit or float (0 at back plane)  Back and front: display front, update back, swap  Stereo: Shutter glasses, HMD. Alternate frames  Auxiliary: off-screen working space. Helps reduce passes.  Stencil: 8 bits (left-over of depth buffer). … mask, ++  Accumulation: sum, scale (supersampling, blur)  P-buffer, superbuffers: Render to texture

6 SIC / CoC / Georgia Tech MAGIC Lab Rossignac Fragment operations  Depth tests:, <=, ==, Z  depth-interval  Stencil test: mask?, counter, parity.  Alpha tests: compare to reference alpha  Alpha blending: + max, min, replace, blend

7 SIC / CoC / Georgia Tech MAGIC Lab Rossignac Data Parallelism in GPUs  Data flow: vertices > fragments > pixels  Parallelism at each stage  No shared or static data (except textures)  ALU-heavy (multiple ALUs per stage in pipe)  Fight memory latency with more computation

8 SIC / CoC / Georgia Tech MAGIC Lab Rossignac GPGPU  Stream: collection of records (pixels, vertices…) –Stored in Textures (a computational grid)  Kernel: Function applied to each element in stream –Transform, evolve (no dependency between records) Matrix algebra Image/volume processing Physical simulation Global illumination –Ray tracing –Photon mapping –Radiosity

9 SIC / CoC / Georgia Tech MAGIC Lab Rossignac Computational Resources  Programmable parallel processors –Vertex & Fragment pipelines  Rasterizer –Mostly useful for interpolating addresses (texture coordinates) and per- vertex constants  Texture unit –Read-only memory interface  Render to texture (or Copy to texture) –Write-only memory interface

10 SIC / CoC / Georgia Tech MAGIC Lab Rossignac Vertex Processor  Fully programmable (SIMD / MIMD)  Processes 4-vectors (RGBA / XYZW)  Capable of scatter but not gather (A[i,j]=x;) –Can change the location of current vertex –Cannot read info from other vertices –Can only read a small constant memory  Vertex Texture Fetch –Random access memory for vertices –Arguably still not gather

11 SIC / CoC / Georgia Tech MAGIC Lab Rossignac Fragment Processor  May be invoked at each pixel by drawing a full screen quad  Fully programmable (SIMD)  Processes 4-vectors (RGBA / XYZW)  Random access memory read (textures)  Capable of gather (x=A[i+1,j];) and some scatter –RAM read (texture), but no RAM write –Output address fixed to a specific pixel –But can change that address  Typically more useful than vertex processor –More fragment pipelines than vertex pipelines –Gather –Direct output (fragment processor is at end of pipeline)

12 SIC / CoC / Georgia Tech MAGIC Lab Rossignac Branching  Not supported or expensive  Avoid, replace by math  Depth test  Stencil test  Occlusion query (conditional execution)  Pre-computation (region of interest, use to set stencil mask)