How to Optimize Your Mobile Game with ARM Tools and Practical Examples. Lorenzo Dal Col Product Manager Development Solutions Group

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "How to Optimize Your Mobile Game with ARM Tools and Practical Examples. Lorenzo Dal Col Product Manager Development Solutions Group"

Transcription

1 How to Optimize Your Mobile Game with ARM Tools and Practical Examples Lorenzo Dal Col Product Manager Development Solutions Group 1

2 Agenda 1. Introduction to ARM tools for developers 2. DS-5 Streamline Performance Analyzer Cocos2Dx Case Study 3. Mali Graphics Debugger 4. Introduction to ARM Mali GPU Midgard Architecture 5. Analyse the performance of Epic Citadel GPU profiling with Streamline Find the bottleneck with GPU hardware counters Overdraw and frame analysis Bandwidth Texture compression 6. Q & A 2

3 Resources Enhancing Your Mobile Games ARM Guide to Unity malideveloper.arm.com Video Tutorials youtube.com/user/armflix Tools malideveloper.arm.com/tools 3

4 Importance of Analysis & Debug Mobile Platforms Solution Expectation of amazing console-like graphics and playing experience Screen resolution beyond HD Limited power budget ARM Cortex CPUs and Mali GPUs are designed for low power whilst providing innovative features to keep up performance Software developers can be smart when developing apps Good tools can do the heavy lifting 4

5 Mali GPU Software Tools Performance Analysis, Debug, and Software Development Mali Graphics Debugger API Trace & Debug OpenGL ES, OpenCL Debug and improve performance at frame level ARM DS-5 Streamline Mali GPU - Timeline - HW Counters - OpenCL visualizer Mali Offline Compiler Analyze shader performance Generates binary shaders Command line tool OpenGL ES Emulator Texture Compression Tool Third Party Tools Emulate OpenGL ES 2.0 and 3.0 Windows and Linux Khronos Conformant Command line and GUI ETC, ETC2, ASTC 3D textures Integration with partners tools 5

6 Performance Analysis and Debug with Mali GPUs Debug Mali Graphics Debugger Analyze DS-5 Streamline Optimize Mali Offline Compiler 6

7 ARM DS-5 Streamline Performance Analyzer 7

8 Timeline: Heat Map Identify hotspots and system bottlenecks at a glance Select from CPU/GPU counters OS level and custom data sources Select one or more tasks to isolate their contribution Accumulate counters, measure time and find instant hotspots Combined task switching trace and sample-based profile 8

9 Timeline: Core and Cluster Maps Optimize scheduling and parallelization on multi-core and big.little systems Thread-based core or cluster mapping 9

10 Timeline: Mali GPU Graphics Performance Analysis CPU and GPU fragment and vertex processing activity Mali GPU hardware and OpenGL driver counters, including samples screenshots Process heatmap focused on GPU Fragment activity 10

11 Profiling Reports Analysis of call paths, source code and generated assembly 11

12 12 (A Very Simple) Case Study

13 The Setup Hardware Single-core Cortex-A8 CPU + Mali-400 GPU MP4 Application: Cocos2D TestCpp PerformanceTest PerformanceNodeChildrenTest Test suite by Cocos2d-x team FPS 13

14 Looking for the Bottleneck As expected, CPU is maxed out by the benchmark Simple profiling shows memcpy as hostspot 14

15 Optimizing 52% faster 15

16 16 Mali Graphics Debugger

17 Investigation with the ARM Mali Graphics Debugger Assets View Frame Statistics Frame Outline API Trace Dynamic Help Frame Capture: Framebuffers States Uniforms Vertex Attributes Buffers Textures Shaders 17

18 Mali Graphics Debugger Trace API calls Trace OpenGL ES API calls with arguments, time, process ID, thread ID OpenGL ES 1.1, 2.0, 3.0, 3.1 EGL OpenCL Android Extensions Full trace from the start Automatic check for GL errors Search capabilities 18

19 Mali Graphics Debugger Outline view Quick access to key graphics events Frames Render targets Draw calls Investigate at frame level Find what draw calls have higher geometry impact Jump between the outline view and the trace view seamlessly 19

20 Mali Graphics Debugger Target state Shows the current state of the API at any point of the trace Every time a new API call is selected in the trace the state is updated Useful to debug problems and understand causes for performance issues Discover when and how a certain state was changed 20

21 Mali Graphics Debugger Trace statistics and analysis Statistics High level statistics about the trace Per frame Per draw call Trace Analysis Analyze the trace to find common issues Performance warnings API misusage Highlight API calls causing a problem in the trace view 21

22 Mali Graphics Debugger Uniforms and vertex attributes for each draw call s When a draw call is selected, all the associated data is available Uniforms Show uniform values, including samplers, matrices and arrays Vertex Attributes Show all the vertex attributes, their name and their position This can be useful to debug graphics issues 22

23 Mali Graphics Debugger All the heavy assets are available for debugging, including data buffers and textures. Buffers Client and server side buffers are captured every time they change See how each API call affects them Textures All the textures being uploaded are captured at native resolution Check their size, format and type 23

24 Mali Graphics Debugger Shaders reports and statistics All the shaders being used by the application are reported Shader statistics Each shader is compiled with the Mali Offline Compiler and is statically analyzed to display: number of instructions for each GPU pipeline number of work registers and uniform registers Additionally, for each draw call MGD knows how many times that shader has been executed (i.e. the number of vertices) and overall statistics are calculated 24

25 Mali Graphics Debugger Frame capture and analysis Frames can be fully captured to analyze the effect of each draw call A native resolution snapshot of each framebuffer is captured after every draw call The capture happens on target, so target dependent bugs or precision issues can be investigated All the images can be exported and analyzed separately. 25

