GPUs – Graphics Processing Units Applications in Graphics Processing and Beyond COSC 3P93 – Parallel ComputingMatt Peskett.

Slides:



Advertisements
Similar presentations
Lecture 1: Introduction
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.
Prepared 5/24/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
GPGPU Introduction Alan Gray EPCC The University of Edinburgh.
HPCC Mid-Morning Break High Performance Computing on a GPU cluster Dirk Colbry, Ph.D. Research Specialist Institute for Cyber Enabled Discovery.
GRAPHICS AND COMPUTING GPUS Jehan-François Pâris
GPU Computing with CUDA as a focus Christie Donovan.
© 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.
ATI GPUs and Graphics APIs Mark Segal. ATI Hardware X1K series 8 SIMD vertex engines, 16 SIMD fragment (pixel) engines 3-component vector + scalar ALUs.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
Comparison of Modern CPUs and GPUs And the convergence of both Jonathan Palacios Josh Triska.
XMT-GPU A PRAM Architecture for Graphics Computation Tom DuBois, Bryant Lee, Yi Wang, Marc Olano and Uzi Vishkin.
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.
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 April 4, 2013 © Barry Wilkinson CUDAIntro.ppt.
HPCC Mid-Morning Break Dirk Colbry, Ph.D. Research Specialist Institute for Cyber Enabled Discovery Introduction to the new GPU (GFX) cluster.
CSU0021 Computer Graphics © Chun-Fa Chang CSU0021 Computer Graphics September 10, 2014.
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.
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
Shared memory systems. What is a shared memory system Single memory space accessible to the programmer Processor communicate through the network to the.
Computer Graphics Graphics Hardware
BY: ALI AJORIAN ISFAHAN UNIVERSITY OF TECHNOLOGY 2012 GPU Architecture 1.
GPUs and Accelerators Jonathan Coens Lawrence Tan Yanlin Li.
By Arun Bhandari Course: HPC Date: 01/28/12. GPU (Graphics Processing Unit) High performance many core processors Only used to accelerate certain parts.
GPU in HPC Scott A. Friedman ATS Research Computing Technologies.
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.
Multiprocessing. Going Multi-core Helps Energy Efficiency William Holt, HOT Chips 2005 Adapted from UC Berkeley "The Beauty and Joy of Computing"
Accelerating image recognition on mobile devices using GPGPU
Emergence of GPU systems and clusters for general purpose high performance computing ITCS 4145/5145 April 3, 2012 © Barry Wilkinson.
GPU Architecture and Programming
A Closer Look At GPUs By Kayvon Fatahalian and Mike Houston Presented by Richard Stocker.
CS662 Computer Graphics Game Technologies Jim X. Chen, Ph.D. Computer Science Department George Mason University.
Introduction What is GPU? It is a processor optimized for 2D/3D graphics, video, visual computing, and display. It is highly parallel, highly multithreaded.
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.
Video Card CES Industries, Inc. Lesson 10.  Translates computer information of binary digital data into visual information that the monitor can understand.
Programming with CUDA WS 08/09 Lecture 1 Tue, 21 Oct, 2008.
Debunking the 100X GPU vs. CPU Myth An Evaluation of Throughput Computing on CPU and GPU Present by Chunyi Victor W Lee, Changkyu Kim, Jatin Chhugani,
Fateme Hajikarami Spring  What is GPGPU ? ◦ General-Purpose computing on a Graphics Processing Unit ◦ Using graphic hardware for non-graphic computations.
Copyright © Curt Hill Video Hardware Evolution.
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.
3/12/2013Computer Engg, IIT(BHU)1 CUDA-3. GPGPU ● General Purpose computation using GPU in applications other than 3D graphics – GPU accelerates critical.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
Graphic Processing Units Presentation by John Manning.
Processor Level Parallelism 2. How We Got Here Developments in PC CPUs.
Programming with CUDA WS 08/09 Lecture 2 Tue, 28 Oct, 2008.
COMP 175 | COMPUTER GRAPHICS Remco Chang1/XX13 – GLSL Lecture 13: OpenGL Shading Language (GLSL) COMP 175: Computer Graphics April 12, 2016.
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 © Barry Wilkinson GPUIntro.ppt Oct 30, 2014.
NVIDIA® TESLA™ GPU Based Super Computer By : Adam Powell Student # For COSC 3P93.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
Computer Graphics Graphics Hardware
GPU Architecture and Its Application
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
What is GPU? how does it work?
Graphics Processing Unit
From Turing Machine to Global Illumination
CSC 2231: Parallel Computer Architecture and Programming GPUs
Graphics Processing Unit
Computer Graphics Graphics Hardware
Ray Tracing on Programmable Graphics Hardware
Graphics Processing Unit
CSE 502: Computer Architecture
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

