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

Similar documents
Real-Time Volumetric Smoke using D3D10. Sarah Tariq and Ignacio Llamas NVIDIA Developer Technology

CS GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1. Markus Hadwiger, KAUST

CS GPU and GPGPU Programming Lecture 3: GPU Architecture 2. Markus Hadwiger, KAUST

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

CS427 Multicore Architecture and Parallel Computing

Lecture 2. Shaders, GLSL and GPGPU

Rasterization Overview

Volume Graphics Introduction

Graphics Hardware. Instructor Stephen J. Guy

1.2.3 The Graphics Hardware Pipeline

The Rasterization Pipeline

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

Shaders. Slide credit to Prof. Zwicker

Spring 2011 Prof. Hyesoon Kim

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

Pipeline Operations. CS 4620 Lecture 14

2.11 Particle Systems

Applications of Explicit Early-Z Culling

Introduction to Shaders.

Spring 2009 Prof. Hyesoon Kim

Tutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI

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

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

Graphics Processing Unit Architecture (GPU Arch)

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

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

A Trip Down The (2011) Rasterization Pipeline

CS GPU and GPGPU Programming Lecture 3: GPU Architecture 2. Markus Hadwiger, KAUST

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

What s New with GPGPU?

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

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

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

Rendering approaches. 1.image-oriented. 2.object-oriented. foreach pixel... 3D rendering pipeline. foreach object...

CS 354R: Computer Game Technology

Real - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský

General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing)

CS4620/5620: Lecture 14 Pipeline

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

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

Direct Rendering of Trimmed NURBS Surfaces

Ciril Bohak. - INTRODUCTION TO WEBGL

Com S 336 Final Project Ideas

The Application Stage. The Game Loop, Resource Management and Renderer Design

First Steps in Hardware Two-Level Volume Rendering

Models and Architectures

CS 179: GPU Programming

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

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

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

CS451Real-time Rendering Pipeline

UberFlow: A GPU-Based Particle Engine

Evolution of GPUs Chris Seitz

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

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

High-Quality Surface Splatting on Today s GPUs

Abstract. Introduction. Kevin Todisco

CS452/552; EE465/505. Clipping & Scan Conversion

Level of Details in Computer Rendering

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

Deferred Rendering Due: Wednesday November 15 at 10pm

Real-Time Hair Simulation and Rendering on the GPU. Louis Bavoil

CS770/870 Fall 2015 Advanced GLSL

Computer Graphics Shadow Algorithms

Today s Agenda. Basic design of a graphics system. Introduction to OpenGL

DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/

Clipping. CSC 7443: Scientific Information Visualization

Programming Graphics Hardware

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

Zeyang Li Carnegie Mellon University

Programmable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes

The Graphics Pipeline

General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing)

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics

Advanced Rendering Techniques

Programming shaders & GPUs Christian Miller CS Fall 2011

DirectX10 Effects and Performance. Bryan Dudash

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

DirectX10 Effects. Sarah Tariq

Introduction to Computer Graphics with WebGL

CUDA. Fluid simulation Lattice Boltzmann Models Cellular Automata

Today. Rendering - III. Outline. Texturing: The 10,000m View. Texture Coordinates. Specifying Texture Coordinates in GL

E.Order of Operations

3D buzzwords. Adding programmability to the pipeline 6/7/16. Bandwidth Gravity of modern computer systems

The Graphics Pipeline

Chapter Answers. Appendix A. Chapter 1. This appendix provides answers to all of the book s chapter review questions.

Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima.

GPU Memory Model. Adapted from:

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

CS770/870 Spring 2017 Open GL Shader Language GLSL

CS770/870 Spring 2017 Open GL Shader Language GLSL

PROFESSIONAL. WebGL Programming DEVELOPING 3D GRAPHICS FOR THE WEB. Andreas Anyuru WILEY. John Wiley & Sons, Ltd.

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Shaders (some slides taken from David M. course)

Graphics Pipeline 2D Geometric Transformations

GPU Architecture and Function. Michael Foster and Ian Frasch

The Graphics Pipeline

Scheduling the Graphics Pipeline on a GPU