26 Mali Graphics Debugger Alternative drawing modes Different drawing modes can be forced and used both for live rendering and frame captures Native mode Frames are rendered with the original shaders Overdraw mode Highlights where overdraw happens (ie. objects are drawn on top of each other) Shader map mode Native shaders are replaced with different solid colors Fragment count mode All the fragments that are processed by each frame are counted 26

27 Mali Graphics Debugger Daemon application for Android OS Android visual application that can be easily installed and runs MGD daemon Start/stop daemon List all the debuggable processes Launch application to debug Display OpenGL ES strings and extensions 27

28 28 ARM Mali GPU Rendering

29 Main Bottlenecks CPU Too many draw calls Complex physics CPU Vertex processing Too many vertices Too much computation per vertex Vertices Textures Uniforms Fragment processing Too many fragments, overdraw Too much computation per fragment Bandwidth Big and uncompressed textures High resolution framebuffer Battery life Energy consumption strongly affects User Experience Vertices Uniforms Vertex Shader Triangles Varyings Memory Textures Uniforms Varyings Fragment Shader Pixels 29

30 ARM Mali GPU Rendering Mali is a tile-based deferred rendering architecture 30

31 ARM Mali GPU Rendering Mali is a tile-based deferred rendering architecture The framebuffer is divided into tiles The GPU renders the framebuffer tile by tile 31

32 ARM Mali GPU Rendering Mali is a tile-based deferred rendering architecture The framebuffer is divided into tiles The GPU renders the framebuffer tile by tile The tile size on Mali is 16x16 pixels, stored in fast, on-chip memory Color Depth Stencil 32

33 Tile-Based Rendering JS1 cycles JS1 jobs and tasks Arithmetic pipe ARM Mali load/store pipe Primitives loaded Primitives dropped Mali Fragment Quads Quads rasterized Quads doing early ZS Quads killed early Z JS0 cycles JS0 jobs and tasks Mali arithmetic pipe Mali load/store pipe Mali texture pipe Mali Core Threads Frag threads doing late ZS Mali Fragment Tasks Tiles rendered Tile writes killed by TE Vertex Shader Polygon List Builder Rasterizer Fragment Shader Z-Test Blend & Resolve Vertices Polygon Lists Textures Framebuffer L2 GPU Cache Memory Mali L2 Cache External write/read beats External bus stalls 33

34 ARM Mali-T860 GPU Tripipe Tripipe Cycles Arithmetic instructions Load & Store instructions Texture instructions Instructions can run in parallel Each one can be a bottleneck There are two arithmetic pipelines so we should aim to increase the arithmetic workload 34

35 Epic Citadel 35

36 CPU Activity User 24% GPU Fragment Activity 99% GPU Vertex Activity 44% 36

37 The Application is GPU Bound The CPU has to wait until the fragment processing has finished 12ms 28ms 12ms While rendering the most complicated scene, the application is capable of 36 fps (29ms/frame) 37

38 CPU Bound CPU Memory Vertex Shader Fragment Shader 38

39 CPU Bound Synchronous Rendering Mali GPU is a deferred architecture Do not force a pipeline flush by reading back data (glreadpixels, glfinish, etc.) Reduce the amount of draw calls Try to combine your draw calls together Offload some of the work to the GPU Move physics from CPU to GPU Deferred Rendering Avoid unnecessary OpenGL ES calls (glgeterror, redundant stage changes, etc.) 39

40 40 GPU Activity Analysis

41 Inspect the Tripipe Counters Reduce the load on the L/S pipeline GPU Cycles 448m Tripipe Cycles 444m Load & Store 408m Texture 197m Arithmetic 105m 41

42 Tripipe Counters Cycles per instruction metrics It s easy to calculate a couple of CPI (cycles per instruction) metrics: For the load/store pipeline we have: 408m (Mali Load/Store Pipe LS instruction issues) / 195m (Mali Load/Store Pipe LS instructions) = 2.09 cycles/instruction 100% 80% 60% 40% Stalls For the texture pipeline we have: 197m (Mali Texture Pipe T instruction issues) / 169m (Mali Texture Pipe T instructions) = 1.16 cycles/instruction 20% 0% Load & Store Pipeline Texture Pipeline Instructions 42

43 Vertex Bound CPU Memory Vertex Shader Fragment Shader 43

44 Vertex Bound Get your artist to remove unnecessary vertices LOD switching Only objects near the camera need to be in high detail Use culling Too many cycles in the vertex shader 44

45 Vertex Count and Shader Optimizations Identify the top heavyweight vertex shaders Vertex Cycles Per Program 13% 19% 35% Program 175 Program 280 Program 187 Others 33% 45

46 Fragment Bound CPU Memory Vertex Shader Fragment Shader 46

47 Fragment Bound Render to a smaller framebuffer Move computation from the fragment to the vertex shader (use HW interpolation) Drawing your objects front to back instead of back to front reduces overdraw Reduce the amount of transparency in the scene 47

48 Overdraw This is when you draw to each pixel on the screen more than once Drawing your objects front to back instead of back to front reduces overdraw The transparent objects must be drawn back to front for a correct ordering Limiting the amount of transparency in the scene can help For OpenGL ES 3.0, avoid modifying the depth buffer from the fragment shader or you will not benefit from the early Z testing, making the front to back sorting useless 48

49 Overdraw Factor We divide the number of output pixels by the number of fragments, each rendered fragment corresponds to one fragment thread and each tile is 16x16 pixels, thus in our case: 90.7m (Mali Core Threads Fragment threads) / 143K (Mali Fragment Tasks Tiles rendered) x 256 = 2.48 threads/pixel 49

50 Frame Capture 50

51 Frame Analysis Check the overdraw factor 1x 8x 3-5x 5-7x 3-5x 2x 51