GPUs – Graphics Processing Units Applications in Graphics Processing and Beyond COSC 3P93 – Parallel ComputingMatt Peskett

What We’ll Cover Today COSC 3P93 – Parallel ComputingMatt Peskett A Brief History of the GPU GPU – Definition and difference from CPU Memory – DDR vs. GDDR Uses of GPUs in graphics processing Uses of GPUs outside of graphics processing

History of the GPU COSC 3P93 – Parallel ComputingMatt Peskett Whirlwind Flight Simulator (1951) One of the first ventures into digital computing (previously analog)

History of the GPU COSC 3P93 – Parallel ComputingMatt Peskett Lincoln Laboratory at MIT Whirlwind flight simulator

History of the GPU COSC 3P93 – Parallel ComputingMatt Peskett Whirlwind Flight Simulator (1951) One of the first ventures into digital computing (previously analog) Atari 2600 (1977) Major enhancement in consumer-oriented graphics hardware

History of the GPU COSC 3P93 – Parallel ComputingMatt Peskett Atari 2600 console Basketball (1978)

History of the GPU COSC 3P93 – Parallel ComputingMatt Peskett Whirlwind Flight Simulator (1951) One of the first ventures into digital computing (previously analog) Atari 2600 (1977) Major enhancement in consumer-oriented graphics hardware IBM Monochrome Display Adapter (1981) Produced 720 x 350 resolution

History of the GPU COSC 3P93 – Parallel ComputingMatt Peskett Character set of the MDA IBM 5151 with green monochrome text from MDA Basketball (1978) MDA Card

What makes a GPU a GPU? COSC 3P93 – Parallel ComputingMatt Peskett Specialized for SIMD operations

What makes a GPU a GPU? COSC 3P93 – Parallel ComputingMatt Peskett A visual distinction:

What makes a GPU a GPU? COSC 3P93 – Parallel ComputingMatt Peskett CPU processing core (left) vs. GPU processing core (right)

What makes a GPU a GPU? COSC 3P93 – Parallel ComputingMatt Peskett GPUs are optimized for floating point operations

What makes a GPU a GPU? COSC 3P93 – Parallel ComputingMatt Peskett Minimal control infrastructure to enhance throughput

What makes a GPU a GPU? COSC 3P93 – Parallel ComputingMatt Peskett CPUs can handle a lot of what a GPU does – but not nearly as well

Why have both a GPU and CPU? COSC 3P93 – Parallel ComputingMatt Peskett Executing serial code with a GPU is slower than on a CPU Operating systems and user applications have a large portion of serial code Rewriting applications to utilize GPU is often not worth the investment in time Too much variety in operations; some are best handled by the CPU and others by the GPU

GPU Memory vs. CPU Memory COSC 3P93 – Parallel ComputingMatt Peskett DDR – Double Data Rate GDDR – Graphics Double Data Rate

GPU Memory vs. CPU Memory COSC 3P93 – Parallel ComputingMatt Peskett Memory architectures (UMA, NUMA, and hUMA)

Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett The graphics pipeline

Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett 1) Vector shader

Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett 2) Projection

Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett 3) Clipping

Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett 4) Rasterization

Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett 5) Pixel shader

Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett Texture mapping

Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett Coherence

General Purpose GPUs COSC 3P93 – Parallel ComputingMatt Peskett Origins

General Purpose GPUs COSC 3P93 – Parallel ComputingMatt Peskett GPGPU models: Brook+, OpenCL & CUDA

CUDA Example COSC 3P93 – Parallel ComputingMatt Peskett

CUDA Example COSC 3P93 – Parallel ComputingMatt Peskett

CUDA Example COSC 3P93 – Parallel ComputingMatt Peskett

CUDA Example COSC 3P93 – Parallel ComputingMatt Peskett

CUDA Example COSC 3P93 – Parallel ComputingMatt Peskett

CUDA Example COSC 3P93 – Parallel ComputingMatt Peskett

Additional Resources COSC 3P93 – Parallel ComputingMatt Peskett Intro to Parallel Programming – Using CUDA to Harness the Power of GPUs GPU Programming for the Rest of Us OpenGL Tutorials (Basic to advanced) Parallel Computing for Graphics: Beyond Programmable Shading (Course delivered at SIGGRAPH Asia 2008, very interesting and still relevant)