Graphics Processing Unit

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS SOFTWARE.
Advertisements

COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Understanding the graphics pipeline Lecture 2 Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider.
Graphics Pipeline.
Computer Graphic Creator: Mohsen Asghari Session 2 Fall 2014.
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.
A Crash Course on Programmable Graphics Hardware Li-Yi Wei 2005 at Tsinghua University, Beijing.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Status – Week 277 Victor Moya.
Status – Week 283 Victor Moya. 3D Graphics Pipeline Akeley & Hanrahan course. Akeley & Hanrahan course. Fixed vs Programmable. Fixed vs Programmable.
The Graphics Pipeline CS2150 Anthony Jones. Introduction What is this lecture about? – The graphics pipeline as a whole – With examples from the video.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
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.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
Programmable Pipelines. Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
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.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
1 Dr. Scott Schaefer Programmable Shaders. 2/30 Graphics Cards Performance Nvidia Geforce 6800 GTX 1  6.4 billion pixels/sec Nvidia Geforce 7900 GTX.
OpenGL Conclusions OpenGL Programming and Reference Guides, other sources CSCI 6360/4360.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
GRAPHICS PIPELINE & SHADERS SET09115 Intro to Graphics Programming.
CS662 Computer Graphics Game Technologies Jim X. Chen, Ph.D. Computer Science Department George Mason University.
Programmable Pipelines Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University.
Accelerated Stereoscopic Rendering using GPU François de Sorbier - Université Paris-Est France February 2008 WSCG'2008.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
A SEMINAR ON 1 CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s.
From Turing Machine to Global Illumination Chun-Fa Chang National Taiwan Normal University.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
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.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS The GPU.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Models and Architectures 靜宜大學 資訊工程系 蔡奇偉 副教授 2012.
GLSL Review Monday, Nov OpenGL pipeline Command Stream Vertex Processing Geometry processing Rasterization Fragment processing Fragment Ops/Blending.
Graphics Pipeline Bringing it all together. Implementation The goal of computer graphics is to take the data out of computer memory and put it up on the.
GPU Architecture and Its Application
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Programmable Shaders Dr. Scott Schaefer.
CMSC 611: Advanced Computer Architecture
Week 2 - Friday CS361.
Programmable Pipelines
A Crash Course on Programmable Graphics Hardware
Graphics on GPU © David Kirk/NVIDIA and Wen-mei W. Hwu,
CS427 Multicore Architecture and Parallel Computing
Chapter 6 GPU, Shaders, and Shading Languages
From Turing Machine to Global Illumination
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
GPU and Effects Graphics pipeline Programmable shaders Special effects.
Real-time Computer Graphics Overview
CSC 2231: Parallel Computer Architecture and Programming GPUs
Models and Architectures
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
Graphics Processing Unit
Models and Architectures
Models and Architectures
Computer Graphics Practical Lesson 10
RADEON™ 9700 Architecture and 3D Performance
Computer Graphics Introduction to Shaders
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Graphics Processing Unit
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

Graphics Processing Unit GPU Graphics Processing Unit

Graphics Pipeline Scene Transformations Lighting & Shading Viewing Transformations GPUs evolved as hardware and software algorithms evolve Rasterization

Early Graphics Originally, no specialized graphics hardware All processing in software on CPU, Results transmitted to frame buffer first, external frame buffers later, internal frame buffers. CPU Frame buffer Display

More detailed pipeline Geometry data Transform & lighting Culling, perspective divide, viewport mapping Rasterization Simple texturing Depth test Frame buffer blending More detailed pipeline Simple functionality transferred to specialized hardware.

Add more functionality to GPU. Geometry data Transform & lighting Culling, perspective divide, viewport mapping Rasterization Simple texturing Depth test Frame buffer blending Add more functionality to GPU. Simple functionality transferred to specialized hardware

Fixed function GPU pipeline Pipeline implemented in hardware Each stage does fixed task Tasks are parameterized Inflexible – fixed, parameterized functions Vector-matrix operations (some parallelism). Scene Transformations Lighting & Shading Viewing Transformations Rasterization GPU CPU Display Frame buffer

Technology advances Hardware gets cheaper, smaller, and more powerful Parallel architectures develop Graphics processing get more sophisticated (environmental mapping, displacement mapping, sub-surface scattering) Need more flexibility in GPUs.

Make this programmable: Vertex Shader Geometry data Transform & lighting Culling, perspective divide, viewport mapping Rasterization Complex texturing Depth test, alpha test, stencil test Frame buffer blending Make this programmable: Fragment Shader

Vertex shader Graphics systems: convert everything to triangles Pass vertices, normals, colors, texture coordinates to GPU processor GPU: vertex-based computations, Independent of other vertices Later, assemble into triangles.

Fragment shader Fragment is triangle clipped to pixel Interpolate values Multiple textures, Alpha, stencil, depth Independent of other fragments Blend with contents of frame buffer.

Introduce parallelism: add multiple units Geometry data Vertex Shader Vertex Shader Culling, perspective divide, viewport mapping Introduce parallelism: add multiple units Rasterization Fragment Shader Fragment Shader Alpha test, depth test, stencil test Frame buffer blending

Shading language Shade trees -> Pixar’s Renderman shader

Shader Language Low level (like assembler) but high-level language compilers: nVidia’s Cg 4 component floating point data type SIMD

Cg: C-based graphics program Array & structures Flow control Vectors & matrices No memory allocation, file I/O

Power GPUs have moved away from the traditional fixed- function 3D graphics pipeline toward a flexible general- purpose computational engine. The raw computational power of a GPU dwarfs that of the most powerful CPU, and the gap is steadily widening. GPUs have moved away from the traditional fixed- function 3D graphics pipeline toward a flexible general- purpose computational engine

Next: unify shaders One set of shaders Allocate to either vertices or fragments

Pipeline evolved

Evolved pipeline

GPGPU Make GPU more general – adapt certain types of programs to it’s pipelined, parallel architecture Single GeForce 8800 chip achieves a sustained 330 billion floating-point operations per second (Gflops) on simple benchmarks Cost-effective: graphics driving demand up, supply up, price down for GPUs Finding uses in non-graphics applications.

GeForce 8800 GTX

More general: NVIDIA’s CUDA More general data parallel model Decompose across threads Sharing and communication between threads..