52 Shader Map and Fragment Count Identify the top heavyweight fragment shaders Fragment Count Per Program ~10m instances / ( ) pixel = % 4% 7% 75% Program 175 Program 280 Program 181 Others 52

53 Shader Optimization Since the arithmetic workload is not very big, we should reduce the number of uniforms and varyings and calculate them on-the-fly Reduce their size Reduce their precision: is highp always necessary? Use the Mali Offline Shader Compiler! 53

54 Bandwidth Bound CPU Memory Vertex Shader Fragment Shader 54

55 Bandwidth When creating embedded graphics applications, bandwidth is a scarce resource A typical embedded device can handle 5.0 Gigabytes a second of bandwidth A typical desktop GPU can do in excess of 100 Gigabytes a second The application is not bandwidth bound as it performs, over a period of one second: (96m (Mali L2 Cache External read beats) m (Mali L2 Cache External write beats)) x 16 ~= 2.9 GB/s Since bandwidth usage is related to energy consumption it s always worth optimizing it 55

56 Bandwidth Bound Vertices Reduce the number of vertices and varyings Interleave vertices, normals, texture coordinates Use Vertex Buffer Objects Fragments Use texture compression Enable texture mipmapping This will also cause a better cache utilization. 56

57 Texture Compression Formats ETC 4bpp RGB no alpha channel ETC2 4bpp Backward compatible RGB also handles alpha & punch through ASTC 0.8bpp to 8bpp Supports RGB, RGB alpha, luminance, luminance alpha, normal maps Also supports HDR Also supports 3D textures 57

58 Textures Analysis in Epic Citadel Mali Graphics Debugger shows size and compression format 2% Texture Weight by Dimension (Uncompressed RGBA) 28% 3% 3% 64% Other 256 x x x x x x 2048 Uncompressed ETC1 ASTC 5x5 944 MB 236 MB 151 MB Total Texture Memory 58

59 Resources Enhancing Your Mobile Games ARM Guide to Unity Video Tutorials flix Tools op-for-mali/tools/ 59

60 To Find Out More. ARM Booth #1624 on Expo Floor Live demos of tools covered in this session In-depth Q&A with ARM engineers More tech talks at the ARM Lecture Theatre Revisit this talk in PDF and video format post GDC Download the tools and resources 60

61 61 Enhancing your Unity mobile game Thurs 4PM; West Hall 3014 Learn how to get the most out of Unity when developing under the unique challenges of mobile platforms.

Performance Optimization and Debug Tools for mobile games with PlayCanvas

Performance Optimization and Debug Tools for mobile games with PlayCanvas Performance Optimization and Debug Tools for mobile games with PlayCanvas Jonathan Kirkham, Senior Software Engineer, ARM Will Eastcott, CEO, PlayCanvas 1 Introduction Jonathan Kirkham, ARM Worked with

More information

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

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August Agenda Introduction The author and ARM Preliminary knowledge Unity Pro, OpenGL ES 3.0 Identify

More information

Optimizing AAA Games for Mobile Platforms

Optimizing AAA Games for Mobile Platforms Optimizing AAA Games for Mobile Platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Epic Games, Unreal Engine 15 years in the industry 30 years of programming C64 demo

More information

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Brains Eden, 28 th June 2013

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Brains Eden, 28 th June 2013 Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Brains Eden, 28 th June 2013 Agenda Introduction The author ARM Ltd. What do you need to have What do you need to know Identify

More information

GPU Architecture. Michael Doggett ATI

GPU Architecture. Michael Doggett ATI GPU Architecture Michael Doggett ATI GPU Architecture RADEON X1800/X1900 Microsoft s XBOX360 Xenos GPU GPU research areas ATI - Driving the Visual Experience Everywhere Products from cell phones to super

More information

ARM Mali GPUs Today and Tomorrow

ARM Mali GPUs Today and Tomorrow ARM Mali GPUs Today and Tomorrow Growing Demand for Graphics 1080p & 2K resolutions 120FPS >150M tablets sold in 2012 **** 12B app downloads in 2012 * Our world is visual Our world is graphical 8K4K resolutions

More information

NVIDIA Parallel Nsight Accelerating GPU Development in BioWare s Dragon Age II. March 2011

NVIDIA Parallel Nsight Accelerating GPU Development in BioWare s Dragon Age II. March 2011 NVIDIA Parallel Nsight Accelerating GPU Development in BioWare s Dragon Age II March 2011 Introductions Jeff Kiel Manager of Graphics Tools NVIDIA Corporation Andreas Papathanasis Lead Graphics Programmer

More information

Unreal Engine 4: Mobile Graphics on ARM CPU and GPU Architecture

Unreal Engine 4: Mobile Graphics on ARM CPU and GPU Architecture Unreal Engine 4: Mobile Graphics on ARM CPU and GPU Architecture Ray Hwang, Segment Marketing Manager, ARM Jack Porter, Engine Development Lead, Epic Games Korea Hessed Choi, Senior Field Applications

More information

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

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005 Recent Advances and Future Trends in Graphics Hardware Michael Doggett Architect November 23, 2005 Overview XBOX360 GPU : Xenos Rendering performance GPU architecture Unified shader Memory Export Texture/Vertex

More information

Midgard GPU Architecture. October 2014

Midgard GPU Architecture. October 2014 Midgard GPU Architecture October 2014 1 The Midgard Architecture HARDWARE EVOLUTION 2 3 Mali GPU Roadmap Mali-T760 High-Level Architecture Distributes tasks to shader cores Efficient mapping of geometry

More information

OpenGL Performance Tuning

