Graphics Processing Unit (GPU)

Similar documents
ECE 571 Advanced Microprocessor-Based Design Lecture 18

ECE 571 Advanced Microprocessor-Based Design Lecture 20

Graphics Hardware. Instructor Stephen J. Guy

Introduction to Computer Graphics (CS602) Lecture No 03 Graphics Systems

CMPE 665:Multiple Processor Systems CUDA-AWARE MPI VIGNESH GOVINDARAJULU KOTHANDAPANI RANJITH MURUGESAN

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics

CSE 591/392: GPU Programming. Introduction. Klaus Mueller. Computer Science Department Stony Brook University

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller

Rendering Objects. Need to transform all geometry then

GPU Architecture and Function. Michael Foster and Ian Frasch

EECS 487: Interactive Computer Graphics

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1

Graphics Architectures and OpenCL. Michael Doggett Department of Computer Science Lund university

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

CS GPU and GPGPU Programming Lecture 8+9: GPU Architecture 7+8. Markus Hadwiger, KAUST

GPGPU, 1st Meeting Mordechai Butrashvily, CEO GASS

Antonio R. Miele Marco D. Santambrogio

Motivation Hardware Overview Programming model. GPU computing. Part 1: General introduction. Ch. Hoelbling. Wuppertal University

Current Trends in Computer Graphics Hardware

Spring 2009 Prof. Hyesoon Kim

Spring 2011 Prof. Hyesoon Kim

Graphics Processing Unit Architecture (GPU Arch)

GPU ARCHITECTURE Chris Schultz, June 2017

PART III. GPU Cards and Architectures. Dr. Christian Napoli, M.Sc.! Dpt. Mathematics and Informatics, University of Catania!

ECE 574 Cluster Computing Lecture 16

Portland State University ECE 588/688. Graphics Processors

Vulkan: Architecture positive How Vulkan maps to PowerVR GPUs Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics.

The Graphics Pipeline

CS 220: Introduction to Parallel Computing. Introduction to CUDA. Lecture 28

GPUs and GPGPUs. Greg Blanton John T. Lubia

On-the-fly Vertex Reuse for Massively-Parallel Software Geometry Processing

What Next? Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. * slides thanks to Kavita Bala & many others

20 Years of OpenGL. Kurt Akeley. Copyright Khronos Group, Page 1

GPU Basics. Introduction to GPU. S. Sundar and M. Panchatcharam. GPU Basics. S. Sundar & M. Panchatcharam. Super Computing GPU.

Cornell University CS 569: Interactive Computer Graphics. Introduction. Lecture 1. [John C. Stone, UIUC] NASA. University of Calgary

Computer Graphics (CS 543) Lecture 1 (Part 1): Introduction to Computer Graphics

CME 213 S PRING Eric Darve

CS130 : Computer Graphics. Tamar Shinar Computer Science & Engineering UC Riverside

Vulkan and Animation 3/13/ &height=285&playerId=

Graphics Hardware, Graphics APIs, and Computation on GPUs. Mark Segal

Scanline Rendering 2 1/42

CSCI 402: Computer Architectures. Parallel Processors (2) Fengguang Song Department of Computer & Information Science IUPUI.

CONSOLE ARCHITECTURE

Lecture 2. Shaders, GLSL and GPGPU

Scan Conversion of Polygons. Dr. Scott Schaefer

Deep Learning: Transforming Engineering and Science The MathWorks, Inc.

Mobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair

ECE 574 Cluster Computing Lecture 18

GPU Architecture. Michael Doggett Department of Computer Science Lund university

CSE4030 Introduction to Computer Graphics

Multi-Processors and GPU

GPGPU. Peter Laurens 1st-year PhD Student, NSC

Accessing the GPU & the GPUImage Library

GPU ARCHITECTURE Chris Schultz, June 2017

Introduction to Multicore architecture. Tao Zhang Oct. 21, 2010

CS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012

CENG 477 Introduction to Computer Graphics. Graphics Hardware and OpenGL

Survey in Computer Graphics Computer Graphics and Visualization

Fast Interactive Sand Simulation for Gesture Tracking systems Shrenik Lad

Blink: 3D Display Multiplexing for Virtualized Applications

Programming shaders & GPUs Christian Miller CS Fall 2011

Accessing the GPU & the GPUImage Library

3-D Accelerator on Chip

2.11 Particle Systems

The Graphics Pipeline and OpenGL I: Transformations!

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

EE , GPU Programming

Graphics and Imaging Architectures

Evolution of CPUs & Memory in Video Game Consoles. Curtis Geiger & Matthew Meehan

Real-Time Buffer Compression. Michael Doggett Department of Computer Science Lund university

Shaders. Slide credit to Prof. Zwicker

CS427 Multicore Architecture and Parallel Computing

Grafica Computazionale: Lezione 30. Grafica Computazionale. Hiding complexity... ;) Introduction to OpenGL. lezione30 Introduction to OpenGL

