AMD GPU Tools for games development

Similar documents
Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

GPU Architecture. Michael Doggett ATI

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

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

Performance Optimization and Debug Tools for mobile games with PlayCanvas

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

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

GPU Profiling with AMD CodeXL

Radeon HD 2900 and Geometry Generation. Michael Doggett

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

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

GPGPU Computing. Yong Cao

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

Getting Started with CodeXL

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

DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER

OpenGL Performance Tuning

Computer Graphics Hardware An Overview

L20: GPU Architecture and Models

AMD GPU Architecture. OpenCL Tutorial, PPAM Dominik Behr September 13th, 2009

Developer Tools. Tim Purcell NVIDIA

Optimization for DirectX9 Graphics. Ashu Rege

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

GPU Usage. Requirements

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

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

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August

AMD RenderMonkey IDE Version 1.71

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

Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar

How To Understand The Power Of Unity 3D (Pro) And The Power Behind It (Pro/Pro)

AMD CodeXL 1.7 GA Release Notes

Introduction to GPGPU. Tiziano Diamanti

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

Basics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda

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

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

Beginning Android 4. Games Development. Mario Zechner. Robert Green

Optimizing AAA Games for Mobile Platforms

Catalyst Software Suite Version 9.12 Release Notes

Remote Graphical Visualization of Large Interactive Spatial Data

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

How To Teach Computer Graphics

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

Advanced Graphics and Animations for ios Apps

Dynamic Resolution Rendering

Introduction to Computer Graphics

3D Computer Games History and Technology

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

Workstation Applications for Windows. NVIDIA MAXtreme User s Guide

SAPPHIRE HD GB GDDR5 PCIE.

Gary Frost AMD Java Labs

Parallel Web Programming

Introduction to GPU Programming Languages

6 th Annual EclipseCon Introduction to BIRT Report Development. John Ward

CHAPTER FIVE RESULT ANALYSIS

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

VisIt Visualization Tool

Interactive Level-Set Deformation On the GPU


ATI Catalyst Software Suite Version 10.1 Release Notes

NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA

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

Visualizing Data: Scalable Interactivity

Performance Testing in Virtualized Environments. Emily Apsey Product Engineer

SOFTWARE ENGINEER. For Online (front end) Java, Javascript, Flash For Online (back end) Web frameworks, relational databases, REST/SOAP, Java/Scala

ATI Catalyst Software Suite Version 10.9 Release Notes

Catalyst Software Suite Version 9.3 Release Notes

ATI Catalyst Software Suite Version 10.7 Release Notes

Lecture Notes, CEng 477

Information Server Documentation SIMATIC. Information Server V8.0 Update 1 Information Server Documentation. Introduction 1. Web application basics 2

Tool - 1: Health Center

GPU Point List Generation through Histogram Pyramids

Masters of Science in Software & Information Systems

Color correction in 3D environments Nicholas Blackhawk

AMD Processor Performance. AMD Phenom II Processors Discrete Platform Benchmarks December 2008

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

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Procedural Shaders: A Feature Animation Perspective

Best Practices for Dashboard Design with SAP BusinessObjects Design Studio

Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005

Catalyst Software Suite Version 9.2 Release Notes

Beyond 2D Monitor NVIDIA 3D Stereo

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

Plug-in Software Developer Kit (SDK)

RADEON 9700 SERIES. User s Guide. Copyright 2002, ATI Technologies Inc. All rights reserved.

A Short Introduction to Computer Graphics

3D Stereoscopic Game Development. How to Make Your Game Look

A Hybrid Visualization System for Molecular Models

Guided Performance Analysis with the NVIDIA Visual Profiler

SAPPHIRE TOXIC R9 270X 2GB GDDR5 WITH BOOST

Programming 3D Applications with HTML5 and WebGL

OCIO HIGH RESOLUTION GRAPHICS DESKTOP VIRTUALIZATION POC. Chip Charnley Technical Expert Client Technologies Infrastructure Architecture

Designing a Graphical User Interface