OpenGL Performance Tuning OpenGL Performance Tuning Evan Hart ATI Pipeline slides courtesy John Spitzer - NVIDIA Overview What to look for in tuning How it relates to the graphics pipeline Modern areas of interest Vertex Buffer

More information

Development With ARM DS-5. Mervyn Liu FAE Aug. 2015

Development With ARM DS-5. Mervyn Liu FAE Aug. 2015 Development With ARM DS-5 Mervyn Liu FAE Aug. 2015 1 Support for all Stages of Product Development Single IDE, compiler, debug, trace and performance analysis for all stages in the product development

More information

Visualizing gem5 via ARM DS-5 Streamline. Dam Sunwoo (dam.sunwoo@arm.com) ARM R&D December 2012

Visualizing gem5 via ARM DS-5 Streamline. Dam Sunwoo (dam.sunwoo@arm.com) ARM R&D December 2012 Visualizing gem5 via ARM DS-5 Streamline Dam Sunwoo (dam.sunwoo@arm.com) ARM R&D December 2012 1 The Challenge! System-level research and performance analysis becoming ever so complicated! More cores and

More information

Computer Graphics Hardware An Overview

Computer Graphics Hardware An Overview Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and

More information

Unreal Engine 4: Mobile Graphics on ARM CPU and GPU Architecture

Unreal Engine 4: Mobile Graphics on ARM CPU and GPU Architecture Unreal Engine 4: Mobile Graphics on ARM CPU and GPU Architecture Jesse Barker, Principal Software Engineer, ARM Marius Bjørge, Graphics Research Engineer, ARM Niklas Smedis Smedberg, Senior Engine Programmer,

More information

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

Low power GPUs a view from the industry. Edvard Sørgård Low power GPUs a view from the industry Edvard Sørgård 1 ARM in Trondheim Graphics technology design centre From 2006 acquisition of Falanx Microsystems AS Origin of the ARM Mali GPUs Main activities today

More information

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

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011 Graphics Cards and Graphics Processing Units Ben Johnstone Russ Martin November 15, 2011 Contents Graphics Processing Units (GPUs) Graphics Pipeline Architectures 8800-GTX200 Fermi Cayman Performance Analysis

More information

Introduction to the PowerVR Graphics SDK. Paul Sobek Developer Technology Engineer, PowerVR Graphics

Introduction to the PowerVR Graphics SDK. Paul Sobek Developer Technology Engineer, PowerVR Graphics Introduction to the PowerVR Graphics SDK Paul Sobek Developer Technology Engineer, PowerVR Graphics www.powervrinsider.com 3 What is the PowerVR Graphics SDK? What is the PowerVR Graphics SDK? Assists

More information

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control

More information

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

ANDROID DEVELOPER TOOLS TRAINING GTC 2014. Sébastien Dominé, NVIDIA ANDROID DEVELOPER TOOLS TRAINING GTC 2014 Sébastien Dominé, NVIDIA AGENDA NVIDIA Developer Tools Introduction Multi-core CPU tools Graphics Developer Tools Compute Developer Tools NVIDIA Developer Tools

More information

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

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing

More information

GPU Architecture Overview. John Owens UC Davis

GPU Architecture Overview. John Owens UC Davis GPU Architecture Overview John Owens UC Davis The Right-Hand Turn [H&P Figure 1.1] Why? [Architecture Reasons] ILP increasingly difficult to extract from instruction stream Control hardware dominates µprocessors

More information

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

Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions Module 4: Beyond Static Scalar Fields Dynamic Volume Computation and Visualization on the GPU Visualization and Computer Graphics Group University of California, Davis Overview Motivation and applications

More information

Getting Started with CodeXL

Getting Started with CodeXL AMD Developer Tools Team Advanced Micro Devices, Inc. Table of Contents Introduction... 2 Install CodeXL... 2 Validate CodeXL installation... 3 CodeXL help... 5 Run the Teapot Sample project... 5 Basic

More information

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

TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING NVIDIA DEVELOPER TOOLS BUILD. DEBUG. PROFILE. C/C++ IDE INTEGRATION STANDALONE TOOLS HARDWARE SUPPORT CPU AND GPU DEBUGGING & PROFILING

More information

Computer Graphics. Lecture 1:

Computer Graphics. Lecture 1: Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/

More information

Vulkan on NVIDIA GPUs. Piers Daniell, Driver Software Engineer, OpenGL and Vulkan

Vulkan on NVIDIA GPUs. Piers Daniell, Driver Software Engineer, OpenGL and Vulkan Vulkan on NVIDIA GPUs Piers Daniell, Driver Software Engineer, OpenGL and Vulkan Who am I? Piers Daniell @piers_daniell Driver Software Engineer - OpenGL, OpenGL ES, Vulkan NVIDIA Khronos representative

More information

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

DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER RAMA HOETZLEIN, DEVELOPER TECHNOLOGY, NVIDIA Data Visualizations assist humans with data analysis by representing information

More information

Shader Model 3.0, Best Practices. Phil Scott Technical Developer Relations, EMEA

Shader Model 3.0, Best Practices. Phil Scott Technical Developer Relations, EMEA Shader Model 3.0, Best Practices Phil Scott Technical Developer Relations, EMEA Overview Short Pipeline Overview CPU Bound new optimization opportunities Obscure bits of the pipeline that can trip you

More information

Xbox 360 GPU and Radeon HD Michael Doggett Principal Member of Technical Staff Marlborough, Massachusetts October 29, 2007

Xbox 360 GPU and Radeon HD Michael Doggett Principal Member of Technical Staff Marlborough, Massachusetts October 29, 2007 Xbox 360 GPU and Radeon HD 2900 Michael Doggett Principal Member of Technical Staff Marlborough, Massachusetts October 29, 2007 Overview Introduction to 3D Graphics Xbox 360 GPU Radeon 2900 Pipeline Blocks

