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

Similar documents
CS427 Multicore Architecture and Parallel Computing

PART II. Parallel processing, threads,! messages and communications

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

Graphics Hardware. Instructor Stephen J. Guy

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

Graphics Processing Unit (GPU)

Spring 2009 Prof. Hyesoon Kim

Spring 2011 Prof. Hyesoon Kim

Rendering Objects. Need to transform all geometry then

CS 179: GPU Programming

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

Lecture 2. Shaders, GLSL and GPGPU

Scanline Rendering 2 1/42

CUDA PROGRAMMING MODEL Chaithanya Gadiyam Swapnil S Jadhav

Shaders. Slide credit to Prof. Zwicker

ECE 571 Advanced Microprocessor-Based Design Lecture 18

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

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

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

Administrivia. Administrivia. Administrivia. CIS 565: GPU Programming and Architecture. Meeting

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

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

Accelerating CFD with Graphics Hardware

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

A SIMD-efficient 14 Instruction Shader Program for High-Throughput Microtriangle Rasterization

Alternative GPU friendly assignment algorithms. Paul Richmond and Peter Heywood Department of Computer Science The University of Sheffield

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

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

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

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Computing on GPUs. Prof. Dr. Uli Göhner. DYNAmore GmbH. Stuttgart, Germany

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

GPU for HPC. October 2010

ASYNCHRONOUS SHADERS WHITE PAPER 0

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

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

Graphics Processing Unit Architecture (GPU Arch)

GPU Architecture and Function. Michael Foster and Ian Frasch

Lecture 15: Introduction to GPU programming. Lecture 15: Introduction to GPU programming p. 1

ECE 571 Advanced Microprocessor-Based Design Lecture 20

Game Technology. Lecture Physically Based Rendering. Dipl-Inform. Robert Konrad Polona Caserman, M.Sc.

GPUs and GPGPUs. Greg Blanton John T. Lubia

Ciril Bohak. - INTRODUCTION TO WEBGL

GPU Memory Model Overview

NVIDIA s Compute Unified Device Architecture (CUDA)

NVIDIA s Compute Unified Device Architecture (CUDA)

Jeremy W. Sheaffer 1 David P. Luebke 2 Kevin Skadron 1. University of Virginia Computer Science 2. NVIDIA Research

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

Mattan Erez. The University of Texas at Austin

Programmable GPUs. Real Time Graphics 11/13/2013. Nalu 2004 (NVIDIA Corporation) GeForce 6. Virtua Fighter 1995 (SEGA Corporation) NV1

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

The Graphics Pipeline

Beyond Programmable Shading. Scheduling the Graphics Pipeline

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev

Performance Analysis and Culling Algorithms

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

Portland State University ECE 588/688. Graphics Processors

GRAPHICS HARDWARE. Niels Joubert, 4th August 2010, CS147

Windowing System on a 3D Pipeline. February 2005

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Data Representation in Visualisation

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017

Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics

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

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

NVIDIA nfinitefx Engine: Programmable Pixel Shaders

ECE 574 Cluster Computing Lecture 16

high performance medical reconstruction using stream programming paradigms

Computer Graphics. Hardware Pipeline. Visual Imaging in the Electronic Age Prof. Donald P. Greenberg October 13, 2016 Lecture 15

Threading Hardware in G80

E.Order of Operations

Antonio R. Miele Marco D. Santambrogio

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

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

Lecture 1: Gentle Introduction to GPUs

The Graphics Pipeline and OpenGL I: Transformations!

Beyond One Core. Multi-Cores. Evolution in Frequency Has Stalled. Source: ISCA 2009 Keynote of Kathy Yelick

CS 428: Fall Introduction to. OpenGL primer. Andrew Nealen, Rutgers, /13/2010 1

Automatic Tuning Matrix Multiplication Performance on Graphics Hardware

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

GPU Based Sound Simulation and Visualization

GPU Memory Model. Adapted from:

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

EE 4702 GPU Programming

Introduction to CUDA Algoritmi e Calcolo Parallelo. Daniele Loiacono

Unit 11: Putting it All Together: Anatomy of the XBox 360 Game Console

Programming shaders & GPUs Christian Miller CS Fall 2011

Efficient and Scalable Shading for Many Lights

CS451Real-time Rendering Pipeline

GPGPU introduction and network applications. PacketShaders, SSLShader

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

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

Books: 1) Computer Graphics, Principles & Practice, Second Edition in C JamesD. Foley, Andriesvan Dam, StevenK. Feiner, John F.

Rasterization Overview

Introduction to CUDA

Applications of Explicit Early-Z Culling

Architectures. Michael Doggett Department of Computer Science Lund University 2009 Tomas Akenine-Möller and Michael Doggett 1

Transcription:

Postgraduate course on Electronics and Informatics Engineering (M.Sc.) Training Course on Circuits Theory (prof. G. Capizzi)! Workshop on High performance computing and GPGPU computing Postgraduate course on Computer Sciences (M.Sc.)! Training Course on Distributed Sistems (prof. G. Pappalardo)! Workshop on High performance computing and GPGPU computing PART III GPU Cards and Architectures Dr. Christian Napoli, M.Sc.! Dpt. Mathematics and Informatics, University of Catania!!! - www.dmi.unict.it/~napoli/ 1 1