Fast Hardware For AI

GPU Architecture. Alan Gray EPCC The University of Edinburgh

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Applications and Implementations

GPU Computing and Its Applications

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

CS8803SC Software and Hardware Cooperative Computing GPGPU. Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology

Parallel Computing: Parallel Architectures Jin, Hai

Accelerator cards are typically PCIx cards that supplement a host processor, which they require to operate Today, the most common accelerators include

Advanced Computer Graphics (CS & SE ) Lecture 7

NVLink on NVIDIA GeForce RTX 2080 & 2080 Ti in Windows 10

Threading Hardware in G80

CS 316: Multicore/GPUs

Bifurcation Between CPU and GPU CPUs General purpose, serial GPUs Special purpose, parallel CPUs are becoming more parallel Dual and quad cores, roadm

Bifrost - The GPU architecture for next five billion

Deep Learning Accelerators

1. Introduction 2. Methods for I/O Operations 3. Buses 4. Liquid Crystal Displays 5. Other Types of Displays 6. Graphics Adapters 7.

Using Graphics Chips for General Purpose Computation

! Readings! ! Room-level, on-chip! vs.!

GPGPU Applications. for Hydrological and Atmospheric Simulations. and Visualizations on the Web. Ibrahim Demir

Applications and Implementations

Generations of Consumer Computer Graphics as Seen in Demos. Markku Reunanen, Aalto University

Case 1:17-cv SLR Document 1-3 Filed 01/23/17 Page 1 of 33 PageID #: 60 EXHIBIT C

Programming Graphics Hardware

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

A Low Cost Tile-based 3D Graphics Full Pipeline with Real-time Performance Monitoring Support for OpenGL ES in Consumer Electronics

Transcription:

Eric Scheler & Joshua Shear Graphics Processing Unit (GPU) Architecture and Applications

Agenda Origin of GPUs First GPU Models and capabilities GPUs then and now (with architecture breakdown) Graphics and Compute APIs Applications

Origin of GPUs Tape was simple to output for a computer Once CRT monitors were attached to computers displaying to them was more complex GPUs allowed for lots of parallel computation to output to the monitor in a timely manner

The First GPUs Television Interface Adaptors (TIA) Video & sound 40 x 192 Atari 2600 Companies Motorola, IBM, Yamaha, TI, Intel isbx 275 (right) 256 x 256 8 color Interfaced via eight-bit isbx bus Supported: panning, scrolling, drawing lines, arcs, circles, rectangles, character/symbol painting and area fill Intel s isbx 275 Video Graphics Controller Board

The First GPUs - ATI Wonder Series ATI Graphics Solution (1986) 64KB DRAM CGA & MDA ATI VGA Wonder XL24 (1992) 512KB/1MB DRAM MDA, CGA, EGA, VGA, SVGA High end video card (last of Wonder series) https://www.techpowerup.com/gpudb/3176/graphics-solution https://www.techpowerup.com/gpudb/2039/vga-wonder-xl24

Architecture (AMD)

Architecture (NVidia)

Memory Bandwidth

Performance Over Time

Graphics Pipeline Vertex Processing Lighting per vertex Primitive Assembly Lines, triangles, points Rasterization Pixel positions Generate colored fragments Update framebuffer

Introduction of APIs Used by game engines for easy development on a wide variety of hardware Eventually, the use of GPUs for data computation was discovered and the APIs added computation calls

OpenGL OpenGL was the first, targeted at all major GPUs Started strictly as a graphics API in the 1990s Added compute support in the 2000s Usable on all GPUs (3Dfx, ATI, AMD, NVidia, Intel)

CUDA CUDA was developed by NVidia in the 2000s for compute uses Exclusive to NVidia GPUs Can be ported to work on Intel integrated graphics Has no graphical support Used by most companies that do GPU acceleration because of its ease of use for compute

Vulkan Vulkan is the new successor to OpenGL providing finer control over the hardware Difficult to use but offers much better performance over OpenGL Usable on all modern GPUs (Intel, AMD, NVidia)

Applications - MapReduce MapReduce, developed at Google, allows for large numbers of computers to work on massively parallel tasks When GPU accelerated, can perform far faster than with CPUs alone (+87% faster)

Deep Neural Networks (DNNs) DNNs require lots of independent neurons firing to generate an output The firing can be partially parallelized leading to much faster run times on GPUs Some GPUs such as the Tesla GV100 and the Titan V are including Tensor cores specifically optimized for DNNs Google Brain Project learned to recognize cats and people (deep learning) 2,000 CPUs became 12 NVIDIA GPUs

Monte Carlo

CryptoCurrency Mining

References https://cg.informatik.uni-freiburg.de/course_notes/graphics_01_pipeline.pdf -Graphics Pipeline pics (2) Old GPU Architecture Diagrams from AnandTech New GPU Architecture Diagrams from GamersNexus VRAM and RAM charts from TweakTown API Images from Khronos Group and NVidia Application images from various sources