More information

GPU Profiling with AMD CodeXL

GPU Profiling with AMD CodeXL GPU Profiling with AMD CodeXL Software Profiling Course Hannes Würfel OUTLINE 1. Motivation 2. GPU Recap 3. OpenCL 4. CodeXL Overview 5. CodeXL Internals 6. CodeXL Profiling 7. CodeXL Debugging 8. Sources

More information

Radeon HD 2900 and Geometry Generation. Michael Doggett

Radeon HD 2900 and Geometry Generation. Michael Doggett Radeon HD 2900 and Geometry Generation Michael Doggett September 11, 2007 Overview Introduction to 3D Graphics Radeon 2900 Starting Point Requirements Top level Pipeline Blocks from top to bottom Command

More information

Advanced Graphics and Animations for ios Apps

Advanced Graphics and Animations for ios Apps Tools #WWDC14 Advanced Graphics and Animations for ios Apps Session 419 Axel Wefers ios Software Engineer Michael Ingrassia ios Software Engineer 2014 Apple Inc. All rights reserved. Redistribution or

More information

Intel Graphics Media Accelerator 900

Intel Graphics Media Accelerator 900 Intel Graphics Media Accelerator 900 White Paper September 2004 Document Number: 302624-003 INFOMATION IN THIS DOCUMENT IS POVIDED IN CONNECTION WITH INTEL PODUCTS. NO LICENSE, EXPESS O IMPLIED, BY ESTOPPEL

More information

Dynamic Resolution Rendering

Dynamic Resolution Rendering Dynamic Resolution Rendering Doug Binks Introduction The resolution selection screen has been one of the defining aspects of PC gaming since the birth of games. In this whitepaper and the accompanying

More information

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

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA Graphics Make great images intricate shapes complex optical effects seamless motion Make them fast invent clever techniques

More information

QCD as a Video Game?

QCD as a Video Game? QCD as a Video Game? Sándor D. Katz Eötvös University Budapest in collaboration with Győző Egri, Zoltán Fodor, Christian Hoelbling Dániel Nógrádi, Kálmán Szabó Outline 1. Introduction 2. GPU architecture

More information

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

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University GPU Generations CSE 564: Visualization GPU Programming (First Steps) Klaus Mueller Computer Science Department Stony Brook University For the labs, 4th generation is desirable Graphics Hardware Pipeline

More information

GPGPU Computing. Yong Cao

GPGPU Computing. Yong Cao GPGPU Computing Yong Cao Why Graphics Card? It s powerful! A quiet trend Copyright 2009 by Yong Cao Why Graphics Card? It s powerful! Processor Processing Units FLOPs per Unit Clock Speed Processing Power

More information

Multiprocessor Graphic Rendering Kerey Howard

Multiprocessor Graphic Rendering Kerey Howard 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

More information

L20: GPU Architecture and Models

L20: GPU Architecture and Models L20: GPU Architecture and Models scribe(s): Abdul Khalifa 20.1 Overview GPUs (Graphics Processing Units) are large parallel structure of processing cores capable of rendering graphics efficiently on displays.

More information

Developer Tools. Tim Purcell NVIDIA

Developer Tools. Tim Purcell NVIDIA Developer Tools Tim Purcell NVIDIA Programming Soap Box Successful programming systems require at least three tools High level language compiler Cg, HLSL, GLSL, RTSL, Brook Debugger Profiler Debugging

More information

OpenSL ES & OpenMAX Multimedia APIs

OpenSL ES & OpenMAX Multimedia APIs Copyright Khronos Group, 2011 - Page 1 OpenSL ES & OpenMAX Multimedia APIs Erik Noreke Chair of OpenSL ES Working Group Chair of OpenMAX AL Working Group Copyright Khronos Group, 2011 - Page 4 Why Create

More information

CS445 Exam 2 Solutions

CS445 Exam 2 Solutions November 20, 2014 Name CS445 Exam 2 Solutions Fall 2014 1. (max = 15) 5. (max = 21) 2. (max = 8) 6. (max = 16) 3. (max = 10) 7. (max = 16) 4. (max = 14) Final Score: (max=100) Please try to write legibly.

More information

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

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis Toby.Howard@manchester.ac.uk 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system

More information

NVIDIA GeForce GTX 580 GPU Datasheet

NVIDIA GeForce GTX 580 GPU Datasheet NVIDIA GeForce GTX 580 GPU Datasheet NVIDIA GeForce GTX 580 GPU Datasheet 3D Graphics Full Microsoft DirectX 11 Shader Model 5.0 support: o NVIDIA PolyMorph Engine with distributed HW tessellation engines

More information

Optimizing Application Performance with CUDA Profiling Tools

Optimizing Application Performance with CUDA Profiling Tools Optimizing Application Performance with CUDA Profiling Tools Why Profile? Application Code GPU Compute-Intensive Functions Rest of Sequential CPU Code CPU 100 s of cores 10,000 s of threads Great memory

More information

Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS

Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS Peter Rautek Rückblick Motivation Vorbesprechung Spiel VL Framework Ablauf Android Basics Android Specifics Activity, Layouts, Service, Intent, Permission,

More information

Eliminating Redundant Fragment Shader Executions on a Mobile GPU via Hardware Memoization

Eliminating Redundant Fragment Shader Executions on a Mobile GPU via Hardware Memoization Eliminating Redundant Fragment Shader Executions on a Mobile GPU via Hardware Memoization Jose-Maria Arnau * Joan-Manuel Parcerisa * Polychronis Xekalakis * Universitat Politecnica de Catalunya Intel Corporation

More information

CSE 167: Lecture #18: Deferred Rendering. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Lecture #18: Deferred Rendering. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Lecture #18: Deferred Rendering Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Thursday, Dec 13: Final project presentations

