GPU Architecture and Its Application

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS SOFTWARE.
Advertisements

Is There a Real Difference between DSPs and GPUs?
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Lecture 38: Chapter 7: Multiprocessors Today’s topic –Vector processors –GPUs –An example 1.
Understanding the graphics pipeline Lecture 2 Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider.
Graphics Hardware CMSC 435/634. Transform Shade Clip Project Rasterize Texture Z-buffer Interpolate Vertex Fragment Triangle A Graphics Pipeline.
Control Flow Virtualization for General-Purpose Computation on Graphics Hardware Ghulam Lashari Ondrej Lhotak University of Waterloo.
© 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.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
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.
Comparison of Modern CPUs and GPUs And the convergence of both Jonathan Palacios Josh Triska.
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.
Raghu Machiraju Slides: Courtesy - Prof. Huamin Wang, CSE, OSU
GPGPU overview. Graphics Processing Unit (GPU) GPU is the chip in computer video cards, PS3, Xbox, etc – Designed to realize the 3D graphics pipeline.
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.
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.
Modern Consumer Video Card Cheng-Han Du. What Is Video Card? A separated card to generate and output image to display. Not the integrated graphic processor.
Computer Graphics Graphics Hardware
BY: ALI AJORIAN ISFAHAN UNIVERSITY OF TECHNOLOGY 2012 GPU Architecture 1.
GPUs and Accelerators Jonathan Coens Lawrence Tan Yanlin Li.
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.
Cg Programming Mapping Computational Concepts to GPUs.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
Programming Concepts in GPU Computing Dušan Gajić, University of Niš Programming Concepts in GPU Computing Dušan B. Gajić CIITLab, Dept. of Computer Science.
Emergence of GPU systems and clusters for general purpose high performance computing ITCS 4145/5145 April 3, 2012 © Barry Wilkinson.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
A Closer Look At GPUs By Kayvon Fatahalian and Mike Houston Presented by Richard Stocker.
Accelerated Stereoscopic Rendering using GPU François de Sorbier - Université Paris-Est France February 2008 WSCG'2008.
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 Based Sound Simulation and Visualization Torbjorn Loken, Torbjorn Loken, Sergiu M. Dascalu, and Frederick C Harris, Jr. Department of Computer Science.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Lecture.
David Angulo Rubio FAMU CIS GradStudent. Introduction  GPU(Graphics Processing Unit) on video cards has evolved during the last years. They have become.
From Turing Machine to Global Illumination Chun-Fa Chang National Taiwan Normal University.
Computer Architecture Lecture 24 Parallel Processing Ralph Grishman November 2015 NYU.
GPGPU introduction. Why is GPU in the picture Seeking exa-scale computing platform Minimize power per operation. – Power is directly correlated to the.
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 © Barry Wilkinson GPUIntro.ppt Oct 30, 2014.
Our Graphics Environment Landscape Rendering. Hardware  CPU  Modern CPUs are multicore processors  User programs can run at the same time as other.
Applications and Rendering pipeline
Rendering pipeline: The hardware side
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.
GPUs (Graphics Processing Units). Information from Textbook Online Appendix C includes information on GPUs Access online resources from: –
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.
Graphics Processor Graphics Processing Unit
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Programmable Shaders Dr. Scott Schaefer.
Graphics Processing Unit
Graphics on GPU © David Kirk/NVIDIA and Wen-mei W. Hwu,
Graphics Processing Unit
Introduction to OpenGL
Chapter 6 GPU, Shaders, and Shading Languages
From Turing Machine to Global Illumination
GPGPU Applications Introduction
The Graphics Rendering Pipeline
GRAPHICS PROCESSING UNIT
CSC 2231: Parallel Computer Architecture and Programming GPUs
Models and Architectures
Graphics Processing Unit
Computer Graphics Graphics Hardware
Ray Tracing on Programmable Graphics Hardware
© 2012 Elsevier, Inc. All rights reserved.
Graphics Processing Unit
Introduction to OpenGL
6- General Purpose GPU Programming
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

GPU Architecture and Its Application 陈越琦(121160005) Yueqichen.0x0@gmail.com

