Multiprocessor Graphic Rendering Kerey Howard

Similar documents
GPGPU Computing. Yong Cao

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

Radeon GPU Architecture and the Radeon 4800 series. Michael Doggett Graphics Architecture Group June 27, 2008

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011

Real-Time Realistic Rendering. Michael Doggett Docent Department of Computer Science Lund university

L20: GPU Architecture and Models

NVIDIA GeForce GTX 580 GPU Datasheet

Introduction to GPGPU. Tiziano Diamanti

How To Develop For A Powergen 2.2 (Tegra) With Nsight) And Gbd (Gbd) On A Quadriplegic (Powergen) Powergen Powergen 3

GPU Architecture. Michael Doggett ATI

How To Use An Amd Ramfire R7 With A 4Gb Memory Card With A 2Gb Memory Chip With A 3D Graphics Card With An 8Gb Card With 2Gb Graphics Card (With 2D) And A 2D Video Card With

System requirements for Autodesk Building Design Suite 2017

GPU Usage. Requirements

Lecture Notes, CEng 477

IP Video Rendering Basics

Introduction to GPU Programming Languages

Awards News. GDDR5 memory provides twice the bandwidth per pin of GDDR3 memory, delivering more speed and higher bandwidth.

The Future Of Animation Is Games

Developer Tools. Tim Purcell NVIDIA

Msystems Ltd. SAPPHIRE HD GB GDDR5 PCIE

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

How To Teach Computer Graphics

GPU Hardware and Programming Models. Jeremy Appleyard, September 2015

Introduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software

3D Computer Games History and Technology

Computer Graphics Hardware An Overview

SAPPHIRE HD GB GDDR5 PCIE.

Radeon HD 2900 and Geometry Generation. Michael Doggett

Writing Applications for the GPU Using the RapidMind Development Platform

ATI Radeon 4800 series Graphics. Michael Doggett Graphics Architecture Group Graphics Product Group

Lecture 11: Multi-Core and GPU. Multithreading. Integration of multiple processor cores on a single chip.

CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University

Introduction to GPU hardware and to CUDA

BLM 413E - Parallel Programming Lecture 3

Next Generation GPU Architecture Code-named Fermi

This Unit: Putting It All Together. CIS 501 Computer Architecture. Sources. What is Computer Architecture?

Petascale Visualization: Approaches and Initial Results

SAPPHIRE TOXIC R9 270X 2GB GDDR5 WITH BOOST

Dynamic Resolution Rendering

Parallel Computing: Strategies and Implications. Dori Exterman CTO IncrediBuild.

Java game programming. Game engines. Fayolle Pierre-Alain

What is GPUOpen? Currently, we have divided console & PC development Black box libraries go against the philosophy of game development Game

NVIDIA CUDA Software and GPU Parallel Computing Architecture. David B. Kirk, Chief Scientist

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Technical Specifications

CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS

Msystems Ltd. SAPPHIRE HD GB GDDR5 PCIE. Specification

GPUs Under the Hood. Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology

¹ Autodesk Showcase 2016 and Autodesk ReCap 2016 are not supported in 32-Bit.

GPU Architectures. A CPU Perspective. Data Parallelism: What is it, and how to exploit it? Workload characteristics

Interactive Rendering In The Post-GPU Era. Matt Pharr Graphics Hardware 2006

Lecture 1 Introduction to Parallel Programming

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions

Lecture 3: Modern GPUs A Hardware Perspective Mohamed Zahran (aka Z) mzahran@cs.nyu.edu

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Overview. NVIDIA Quadro K5200 8GB Graphics J3G90AA

Hardware design for ray tracing

Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH

AMD Radeon HD 8000M Series GPU Specifications AMD Radeon HD 8870M Series GPU Feature Summary

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith

Course Development of Programming for General-Purpose Multicore Processors

Performance Testing in Virtualized Environments. Emily Apsey Product Engineer

Lecture 15: Hardware Rendering

Texture Cache Approximation on GPUs

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

SAPPHIRE VAPOR-X R9 270X 2GB GDDR5 OC WITH BOOST

TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING

1. INTRODUCTION Graphics 2

Catalyst Software Suite Version 9.2 Release Notes

Performance Optimization and Debug Tools for mobile games with PlayCanvas

Power Benefits Using Intel Quick Sync Video H.264 Codec With Sorenson Squeeze

Touchstone -A Fresh Approach to Multimedia for the PC

Computer Graphics. Computer graphics deals with all aspects of creating images with a computer

Low power GPUs a view from the industry. Edvard Sørgård

Introduction to Computer Graphics

Choosing a Computer for Running SLX, P3D, and P5

Advanced Rendering for Engineering & Styling

QuickSpecs. NVIDIA Quadro K1200 4GB Graphics INTRODUCTION PERFORMANCE AND FEATURES. Overview

Comp 410/510. Computer Graphics Spring Introduction to Graphics Systems

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

OpenGL Performance Tuning

Real-time processing the basis for PC Control

Computer Graphics on Mobile Devices VL SS ECTS

ATI Catalyst Software Suite Version 10.7 Release Notes

Introduction to Cloud Computing

System Requirements G E N E R A L S Y S T E M R E C O M M E N D A T I O N S

NVIDIA Quadro K5200 Amazing 3D Application Performance and Capability

Introduction to GP-GPUs. Advanced Computer Architectures, Cristina Silvano, Politecnico di Milano 1

Multi-core Programming System Overview

Catalyst Software Suite Version 9.12 Release Notes