More information

Web Based 3D Visualization for COMSOL Multiphysics

Web Based 3D Visualization for COMSOL Multiphysics Web Based 3D Visualization for COMSOL Multiphysics M. Jüttner* 1, S. Grabmaier 1, W. M. Rucker 1 1 University of Stuttgart Institute for Theory of Electrical Engineering *Corresponding author: Pfaffenwaldring

More information

Tips for Performance. Running PTC Creo Elements Pro 5.0 (Pro/ENGINEER Wildfire 5.0) on HP Z and Mobile Workstations

Tips for Performance. Running PTC Creo Elements Pro 5.0 (Pro/ENGINEER Wildfire 5.0) on HP Z and Mobile Workstations System Memory - size and layout Optimum performance is only possible when application data resides in system RAM. Waiting on slower disk I/O page file adversely impacts system and application performance.

More information

GigaVoxels Ray-Guided Streaming for Efficient and Detailed Voxel Rendering. Presented by: Jordan Robinson Daniel Joerimann

GigaVoxels Ray-Guided Streaming for Efficient and Detailed Voxel Rendering. Presented by: Jordan Robinson Daniel Joerimann GigaVoxels Ray-Guided Streaming for Efficient and Detailed Voxel Rendering Presented by: Jordan Robinson Daniel Joerimann Outline Motivation GPU Architecture / Pipeline Previous work Support structure

More information

Crosswalk: build world class hybrid mobile apps

Crosswalk: build world class hybrid mobile apps Crosswalk: build world class hybrid mobile apps Ningxin Hu Intel Today s Hybrid Mobile Apps Application HTML CSS JS Extensions WebView of Operating System (Tizen, Android, etc.,) 2 State of Art HTML5 performance

More information

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,

More information

Advanced Rendering for Engineering & Styling

Advanced Rendering for Engineering & Styling Advanced Rendering for Engineering & Styling Prof. B.Brüderlin Brüderlin,, M Heyer 3Dinteractive GmbH & TU-Ilmenau, Germany SGI VizDays 2005, Rüsselsheim Demands in Engineering & Styling Engineering: :

More information