CS 378: Computer Game Technology

Advanced Rendering for Engineering & Styling

Computer Graphics on Mobile Devices VL SS ECTS

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Microsoft Office Small Business 2007

Lecture 1 Introduction to Android

Transcription:

AMD GPU Tools for games development Holger Gruen European Developer Relations AMD Graphics Products Group holger.gruen@amd.com Material for many slides was provided by J. Zarge and S. Sowerby from the AMD graphics Performance Tools - group Develop conference, 24-26 July 2007

Overview AMD CPU Tools a quick reminder CodeAnalyst, APL, ACML, AMD GPU Tools GPU PerfStudio, GPU ShaderAnalyzer Tootle AMD content creation tools GPU Tools demo DX9 case study DX10 demo on DXSDK samples 2 July 27, 2007

CPU Tools 3 July 27, 2007

CPU Tools: Overview AMD CodeAnalyst Performance Profiler Hotspot detection (various sampling methods) Call stack sampling Thread profiling, Pipeline simulation, etc. Plug-in for Microsoft Visual Studio 05 Performance Libraries APL (AMD performance library) ACML (AMD core math library) 4 July 27, 2007

GPU PerfStudio 5 July 27, 2007

GPU PerfStudio: Overview Monitors GPU in real-time API statistics Hardware/driver data of D3D apps Visualize data in real-time in plots in bar charts Client/Server architecture Local or remote apps Remote app launching Override rendering states in real-time 6 July 27, 2007

GPU PerfStudio Features: Hardware Counters % Hardware Utilization % Pixels passed Z-test Primitive counts Pixel vs. vertex bound Still makes sense under DX10 etc. 7 July 27, 2007

GPU PerfStudio Features: API Statistics Per-frame API call data D3D OpenGL Sorting of API call by call count call timing 8 July 27, 2007

GPU PerfStudio Features: Data Plotting Marker lines for API state changes Multiple data series on single plot Plot properties customizable 9 July 27, 2007

GPU PerfStudio Features: Bar Charts Customizable alarm level Minimum and maximum range values Data filtering 10 July 27, 2007

GPU PerfStudio Features: State Overrides 11 July 27, 2007

GPU PerfStudio: Upcoming Features DX10/Vista/HD2000 support ability to analyze cutting edge applications on the newest hardware Render target and non-rt state overrides Especially useful for image-space effects (depth of field, glows, render to texture) Data filters average median, min, max, derivative For gaining additional insight into your data Plot lines for user defined markers Demonstrate the effect of state override on performance data 12 July 27, 2007

GPU PerfStudio: Upcoming Features (cont.) Flexible bar charts Control colors, sizes, alarm, range Flexible table cell formatting Control cell size, color, font Application remembers settings recent sessions, recent server machines, recent apps, etc. Selectable anti-aliasing Fine tune the look and performance of GPU PerfStudio 13 July 27, 2007

GPU ShaderAnalyzer 14 July 27, 2007

GPU ShaderAnalyzer: Feature Overview Shader performance analysis tool Shader tuning environment Instant perf. feedback as you tune your shaders 15 July 27, 2007

GSA Features: Performance Analysis Predicts shader perf. on range of AMD GPUs. Analyzes compiled hardware instruction stream Analysis is tied to specific Catalyst driver releases. Displays estimated cycle count & ALU:Texture ratio Color codes ALU:Tex ratio for shader for ALU bound, Texture bound, Interpolator bound 16 July 27, 2007

GSA Features: Performance Analysis (cont.) Considers static & dynamic flow control. Considers the cost of each side of a branch Calculate the minimum, maximum & average cycles Factors in the expected flow control coherence Currently only average cycles are displayed in GUI but min & max from command line and selectable in new versions Estimates cost of texturing for bi-, tri-linear & aniso Cost based on typical texture fetch cost, not theoretical maximum 17 July 27, 2007

GSA Features: Hardware Disassembly View the actual shader as executed by the hardware Shows the hardware shader optimized by the SC See where your shader performance is going Can also display D3D shader disassembly 18 July 27, 2007