OPENGL RENDERING PIPELINE

Real-Time Reyes: Programmable Pipelines and Research Challenges. Anjul Patney University of California, Davis

Transcription:

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

Reading Assignment #2 (until Feb. 17) Read (required): GLSL book, chapter 4 (The OpenGL Programmable Pipeline) GPU Gems 2 book, chapter 30 (The GeForce 6 Series GPU Architecture) available online: http://download.nvidia.com/developer/gpu_gems_2/gpu_gems2_ch30.pdf 2

Example: Fluid Simulation and Rendering Compute advection of fluid (Incompressible) Navier-Stokes solvers Lattice Boltzmann Method (LBM) Discretized domain; stored in 2D/3D textures Velocity, pressure Dye, smoke density, vorticity, Updates in multi-passes Render current frame Courtesy Mark Harris 3

Example: Volumetric Special Effects NVIDIA Demos Smoke, water Collision detection with voxelized solid (Gargoyle) Ray-casting Smoke: direct volume rendering Water: level set / isosurface Courtesy Keenan Crane 4

Example: Particle Simulation and Rendering NVIDIA Particle Demo 5

Example: Level-Set Computations Implicit surface represented by distance field The level-set PDE is solved to update the distance field Basic framework with a variety of applications 6

Example: Diffusion Filtering De-noising Original Linear isotropic Non-linear isotropic Non-linear anisotropic 7

Example: Linear Algebra Operators Vector and matrix representation and operators Early approach based on graphics primitives Now CUDA makes this much easier Linear systems solvers Courtesy Krüger and Westermann 8

Example: GPU Data Structures Glift: Generic, Efficient, Random-Access GPU Data Structures STL for GPUs Virtual memory management Courtesy Lefohn et al. 9

What s in a GPU? Lots of floating point processing power Stream processing cores different names: stream processors, CUDA cores,... Was vector processing, now scalar cores! Still lots of fixed graphics functionality Attribute interpolation (per-vertex -> per-fragment) Rasterization (turning triangles into fragments/pixels) Texture samping and filtering Depth buffering (per-pixel visibility) Blending/compositing (semi-transparent geometry,...) Frame buffers 10

What can the hardware do? Rasterization Decomposition into fragments Interpolation of color Texturing Interpolation/Filtering Fragment Shading Fragment Operations Depth Test (Z-Test) Alpha Blending (Compositing)

Graphics Pipeline Scene Description Raster Image Geometry Processing Rasterization Fragment Operations Vertices Primitives Fragments Pixels

Geometry Processing Geometry Processing Rasterization Fragment Operations Transformation Per-Vertex Lighting Primitive Assembly Clipping, Perspect.Divide Multiplication with Modelview and Projection Matrix Per-Vertex Local Illumination (Blinn/Phong) Geometric Primitives (Points, Lines Triangles) Clip Space To Screen Space Vertices Primitives

Rasterization Geometry Processing Rasterization Fragment Operations Polygon Rasterization Texture Fetch Texture Application Decomposition of primitives into fragments Interpolation of texture coordinates Filtering of texture color Combination of primary color with texture color Primitives Vertices Fragments Primitive

Fragment Operations Geometry Processing Rasterization Fragment Operations Alpha Test Stencil Test Depth Test Alpha Blending Discard all fragments within a certain alpha range Discard a fragment if the stencil buffer is set Discard all occluded fragments Combination of primary color with texture color

Graphics Pipeline Scene Description Programmable Pipeline Raster Image Geometry Vertex Processing Shader Fragment Rasterization Shader Fragment Operations Vertices Primitives Fragments Pixels

Direct3D 10 Pipeline (~OpenGL 3.2) New geometry shader stage: Vertex -> geometry -> pixel shaders Stream output after geometry shader Courtesy David Blythe, Microsoft 17

Direct3D 11 Pipeline (~OpenGL 4.0) New tessellation stages Hull shader (OpenGL: tessellation control) Tessellator (OpenGL: tessellation primitive generator) Domain shader (OpenGL: tessellation evaluation) Trend of adding new stages likely to continue...... or full flexibility such as in Intel MIC (Larrabee) architecture? 18

Thank you.