Profiling and Debugging Tools for High-performance Android Applications. Stephen Jones, Product Line Manager, NVIDIA (sjones@nvidia.

Profiling and Debugging Tools for High-performance Android Applications. Stephen Jones, Product Line Manager, NVIDIA (sjones@nvidia. Profiling and Debugging Tools for High-performance Android Applications Stephen Jones, Product Line Manager, NVIDIA (sjones@nvidia.com) Android By The Numbers 1.3M Android activations per day Android activations

More information

Development of a 3-D Multiplayer Racing Game

Development of a 3-D Multiplayer Racing Game Development of a 3-D Multiplayer Racing Game JOGL, JOAL and Java.NIO for Game Development Evangelos Pournaras University of Surrey 1041 AGENDA 2 > JautOGL Racing Game > Supported Functions > Architecture

More information

Introduction to GPU Programming Languages

Introduction to GPU Programming Languages CSC 391/691: GPU Programming Fall 2011 Introduction to GPU Programming Languages Copyright 2011 Samuel S. Cho http://www.umiacs.umd.edu/ research/gpu/facilities.html Maryland CPU/GPU Cluster Infrastructure

More information

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

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series By: Binesh Tuladhar Clay Smith Overview History of GPU s GPU Definition Classical Graphics Pipeline Geforce 6 Series Architecture Vertex

More information

Programming Graphics Hardware. Randy Fernando, Cyril Zeller

Programming Graphics Hardware. Randy Fernando, Cyril Zeller Randy Fernando, Cyril Zeller Overview of the Tutorial 10:45 Introduction to the Hardware Graphics Pipeline Cyril Zeller 12:00 Lunch 14:00 High-Level Shading Languages Randy Fernando 15:15 break 15:45 GPU

More information

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

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Technical Specifications J3G90AA INTRODUCTION The NVIDIA Quadro K5200 gives you amazing application performance and capability, making it faster and easier to accelerate 3D models, render complex scenes, and simulate large datasets.

More information

High Performance or Cycle Accuracy?

High Performance or Cycle Accuracy? CHIP DESIGN High Performance or Cycle Accuracy? You can have both! Bill Neifert, Carbon Design Systems Rob Kaye, ARM ATC-100 AGENDA Modelling 101 & Programmer s View (PV) Models Cycle Accurate Models Bringing

More information

Vulkan Launch Briefing February 2016 Neil Trevett Khronos President NVIDIA Vice President Developer Ecosystem

Vulkan Launch Briefing February 2016 Neil Trevett Khronos President NVIDIA Vice President Developer Ecosystem Vulkan Launch Briefing February 2016 Neil Trevett Khronos President NVIDIA Vice President Developer Ecosystem ntrevett@nvidia.com @neilt3d Copyright Khronos Group 2016 - Page 1 BOARD OF PROMOTERS Over

More information

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

Radeon GPU Architecture and the Radeon 4800 series. Michael Doggett Graphics Architecture Group June 27, 2008 Radeon GPU Architecture and the series Michael Doggett Graphics Architecture Group June 27, 2008 Graphics Processing Units Introduction GPU research 2 GPU Evolution GPU started as a triangle rasterizer

More information

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association Making Multicore Work and Measuring its Benefits Markus Levy, president EEMBC and Multicore Association Agenda Why Multicore? Standards and issues in the multicore community What is Multicore Association?

More information

From the Dark Side of the Moon. GPU Programming with BGFX and Eclipse. Tony McCrary, l33t labs

From the Dark Side of the Moon. GPU Programming with BGFX and Eclipse. Tony McCrary, l33t labs From the Dark Side of the Moon GPU Programming with BGFX and Eclipse Tony McCrary, l33t labs What is BGFX? Open source C/C++ GPU rendering library Developed by Branimir Karadzic Provides a way to render

More information

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

Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar Game Development in Android Disgruntled Rats LLC Sean Godinez Brian Morgan Michael Boldischar Overview Introduction Android Tools Game Development OpenGL ES Marketing Summary Questions Introduction Disgruntled

More information

Introduction to the Direct3D 11 Graphics Pipeline

Introduction to the Direct3D 11 Graphics Pipeline Introduction to the Direct3D 11 Graphics Pipeline Kevin Gee - XNA Developer Connection Microsoft Corporation 2008 NVIDIA Corporation. Key Takeaways Direct3D 11 focuses on Increasing scalability, Improving

More information

big.little Technology Moves Towards Fully Heterogeneous Global Task Scheduling Improving Energy Efficiency and Performance in Mobile Devices

big.little Technology Moves Towards Fully Heterogeneous Global Task Scheduling Improving Energy Efficiency and Performance in Mobile Devices big.little Technology Moves Towards Fully Heterogeneous Global Task Scheduling Improving Energy Efficiency and Performance in Mobile Devices Brian Jeff November, 2013 Abstract ARM big.little processing

More information

The Future Of Animation Is Games

The Future Of Animation Is Games The Future Of Animation Is Games 王 銓 彰 Next Media Animation, Media Lab, Director cwang@1-apple.com.tw The Graphics Hardware Revolution ( 繪 圖 硬 體 革 命 ) : GPU-based Graphics Hardware Multi-core (20 Cores

More information

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

CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014 CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014 Introduction Cloud ification < 2013 2014+ Music, Movies, Books Games GPU Flops GPUs vs. Consoles 10,000

More information

Consumer vs Professional How to Select the Best Graphics Card For Your Workflow

Consumer vs Professional How to Select the Best Graphics Card For Your Workflow Consumer vs Professional How to Select the Best Graphics Card For Your Workflow Allen Bourgoyne Director, ISV Alliances, AMD Professional Graphics Learning Objectives At the end of this class, you will

More information

Xbox 360 System Architecture. Jeff Andrews Nick Baker Xbox Semiconductor Technology Group

Xbox 360 System Architecture. Jeff Andrews Nick Baker Xbox Semiconductor Technology Group Xbox 360 System Architecture Jeff Andrews Nick Baker Xbox Semiconductor Technology Group Hot Chips Presentation Hardware Specs Architectural Choices Programming Environment QA Hot Chips 17 2 Overview Design

More information

Automated Performance Testing of Desktop Applications

Automated Performance Testing of Desktop Applications By Ostap Elyashevskyy Automated Performance Testing of Desktop Applications Introduction For the most part, performance testing is associated with Web applications. This area is more or less covered by

More information

BRINGING UNREAL ENGINE 4 TO OPENGL Nick Penwarden Epic Games Mathias Schott, Evan Hart NVIDIA

BRINGING UNREAL ENGINE 4 TO OPENGL Nick Penwarden Epic Games Mathias Schott, Evan Hart NVIDIA BRINGING UNREAL ENGINE 4 TO OPENGL Nick Penwarden Epic Games Mathias Schott, Evan Hart NVIDIA March 20, 2014 About Us Nick Penwarden Lead Graphics Programmer Epic Games @nickpwd on Twitter Mathias Schott

More information

Interactive Information Visualization using Graphics Hardware Študentská vedecká konferencia 2006

Interactive Information Visualization using Graphics Hardware Študentská vedecká konferencia 2006 FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITY KOMENSKHO V BRATISLAVE Katedra aplikovanej informatiky Interactive Information Visualization using Graphics Hardware Študentská vedecká konferencia 2006

More information

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

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Overview. NVIDIA Quadro K5200 8GB Graphics J3G90AA Overview J3G90AA INTRODUCTION The NVIDIA Quadro K5200 gives you amazing application performance and capability, making it faster and easier to accelerate 3D models, render complex scenes, and simulate

More information

User Manual Any company, product or service names found in this document may be the trademarks or registered trademarks of their respective companies.

User Manual Any company, product or service names found in this document may be the trademarks or registered trademarks of their respective companies. User Manual Any company, product or service names found in this document may be the trademarks or registered trademarks of their respective companies. About Action! Action! - Record everything Thank you

More information

Application. EDIUS and Intel s Sandy Bridge Technology

Application. EDIUS and Intel s Sandy Bridge Technology Application Note How to Turbo charge your workflow with Intel s Sandy Bridge processors and chipsets Alex Kataoka, Product Manager, Editing, Servers & Storage (ESS) August 2011 Would you like to cut the

More information

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

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1 Welcome to GUI! Mechanics 26/02/2014 1 Requirements Info If you don t know C++, you CAN take this class additional time investment required early on GUI Java to C++ transition tutorial on course website

More information

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

Real-Time Realistic Rendering. Michael Doggett Docent Department of Computer Science Lund university Real-Time Realistic Rendering Michael Doggett Docent Department of Computer Science Lund university 30-5-2011 Visually realistic goal force[d] us to completely rethink the entire rendering process. Cook

More information

CSE 167: Lecture #3: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Lecture #3: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 CSE 167: Introduction to Computer Graphics Lecture #3: Projection Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Project 1 due Friday September 30 th, presentation

More information

OpenGL Insights. Edited by. Patrick Cozzi and Christophe Riccio

OpenGL Insights. Edited by. Patrick Cozzi and Christophe Riccio OpenGL Insights Edited by Patrick Cozzi and Christophe Riccio Browser Graphics Analysis and Optimizations 36 Chris Dirks and Omar A. Rodriguez 36.1 Introduction Understanding performance bottlenecks in

More information

Empowering Developers to Estimate App Energy Consumption. Radhika Mittal, UC Berkeley Aman Kansal & Ranveer Chandra, Microsoft Research

Empowering Developers to Estimate App Energy Consumption. Radhika Mittal, UC Berkeley Aman Kansal & Ranveer Chandra, Microsoft Research Empowering Developers to Estimate App Energy Consumption Radhika Mittal, UC Berkeley Aman Kansal & Ranveer Chandra, Microsoft Research Phone s battery life is critical performance and user experience metric

More information

Android. Lecture 1. Learning Android Marko Gargenta. Tuesday, February 26, 13

Android. Lecture 1. Learning Android Marko Gargenta. Tuesday, February 26, 13 Android Lecture 1 Learning Android Marko Gargenta Final Project Jan/Feb: ARM March: Android Apr: Final project Complexity Sense the world Analysis Service delivery Hands-on A fun project built-up through

More information

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

Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH Equalizer Parallel OpenGL Application Framework Stefan Eilemann, Eyescale Software GmbH Outline Overview High-Performance Visualization Equalizer Competitive Environment Equalizer Features Scalability

More information

Introduction to Computer Graphics 8. Buffers and Mapping techniques (A)

Introduction to Computer Graphics 8. Buffers and Mapping techniques (A) Introduction to Computer Graphics 8. Buffers and Mapping techniques (A) National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Textbook: Hearn and Baker, Computer Graphics, 3rd Ed., Prentice

More information

Finding Performance and Power Issues on Android Systems. By Eric W Moore

Finding Performance and Power Issues on Android Systems. By Eric W Moore Finding Performance and Power Issues on Android Systems By Eric W Moore Agenda Performance & Power Tuning on Android & Features Needed/Wanted in a tool Some Performance Tools Getting a Device that Supports

More information

Parallel Web Programming

Parallel Web Programming Parallel Web Programming Tobias Groß, Björn Meier Hardware/Software Co-Design, University of Erlangen-Nuremberg May 23, 2013 Outline WebGL OpenGL Rendering Pipeline Shader WebCL Motivation Development

More information

Technical Brief. Fast Texture Downloads and Readbacks using Pixel Buffer Objects in OpenGL. August 2005 TB-02011-001_v01

Technical Brief. Fast Texture Downloads and Readbacks using Pixel Buffer Objects in OpenGL. August 2005 TB-02011-001_v01 Technical Brief Fast Texture Downloads and Readbacks using Pixel Buffer Objects in OpenGL August 2005 TB-02011-001_v01 Document Change History Version Date Responsible Reason for Change 01 00/00/00 Initial

More information

Introduction to GPGPU. Tiziano Diamanti t.diamanti@cineca.it

Introduction to GPGPU. Tiziano Diamanti t.diamanti@cineca.it t.diamanti@cineca.it Agenda From GPUs to GPGPUs GPGPU architecture CUDA programming model Perspective projection Vectors that connect the vanishing point to every point of the 3D model will intersecate

More information

Graphics Processing Unit (GPU) Memory Hierarchy. Presented by Vu Dinh and Donald MacIntyre

Graphics Processing Unit (GPU) Memory Hierarchy. Presented by Vu Dinh and Donald MacIntyre Graphics Processing Unit (GPU) Memory Hierarchy Presented by Vu Dinh and Donald MacIntyre 1 Agenda Introduction to Graphics Processing CPU Memory Hierarchy GPU Memory Hierarchy GPU Architecture Comparison

More information

Intel Media Server Studio - Metrics Monitor (v1.1.0) Reference Manual

Intel Media Server Studio - Metrics Monitor (v1.1.0) Reference Manual Intel Media Server Studio - Metrics Monitor (v1.1.0) Reference Manual Overview Metrics Monitor is part of Intel Media Server Studio 2015 for Linux Server. Metrics Monitor is a user space shared library

More information

Challenge. Solution Native Desktop and Mobile apps across ios, Android, OSX, Windows and Web integrated with Vidyo SDKs and Vidyo API.

Challenge. Solution Native Desktop and Mobile apps across ios, Android, OSX, Windows and Web integrated with Vidyo SDKs and Vidyo API. Vidyo SDK and API Integration A Case Study on Multi Platform App Development by Rawzor Technologies, India. Challenge Enable advanced call flow management features on top of Vidyo s Video Conferencing

More information

Programming 3D Applications with HTML5 and WebGL

Programming 3D Applications with HTML5 and WebGL Programming 3D Applications with HTML5 and WebGL Tony Parisi Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface ix Part I. Foundations 1. Introduction 3 HTML5: A New Visual Medium

More information

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

AMD GPU Architecture. OpenCL Tutorial, PPAM 2009. Dominik Behr September 13th, 2009 AMD GPU Architecture OpenCL Tutorial, PPAM 2009 Dominik Behr September 13th, 2009 Overview AMD GPU architecture How OpenCL maps on GPU and CPU How to optimize for AMD GPUs and CPUs in OpenCL 2 AMD GPU

More information

Embedded Development Tools

Embedded Development Tools Embedded Development Tools Software Development Tools by ARM ARM tools enable developers to get the best from their ARM technology-based systems. Whether implementing an ARM processor-based SoC, writing

More information

QNX Software Development Platform 6.6. Screen Graphics Subsystem Developer's Guide

QNX Software Development Platform 6.6. Screen Graphics Subsystem Developer's Guide QNX Software Development Platform 6.6 QNX Software Development Platform 6.6 Screen Graphics Subsystem Developer's Guide 2010 2014, QNX Software Systems Limited, a subsidiary of BlackBerry Limited. All

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics

More information