GSA Features: Supported Shader Formats DX9 Pixel\Vertex Shaders SM 1.1 SM 3.0 Assembly Shaders SM 2.0 SM 3.0 HLSL Shaders DX10 Pixel\Vertex\Geometry Shaders GLSL Pixel\Vertex Shaders arb_fp\arb_vp programs 19 July 27, 2007

GSA Features: Other features Options dialog to configure HLSL compiler to use ATI Shader Compiler Version GPUs to analyze performance for Options that control code analysis Command line support performance analysis & hardware disassembly also available from command line as mentioned earlier Analyze a single shader or a directory tree Output analysis to.csv file for further analysis within MS Excel 20 July 27, 2007

Tootle 21 July 27, 2007

Tootle: Overview A Triangle Order Optimization Tool Improves vertex-cache hit rate Reduces overdraw View independent Library to integrate into your tool-chain Simple to use and free 22 July 27, 2007

Tootle: Background Based on I3D 06 paper by Nehab\Barczak\Sander Uses D3DXOptimizeMesh for vtx cache optim. Uses D3D for overdraw measurement Example Scene: 70k polygons, 10 materials Reduced overdraw by factor of two. 3-7% performance increase compared to D3DXOptimizeMesh 23 July 27, 2007

Tootle: Overdraw Reduction 24 July 27, 2007

AMD Content Creation Tools 25 July 27, 2007

AMD Content Creation Tools RenderMonkey Shader development environment Supports HLSL, D3D asm and GLSL The Compressonator Tool for compressing textures Creates mip-map levels DX10 supported CubeMapGen Creates filtered seamless cube maps Uses angular extent filtering NormalMapper Automatic normal map generation tool 26 July 27, 2007

GPU Tools demo: DX9 case study 27 July 27, 2007

Case Study: Settlers 6 (working title) Developer is BlueByte - Development started spring 05 - Will be released this summer Empire building RTS game - Set in a medieval world - Has a focus on city building - Warfare part of the game Single & Multi player modes - Various multi player modes - Story based and free-play maps Complex graphics engine - Highly dynamic world - Lots of foliage The Settlers 2006 Ubisoft Entertainment. All Rights Reserved. The Settlers, Blue Byte and the Blue Byte logo are trademarks of Red Storm Entertainment in the US and/or other countries. Ubisoft and the Ubisoft logo are trademarks of Ubisoft Entertainment in the US and/or other countries. Red Storm Entertainment Inc is a Ubisoft Entertainment company. Developed by Blue Byte Software. 28 July 27, 2007

Why were the tools used? The Tools are not invasive! No changes to your source code No additional risk even late during a project No additional Q&A The tools are free!! Tools would allow most efficient way to Assess impact of rendering techniques for new scene elements Only one scene element covered by this study 29 July 27, 2007

GPU PerfStudio: Rendering flowers - no instancing 30 July 27, 2007

GPU PerfStudio: Rendering flowers - instancing 31 July 27, 2007

GPU PerfStudio: Rendering flowers vertex limited 32 July 27, 2007

An experiment Lot s of pixels are waiting for vertices Reasons are complex scattering computations in vertex program Could pixels be more expensive at certain low resolutions? GSA tells us PS could abide for more ALU on x1900 Especially for Trilinear and Aniso There is a chance we can improve speed Let s move scattering computations from VS to PS This is just an experiment! Won t go into details about the shader changes! 33 July 27, 2007

Reassessing the situation Ratios went up for X1900 It is what we would expect We are now ALU limited Good for future GPUs We are now green even for Aniso Let s check what changed Let s run GPU PerfStudio again 34 July 27, 2007

Let s run GPU PerfStudio again The experiment was a success 35 July 27, 2007

GPU Tools demo: DX10 SDK samples 36 July 27, 2007

GPU PerfStudio on Vista/DX10 37 July 27, 2007

Questions? Holger Gruen European Developer Relations AMD Graphics Products Group holger.gruen@amd.com 38 July 27, 2007