NVIDIA workstation 3D graphics card upgrade options deliver productivity improvements and superior image quality

Introduction to GPU Computing

QuickSpecs. NVIDIA Quadro K2200 4GB Graphics INTRODUCTION. NVIDIA Quadro K2200 4GB Graphics. Technical Specifications

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

Accelerating Wavelet-Based Video Coding on Graphics Hardware

Graphical Processing Units to Accelerate Orthorectification, Atmospheric Correction and Transformations for Big Data

Interactive Level-Set Deformation On the GPU

Technical Brief. Quadro FX 5600 SDI and Quadro FX 4600 SDI Graphics to SDI Video Output. April 2008 TB _v01

Transcription:

Multiprocessor Graphic Rendering Kerey Howard EEL 6897

Lecture Outline Real time Rendering Introduction Graphics API Pipeline Multiprocessing Parallel Processing Threading OpenGL with Java 2

Real time Rendering Introduction Real-time: Interactive Range from 30Hz to 72Hz Rendering Displaying Computer Graphics Typically three-dimensional Examples: Games Half-life 2 Blizzard World of Warcraft Microsoft Flight Simulator X Simulators Flight Safety (FAA flight simulation) Lockheed Martin (DoD Air/Ground/Sea simulators) 3

Illustration: FSX Screen Capture 4

Illustration: Halflife 2 ep2 Screen Capture 5

Illustration: Halflife 2 Screen Capture 6

Graphics API OpenGL Open Graphics Library http://www.opengl.org/ Native Multi OS support Hardware Accelerated GLSL Shader Language Direct 3D Part of the Microsoft Direct X API package http://www.microsoft.com/directx Windows support only (DirectX 10 only on Vista) Hardware Accelerated HLSL Shader Language 7

Pipeline Render Pipeline Slowest Stage determines Rendering Speed (fps) Application Stage Input Control Collision Detection Geometry Stage Model & View Transform Lighting Projection Clipping Screen Mapping Rasterizer Stage Assign Colors to all pixels Anti-Aliasing, Z-buffer,and other filtering 8

Illustration: Graphics Pipeline 9

Illustration: Nvidia G80 10

Illustration: Nvidia G80 11

Illustration: ATI 2900 12

Illustration: Multiple Processor Utilization 13

Multiprocessing Temporal Parallelism Requires Multiple Processing Cores No Hyperthreading Focus: Application Stage APP is the Control Advantages: Implementation (Stages are already divided) Throughput is increased Higher Frame rate Disadvantages: Latency Increases Synchronization Penalty 14

Illustration: SGI Multiprocessing Models 15

Illustration: Threading approaches 16

Illustration: Threading approaches 17

Parallel Processing More complex algorithms Must allow for synchronization Typically Lower Latency Computes work packages in parallel Application Focused 18

Optimization Make it Run FIRST! Know the Architecture Find the Bottleneck (the slow stage) Optimize for Performance Reduce latency Increase Frame Rate Optimize for Quality Make use of stall time 19

Illustration: Balancing the pipeline 50 ms 20 ms 10 ms 0 ms RAST 20 ms GEOM 30 ms APP 30 ms 10 ms RAST 40 ms GEOM balance 40 ms APP 50 ms 0 ms 20

Illustration: Optimization 50 ms 20 ms 10 ms 0 ms RAST 20 ms GEOM 30 ms APP 30 ms 10 ms RAST 40 ms GEOM Optimize Geometry Stage 40 ms APP 50 ms 0 ms 21

OpenGL: Java Implementation Can Java be used for Graphics Rendering? Can Java be used for Real-Time Games? 22

OpenGL: Java Implementation Java is too slow for games programming. Java has memory leaks. Java is too high-level. Java application installation is a nightmare. Java isn't supported on games consoles. No one uses Java to write 'real' games. Sun Microsystems isn't interested in supporting Java gaming. Almost all of these are substantially wrong. 23

OpenGL: Java Implementation JOGL, a Java binding for OpenGL JOAL, a binding for OpenAL (a 3D audio library) JInput, a game devices API 24

OpenGL: JOGL Advantages of Java based OpenGL GLUT use a single-threaded model for event processing java.awt/jogl libraries will spawn multiple threads to handle events Disadvantage: You need to manage your threads to avoid DL https://jogl.dev.java.net/ 25

OpenGL: JOGL Demos - (If a recent Java is installed) https://jogl-demos.dev.java.net/ 26

Future Work Multidirectional Bus Speed Enhanced Multi-Core applications CPU Based GPU Based GPU Shaders and Cube maps 27

Illustration: ATI Crossfire 28

References Akenine-Möller, T. REAL-TIME Rendering, A K Peters. Ltd.,2002 http://www.realtimerendering.com Dawson, B. Coding For Multiple Cores, Microsoft Game Development, http://ati.amd.com/developer/brighton/07%20coding%20for%20multiple%20cores.pdf Huddy, R. ATI Radeon HD 2000 SeriesTechnology http://ati.amd.com/developer/amdtechday/2007/architecture_overview_rh.pdf Hwu, W., Kirk, D. ECE 498 Programming Massively Parallel Processors http://courses.ece.uiuc.edu/ece498/al1/ SGI OpenGL Performer Programmer's Guide http://techpubs.sgi.com/library/manuals/1000/007-1680-100/pdf/007-1680-100.pdf JOGL: A Beginner's Guide and Tutorial http://www.cs.umd.edu/~meesh/kmconroy/jogltutorial/ 29