GPU Computing Graphic Processing Units & cards 2

Moore s Law CLOUD???! DISTRIBUITED! COMPUTING BOINC GRID GPGPU High Performance Computing 3

GPU Computing The ABC of an Algorithm! - D as Definite - E as Executable - F as Finite - G as Generic he Great Challenge (large scale) 4 - Distribuited - General - Pourpose - Computing on - Graphic - Processing - Units! DGPCGPU Computational Dimension! - Size of the Dataset - Number of Operations - Time of Execution - Operation density and topology An algorithm is a specific set of instructions for carrying out a procedure or solving a problem, with the requirement that the procedure terminate at some point. The word "algorithm" is a distortion of al-khwārizmī, a Persian mathematician who wrote an influential treatise about algebraic methods. The process of applying an algorithm to an input to obtain an output is called a computation. The Great Challenge (local scale)! - Distribuited - General - Pourpose - High Perofmance Computing on - Graphic - Processing - Units Computational Performance! - Memory access counters - Operations per second - Time of Execution - Scalability! DGPHPCGPU

5 Once upon a time. Fiat lux and devices! In 1983, Intel made the isbx 275 Video Graphics Controller Multimodule Board, for industrial systems based on the Multibus standard. The card was based on the 82720 Graphics Display Controller, and accelerated the drawing of lines, arcs, rectangles, and character bitmaps. The framebuffer was also accelerated through loading via DMA. The board was intended for use with Intel's line of Multibus industrial single-board computer plugin cards. The High-Performance Graphics Display Controller 7220 (commonly µpd7220 or NEC 7220) is a video interface controller capable of drawing lines, circles, arcs, and character graphics to a bit-mapped display. It was developed by NEC and used in NEC's APC III computers, the optional graphics module for the DEC Rainbow, the Tulip System-1, and the Epson QX-10.! (CC) Wikimedia Commons / CC-SA-3.0 The µpd7220 was one of the first implementations of a graphics display controller as a single Large Scale Integration (LSI) integrated circuit chip, enabling the design of low-cost, high-performance video graphics cards such as those from Number Nine Visual Technology. It became one of the best known of what became known as graphics processing units in the 1980s.

Once upon a time. 6

Graphic rendering The rendering pipeline Is a sequence of steps used to create a 2D raster representation of a 3D scene. In the early history of 3D computer graphics fixed purpose hardware was used to speed up the steps of the pipeline through a fixed-function pipeline, but the hardware evolved, becoming more general purpose, allowing greater flexibility in graphics rendering, as well as more generalized hardware, allowing the same generalized hardware to perform not only different steps of the pipeline, unlike fixed purpose hardware, but even limited forms of general purpose computing. 7

Graphic rendering The rendering pipeline 8

Graphic rendering The rendering pipeline The rendering pipeline is mapped onto current graphics acceleration hardware such that the input to the GPU is in the form of vertices. These vertices then undergo transformation and per-vertex lighting. At this point in modern GPU pipelines a custom vertex shader program can be used to manipulate the 3D vertices prior to rasterization. Once transformed and lit, the vertices undergo clipping and rasterization resulting in fragments. A second custom shader program can then be run on each fragment before the final pixel values are output to the frame buffer for display. 9

GPU Cards Inside a GPGPU device FERMI GeForce 10

GPU Cards GPGPU cores and multicore parallelism 11

GPU Cards GPGPU cores and streams 12

GPU Cards Nvidia GeForce Architecture 13

GPU Cards Stream, threads and parallels 14

GPU Cards Simple multi-threading 15

GPU Cards A little less-simple multi-threading 16

GPU Cards GPU cores matrix and multi-threading 17

GPU Cards GPU cores: threads and blocks 18

GPU Cards Threads and blocks: execution flux 19

GPU Cards A bit-old-fashioned gate logic for GPU cards 20

GPU Cards A bit-old-fashioned gate logic for GPU cards 21

GPU Cards CUDA vs STREAM 22

GPU Cards de gustibus non disputandum est! (sed mores filia tempora est!) 23

GPU Cards A promising future 24

GPU Moore Law A youth elisir for the poor-old Moore s Law Hot Zone! 25

GPU Moore Law A youth elisir for the poor-old Moore s Law 26

GPU Moore Law Moore s Law - GPU REFIT 27

GPU Moore Law Moore s Law - HPC & GPU REFIT DGPHPC HPCGPU 28

GPU: TNG Moore s Law - The next generation 29

GPU: TNG «So, five-card stud, nothing wild... and the sky's the limit.»! [Star Trek: The Next Generation, last words]!! 30

QUESTION TIME 31

Thank You You will find the PDF edition in the didactic section of the author s website, visit http://www.dmi.unict.it/~napoli/ To contact the author send an email to If you want to share this presentation be sure to read and follow the CC-BY-NC-ND-4.0 license. Visit http://creativecommons.org/licenses/by-nc-nd/4.0/deed.en_us 32 32