CSC 2231: Parallel Computer Architecture and Programming GPUs

Slides:



Advertisements
Similar presentations
Understanding the graphics pipeline Lecture 2 Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider.
Advertisements

Prepared 5/24/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
GPU Computing with CUDA as a focus Christie Donovan.
A Crash Course on Programmable Graphics Hardware Li-Yi Wei 2005 at Tsinghua University, Beijing.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Chapter.
1 ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 19, 2011 Emergence of GPU systems and clusters for general purpose High Performance Computing.
GPU Simulator Victor Moya. Summary Rendering pipeline for 3D graphics. Rendering pipeline for 3D graphics. Graphic Processors. Graphic Processors. GPU.
Evolution of the Programmable Graphics Pipeline Patrick Cozzi University of Pennsylvania CIS Spring 2011.
Graphic Architecture introduction and analysis
Introduction What is GPU? It is a processor optimized for 2D/3D graphics, video, visual computing, and display. It is highly parallel, highly multithreaded.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
CEG 4131-Fall Graphics Processing Unit GPU CEG4131 – Fall 2012 University of Ottawa Bardia Bandali CEG4131 – Fall 2012.
GPGPU overview. Graphics Processing Unit (GPU) GPU is the chip in computer video cards, PS3, Xbox, etc – Designed to realize the 3D graphics pipeline.
Realtime 3D Computer Graphics Computer Graphics Computer Graphics Software & Hardware Rendering Software & Hardware Rendering 3D APIs 3D APIs Pixel & Vertex.
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.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
1 ITCS 4/5010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Dec 31, 2012 Emergence of GPU systems and clusters for general purpose High Performance Computing.
© David Kirk/NVIDIA and Wen-mei W. Hwu, 2007 ECE 498AL, University of Illinois, Urbana-Champaign 1 ECE 498AL Lectures 7: Threading Hardware in G80.
Computer Graphics Graphics Hardware
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.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
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.
NVIDIA Fermi Architecture Patrick Cozzi University of Pennsylvania CIS Spring 2011.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE 498AL, University of Illinois, Urbana-Champaign 1 CS 395 Winter 2014 Lecture 17 Introduction to Accelerator.
CS662 Computer Graphics Game Technologies Jim X. Chen, Ph.D. Computer Science Department George Mason University.
Xbox MB system memory IBM 3-way symmetric core processor ATI GPU with embedded EDRAM 12x DVD Optional Hard disk.
GPUs – Graphics Processing Units Applications in Graphics Processing and Beyond COSC 3P93 – Parallel ComputingMatt Peskett.
Fateme Hajikarami Spring  What is GPGPU ? ◦ General-Purpose computing on a Graphics Processing Unit ◦ Using graphic hardware for non-graphic computations.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Lecture.
Copyright © Curt Hill Video Hardware Evolution.
From Turing Machine to Global Illumination Chun-Fa Chang National Taiwan Normal University.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 GPU.
GLSL Review Monday, Nov OpenGL pipeline Command Stream Vertex Processing Geometry processing Rasterization Fragment processing Fragment Ops/Blending.
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 © Barry Wilkinson GPUIntro.ppt Oct 30, 2014.
Rendering pipeline: The hardware side
Computer Engg, IIT(BHU)
Computer Graphics Graphics Hardware
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 July 12, 2012 © Barry Wilkinson CUDAIntro.ppt.
CS203 – Advanced Computer Architecture
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
Brief of GPU&CUDA Chun-Yuan Lin.
A Crash Course on Programmable Graphics Hardware
Graphics on GPU © David Kirk/NVIDIA and Wen-mei W. Hwu,
CS427 Multicore Architecture and Parallel Computing
Graphics Processing Unit
Chapter 6 GPU, Shaders, and Shading Languages
From Turing Machine to Global Illumination
GPGPU Applications Introduction
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
GRAPHICS PROCESSING UNIT
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 © Barry Wilkinson GPUIntro.ppt Nov 4, 2013.
Mattan Erez The University of Texas at Austin
NVIDIA Fermi Architecture
Graphics Processing Unit
Mattan Erez The University of Texas at Austin
Computer Graphics Graphics Hardware
Mattan Erez The University of Texas at Austin
Ray Tracing on Programmable Graphics Hardware
RADEON™ 9700 Architecture and 3D Performance
Computer Graphics Introduction to Shaders
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Graphics Processing Unit
A fixed-function NVIDIA GeForce graphics pipeline.
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

CSC 2231: Parallel Computer Architecture and Programming GPUs Prof. Gennady Pekhimenko University of Toronto Fall 2017 The content of this lecture is adapted from the slides of Tor Aamodt (UBC)

Project Progress Report Due next week Friday (Nov. 3rd) Ask questions after the class

Review #7 GPUs and the Future of Parallel Computing Steve Keckler et al., IEEE Micro 2011 Due Nov. 10

Review #5 Results

What is a GPU? GPU = Graphics Processing Unit Accelerator for raster based graphics (OpenGL, DirectX) Highly programmable (Turing complete) Commodity hardware 100’s of ALUs; 10’s of 1000s of concurrent threads NVIDIA Volta: V100

The GPU is Ubiquitous + [APU13 keynote]

“Early” GPU History 1981: IBM PC Monochrome Display Adapter (2D) 1996: 3D graphics (e.g., 3dfx Voodoo) 1999: register combiner (NVIDIA GeForce 256) 2001: programmable shaders (NVIDIA GeForce 3) 2002: floating-point (ATI Radeon 9700) 2005: unified shaders (ATI R520 in Xbox 360) 2006: compute (NVIDIA GeForce 8800) GPGPU Origins Use in supercomputing CUDA => OpenCL => C++AMP, OpenACC, others Use in Smartphones (e.g., Imagination PowerVR) Cars (e.g., NVIDIA DRIVE PX)

GPU: The Life of a Triangle + process commands Host / Front End / Vertex Fetch transform vertices Vertex Processing to screen - space generate per - Primitive Assembly , Setup triangle equations r e l l o generate pixels , delete pixels r Rasterize & Zcull t that cannot be seen n o C r Pixel Shader e f f u B determine the colors , transparencies Texture e and depth of the pixel m a r F do final hidden surface test, blend Pixel Engines ( ROP ) and write out color and new depth [David Kirk / Wen-mei Hwu]

pixel color result of running “shader” program + pixel color result of running “shader” program Each pixel the result of a single thread run on the GPU

Why use a GPU for computing? GPU uses larger fraction of silicon for computation than CPU. At peak performance GPU uses order of magnitude less energy per operation than CPU. CPU 2nJ/op GPU 200pJ/op Rewrite Application Order of Magnitude More Energy Efficient However…. Application must perform well

GPU uses larger fraction of silicon for computation than CPU? + GPU uses larger fraction of silicon for computation than CPU? Cache ALU Control DRAM DRAM CPU GPU [NVIDIA]

CSC 2231: Parallel Computer Architecture and Programming GPUs Prof. Gennady Pekhimenko University of Toronto Fall 2017 The content of this lecture is adapted from the slides of Tor Aamodt (UBC)