Overview What is a GPU Difference between GPU and CPU Graphics pipeline History of the GPU GPU architecture Deep learning with GPUs (optional)

What is a GPU Graphics Processing Unit is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to display.[1] Typically placed on a video card, which contains its own memory and display interfaces(HDMI, DVI, VGA, etc) Primitive GPUs were developed in the 1980s, although the first “complete” GPUs began in the mid 1990s

Video card connected to motherboard through PCI-Express or AGP(Accelerated Graphics Port) Northbridge chip enables data transfer between the CPU and GPU Graphics memory on the video card contains the pixel RGB data for each frame[4]

Difference between GPU and CPU Throughput more important than latency High throughput needed for the huge amount of computations required for graphics Nor concerned about latency because human visual system operates on a much longer time scale Extremely parallel Different pixels and elements of the image can be operated on independently Hundreds of cores executing at the same time to take advantage of this fundamental parallelism

Inputs and Outputs Inputs to GPU(from the CPU/memory): vertices(3D coordinates) of objects Texture data Lighting data Outputs from GPU Frame buffer placed in a specific section of graphics memory contains RGB values for each pixel on the screen data is sent directed to display

The Graphics Pipeline

Renderings

Transformation Camera transformation, Projection transformation These transformations simply modify vertices, so they are done by vertex shaders Transform computations are heavy on matrix multiplication Each vertex can be transformed independently data parallelism

Fixed-Function to Programmable Earlier GPUs were fix-function hardware pipelines In new GPUs, portions of the pipeline are completedly programmable Vertex shaders = programs running on vertex processors fragment shaders = programs running on fragment processors However, some stages are still fixed function(e.g. rasterizaiton)

History of the GPU 1996: 3DFX Voodoo graphics card implements texture mapping, z-buffering, and rasterization, but no vertex processing 1999: GPUs implement the full graphics pipeline in fixed-function hardware(Nvidia GeForce 256, ATI Radeon 7500) 2000: Programmable shader pipelines(Nvidia GeForce 3) 2010: General Purpose GPUs for non-graphical compute-intensive applications, Nvidia CUDA parallel programming API 2014: Unprecedented computer power Nvidia Geforce GTX Titan Z – 8.2 TFLOPS AMD Radeon R9 295X2(dual GPU card) – 11.5 TFLOPS

GPU Architecture Nvidia GeForce 6 series(2004)[3]

Shader processors Vertex Shader core[3] Fragment/Pixel Shader core[3]

SIMD Shader processors are generally SIMD A single instruction executed on every vertex or pixel

Optimizations Basic blocks in a modern GPU[4] Combining different types of shader cores into a single unified shader core Dynamic task scheduling to balance the load on all cores Basic blocks in a modern GPU[4]

Unified Architecture example Nvidia GeForce 8(2006)[5]

GPU Compute Performance

GPU Memory Bandwidth

What is deep learning Systems that learn to recognize objects that are important, without us telling the system explicitly what that object is ahead of time.[6] don’t have to figure out the features ahead of time use same neural net approach for many different problems fault tolerant scales well

Why are GPUs good for deep learning GPUs deliver – - same or better prediction accuracy - faster results - smaller space - lower power[6]

GPU Acceleration

References [1] Wikipedia: Graphics Processing Unit. Retrieved February 2016 https://en.wikipedia.org/wiki/Graphics_processing_unit [2] Crow, Thomas. Evolution of the Graphical Processing Unit. 2004 paper http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.142.368&rep=rep1&type= pdf [3] Chapter 30. The GeForce 6 series GPU Architecture http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter30.html

References [4] GPU Architecture and Function http://meseec.ce.rit.edu/551-projects/spring2015/3-1.pdf [5] G92: Nvidia GeForce 8800 GT http://www.bit-tech.net/hardware/graphics/2007/11/02/nvidia_geforce_8800_gt/2 [6] Deep learning with GPUs http://www.nvidia.com/content/events/geoInt2015/LBrown_DL.pdf [7] GPU for Deep Learning Algorithm https://www.cs.rochester.edu/u/yli/files/report-gpu.pdf