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

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

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

Transcription

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

2 Who am I? Piers Driver Software Engineer - OpenGL, OpenGL ES, Vulkan NVIDIA Khronos representative since 2010 OpenGL, OpenGL ES and Vulkan Author of several extensions and core features Technical lead for OpenGL driver updates 4.1 through 4.5 Technical lead for OpenGL ES 1.1 through ES 3.1+AEP on desktop Technical lead for Vulkan driver 11+ years with NVIDIA 2

3 Agenda Vulkan Primer Vulkan on NVIDIA GPUs 3

4 Vulkan Primer 4

5 What is Vulkan? What developers have been asking for Reduce CPU overhead Scale well with multiple threads Precompiled shaders Predictable no hitching Clean, modern and consistent API no cruft Native tiling and mobile GPU support 5

6 Why is Vulkan important? The only cross-platform next-generation 3D API Vulkan is the only cross-platform next generation API DX12 Windows 10 only Metal Apple only Vulkan can run (almost) anywhere Windows - XP, Vista, 7, 8, 8.1 and 10 Linux SteamOS Android (as determined by supplier)? 6

7 Who s behind Vulkan? Hardware vendors * not a complete list! 7

8 Who s behind Vulkan? Software vendors * not a complete list! 8

9 Vulkan for all GPUs Low-power mobile through high-performance desktop Vulkan is one API for all GPUs Vulkan supports optional fine-grained features and extensions Platforms may define feature sets of their choosing Supports multiple vendors and hardware From ES 3.1 level hardware to GL 4.5 and beyond Tile-based [deferred] hardware - Mobile Feed-forward rasterizing hadware - Desktop 9

10 Vulkan release When can we get it? Khronos goal by the end of 2015 This discussion on the API is high-level Details may change before release! 10

11 Vulkan conformance Ensuring consistent behavior across all implementations Conformance tests under development by Khronos Includes large contributions from several member companies Goal to release full conformance suite with Vulkan 1.0 release Implementation must pass conformance to claim Vulkan support 11

12 Hello Triangle Quick tour of the API Launch driver and create display Set up resources Set up the 3D pipe Shaders State Record commands Submit commands 12

13 Goals: cross-platform, extensible Vulkan Loader Part of the Vulkan ecosystem Khronos provided open-source loader Finds driver and dispatches API calls Supports injectable layers Validation, debug, tracing, capture, etc. Trace/Capture Vulkan application Validation layer Vulkan loader Debug layer Vulkan driver Debugger 13

14 LunarG GLAVE debugger And other tools LunarG and Valve working to create open-source Vulkan tools Vulkan will ship with an SDK More info and a video of GLAVE in action: 14

15 Vulkan Window System Integration WSI for short Goals: cross-platform Khronos defined Vulkan extensions Creates presentation surfaces for window or display Acquires presentable images Application renders to presentable image and enqueues the presentation Supported across wide variety of windowing systems Wayland, X, Windows, etc. 15

16 Hello Triangle Quick tour of the API Launch driver and create display Set up resources Set up the 3D pipe Shaders State Record commands Submit commands 16

17 Goals: explicit API, predictable performance Low-level memory control Console-like access to memory Vulkan exposes several physical memory pools device memory, host visible, etc. Application binds buffer and image virtual memory to physical memory Application is responsible for sub-allocation Physical pages Meets implementation alignment requirements Bound objects 2 objects of compatible types aliasing memory Has GPU virtual address 17

18 Sparse memory More control over memory usage Goals: explicit API Not all virtual memory has to be backed Several feature levels of sparse memory supported ARB_sparse_texture, EXT_sparse_texture2, etc. Physical pages Bound object Defined behavior if GPU accesses here 18

19 Goals: explicit API, predictable performance Resource management Populating buffers and images Vulkan allows some resources to live in CPU-visible memory Some resources can only live in high-bandwidth device-only memory Like specially formatted images for optimal access Data must be copied between buffers Copy can take place in 3D queue or DMA/copy queue Copies can be done asynchronously with other operations Streaming resources without hitching 19

20 Goals: explicit API Populating vidmem Using staging buffers Allocate CPU-visible staging buffers These can be reused Get a pointer with vkmapmemory Memory can remain mapped while in use Copy from staging buffer to device memory Copy command is queued and runs async App image data memcpy to pointer returned by vkmapmemory CPU-visible buffer vkcmdcopybuffertoimage Device only memory Use vkfence for application to know when xfer is done Use vksemaphore for dependencies between command buffers 20

21 Descriptor sets Binding resources to shaders Goals: explicit API Shader resources declared with binding slot number layout(set = 1, binding = 3) uniform image2d myimage; layout(set = 1, binding = 4) uniform sampler mysampler; Descriptor sets allocated from a descriptor pool Descriptor sets updated at any time when not in use Binds buffer, image and sampler resources to slots Descriptor set bound to command buffer for use Activates the descriptor set for use by the next draw 21

22 Multiple descriptor sets Partitioning resources by frequency of update Application can modify just the set of resources that are changing Keep amount of resource binding changes as small as possible Shader code layout(set=0,binding=0) uniform {... } scenedata; layout(set=1,binding=0) uniform {... } modeldata; layout(set=2,binding=0) uniform {... } drawdata; void main() { } Application code foreach (scene) { vkcmdbinddescriptorset(0, 3, {sceneresources,modelresources,drawresources}); foreach (model) { vkcmdbinddescriptorset(1, 2, {modelresources,drawresources}); foreach (draw) { vkcmdbinddescriptorset(2, 1, {drawresources}); vkdraw(); } } } 22

23 Hello Triangle Quick tour of the API Launch driver and create display Set up resources Set up the 3D pipe Shaders State Record commands Submit commands 23

24 SPIR-V Intermediate shader representation Goals: cross-platform implementation consistency Portable binary representation of shaders and compute kernels Can support a wide variety of high-level languages including GLSL Provides consistent front-end and semantics Offline compile can save some runtime compile steps The only shader representation accepted by Vulkan High-level shaders must be compiled to SPIR-V 24

25 SPIR-V For your content pipeline Khronos supported open-source GLSL->SPIR-V compiler - glslang ISVs can easily incorporate into their content pipeline And use their own high-level language SPIR-V provisional specs already published Start preparing your content pipeline today! 25

26 Vulkan shader object Compiling the SPIR-V SPIR-V passed into the driver Driver can compile everything except things that depend on pipeline state Shader object can contain an uber-shader with multiple entry points Specific entry point used for pipeline instance Reuse shader object with multiple pipeline state objects 26

27 Pipeline state object Say goodbye to draw-time validation Goals: explicit API, predictable performance Represents all static state for entire 3D pipeline Shaders, vertex input, rasterization, color blend, depth stencil, etc. Created outside of the performance critical paths Complete set of state for validation and final GPU shader instructions All state-based compilation done here not at draw time Can be cached for reuse Even across application instantiations 27

28 Pipeline cache Reusing previous work Application can allocate and manage pipeline cache objects Pipeline cache objects used with pipeline creation If the pipeline state already exists in the cache it is reused Application can save cache to disk for reuse on next run Using the Vulkan device UUID can even stash in the cloud 28

29 Pipeline layout Using compatible pipelines Pipeline layout defines what kind of resource is in each binding slot Images, Samplers, Buffers (UBO, SSBO) Different pipeline state objects can use the same layout Which means shaders need to use the same layout Changing between compatible pipelines avoids having to rebind all descriptions Or use lots of different descriptor sets 29

30 Dynamic state State that can change easily Dynamic state changes don t affect the pipeline state Does not cause shader recompilation Viewport, scissor, color blend constants, polygon offset, stencil masks and refs All other state has the potential to cause a shader recompile on some hardware So it belongs in the pipeline state object with the shaders 30

31 Hello Triangle Quick tour of the API Launch driver and create display Set up resources Set up the 3D pipe Shaders State Record commands Submit commands 31

32 Renderpass Units of work for tiler-friendly rendering Goals: tiler-friendly API Application defines how framebuffer cache is populated at start Loaded from real framebuffer, cleared or ignored Application defines how framebuffer cache is flushed at the end Stored back to real framebuffer, multi-sample resolved or discarded Application can chain multiple render-passes together Execute all passes and eliminate framebuffer bandwidth between each pass Example: gbuffer creation, light accumulation, final shading and post-process all without framebuffer traffic between steps 32

33 Command buffers and pools A place for the GPU commands A command buffer is an opaque container of GPU commands Command buffers are submitted to a queue for the GPU to schedule execution Commands are adding when the command buffer is recorded Memory for the command buffer is allocated from the command pool Multiple command buffers can allocate from a command pool 33

34 Commands and command buffers Building a command buffer Goals: multi-cpu scalable Start a render pass Bind all the resources Descriptor set(s) Vertex and Index buffers Pipeline state Repeat: change any state and draw Modify dynamic state Draw End render pass 34

35 Command buffer performance Command buffer recording needs to scale well Goals: multi-cpu scalable Recording command buffers is the most performance critical part But we have no idea how big command buffer will end up Can record multiple command buffers simultaneously from multiple threads Command pools ensure there is no lock contention True parallelism provides multi-core scalability Command buffer can be reused, re-recorded or recycled after use Reuse previous allocations by the command pool 35

36 Multi-threading Maximizing parallel multi-cpu execution Goals: multi-cpu scalable Vulkan is designed so all performance critical functions don t take locks Application is responsible for avoiding hazards Use different command buffer pools to allow multi-cpu command buffer recording Use different descriptor pools to allow multi-cpu descriptor set allocations Most resource creation functions take locks But these are not on the performance path 36

37 Compute For all your general-purpose computational needs Uses a special compute pipeline Uses the same descriptor set mechanism as 3D And has access to all the same resources Can be dispatched interleaved with render-passes Or to own queue to execute in parallel 37

38 Resource hazards Application managed Goals: explicit API, predictable performance Resource use from different parts of the GPU may have read/write dependencies For example, will writes to framebuffer be seen later by image sampling Application uses explicit barriers to resolve dependencies GPU may flush/invalidate caches so latest data is written/seen Platform needs vary substantially Application expresses all resource dependencies for full cross-platform support Application also manages resource lifetime Can t destroy a resource until all uses of it have completed 38

39 Avoiding hazards An example sampling from modified image Goals: explicit API Update an image with shader imagestore() calls vkbindpipeline(cmd, pipelineusesimagestore); vkdraw(cmd); Flush imagestore() cache and invalidate image sampling cache vkpipelinebarrier(cmd, image, SHADER_WRITE, SHADER_READ); Can now sample from the updated image vkbindpipeline(cmd, pipelinesamplesfromimage); vkdraw(cmd); 39

40 Hello Triangle Quick tour of the API Launch driver and create display Set up resources Set up the 3D pipe Shaders State Record commands Submit commands 40

41 Queue submission Scheduling the commands in the GPU Goals: explicit API Implementation can expose multiple queues 3D, compute, DMA/copy or universal Queue submission should be cheap Queue execution is asynchronous App uses vkfence to know when work is done App can use vksemaphore to synchronize dependencies between command buffers 41

42 Presentation Using the WSI extension Time Goals: explicit API The final presentable image is queued for presentation Presentation happens asynchronously After present is queued application picks up next available image to render to Present Next Render Present Next Time Image0 Image1 Image1 Image0 Display Image0 displayed, image1 ready for reuse 42

43 GFXBench 5.0 Early alpha content for Vulkan Developed by Kishonti maker of GFXBench Entirely new engine aimed at benchmarking low-level graphics APIs Vulkan, DX12, Metal Concept is a night outdoor scene with aliens Still in alpha for Vulkan, but shows the most important concepts 43

44 Demo: GFXbench 5 alpha Running on Windows 10 44

45 Vulkan on NVIDIA GPUs 45

46 Why is it important to NVIDIA? It s open API is designed to be extensible We can easily expose new GPU features No single vendor or platform owner controls the API Scales from low-power mobile to high-performance desktop Can be used on any platform It s fast! 46

47 What about OpenGL? OpenGL is also very important to NVIDIA OpenGL and OpenGL ES will remain vital Together have largest 3D API market share Applications games, design, medical, science, education, film-production, etc. OpenGL improvements since last year Maxwell extensions (15 of them!) EXT_post_depth_coverage, EXT_raster_multisample, EXT_sparse_texture2, EXT_texture_filter_minmax, NV_conservative_raster, NV_fill_rectangle, NV_fragment_shader_interlock, etc. NV_command_list, OpenGL ES Android Extension Pack, bindless UBO, etc. Even more improvements? Come to the Khronos BOF to find out! 47

48 OpenGL vs Vulkan Solving 3D in different ways OpenGL higher-level API, easier to teach and prototype in Many things handled automatically OpenGL can be used efficiently and obtain great single-threaded performance Use multi-draw, bindless, persistently mapped buffers, PBO, etc. Vulkan s ace is its ability to scale across multiple CPU threads Can be used with almost no lock contention on the performance critical path OpenGL does not have this (yet?) 48

49 Vulkan on NVIDIA GPUs Fully featured Vulkan is one API for all GPUs Vulkan API supports optional features and extensions Supports multiple vendors and hardware From ES 3.1 level hardware to GL 4.5 and beyond NVIDIA implementation fully featured From Tegra K1 through GeForce GTX TITAN X Write once run everywhere 49

50 Vulkan GPU support ARCHITECTURE GPUS Fermi Kepler Maxwell GeForce 400 and 500 series Quadro x00 and x000 series GeForce 600 and 700 series Quadro Kxxx series Tegra K1 GeForce 900 series and TITAN X Quadro Mxxx series Tegra X1 50

51 Vulkan feature support FEATURE FERMI KEPLER MAXWELL OpenGL ES 3.1 level features Yes Yes Yes OpenGL 4.5 level features Yes Yes Yes Sparse memory Partial Partial Yes ETC2, ASTC texture compression No Tegra Tegra 51

52 Vulkan OS support Everywhere we can Windows XP, Vista, 7, 8, 8.1 and 10 Linux SteamOS Android SHIELD Tablet and SHIELD Android TV 52

53 NVIDIA implementation walkthrough Using GameWorks cadscene sample GL version is open source Vulkan version will be made available after spec release CPU bound under OpenGL with large models GPU bound on Vulkan! 53

54 The NVIDIA Vulkan driver Hosted by the OpenGL driver OpenGL and Vulkan share driver OpenGL portion dormant Vulkan Application Performance critical path direct to GPU Utility for resource and GPU management OpenGL Utility Vulkan GPU 54

55 Vulkan and OpenGL Living happily together OpenGL and Vulkan paths to hardware remain separate Mixed OpenGL Vulkan Application cadscene Can share resources Performance optimal OpenGL Utility Vulkan GPU 55

56 Benefits of mixed driver Efficiency for all Ease transition to Vulkan Allows applications to incrementally add Vulkan where it matters most If you can get OpenGL, you can get Vulkan Leveraged driver development 56

57 From OpenGL to Vulkan Porting your existing code Take incremental steps using AZDO (Aproaching zero-overhead driver) Persistent buffers, multi-draw indirect, bindless resources, etc. Start using NV_command_list See Best of GTC talk on NV_command_list Monday 2pm by Tristan Lorach Port performance-critical parts to Vulkan Can leave other stuff in OpenGL 57

58 Vulkan goals How do we meet these goals? Reduce CPU overhead Scale well with multiple threads Predictable no hitching Mobile GPU support 58

59 Demo: Vulkan cadscene CPU overhead, multi-cpu scaling, pipeline changes 59

60 cadscene on Shield Using the GameWorks cross-platform SDK Same framework used for NVIDIA GameWorks samples Supports cross-platform development Code for Windows, Linux and Android 60

61 GameWorks framework Build, deploy and debug Android code right from Visual Studio Coming for Vulkan 61

62 Demo: Vulkan cadscene on Shield Interactive high-polygon count CAD models 62

63 Vulkan driver And how do I get one? Before Vulkan spec release Become a Khronos member Sign an NDA After Vulkan spec release (later this year!) Download from nvidia.com 63

64 More Vulkan at SIGGRAPH Don t miss a thing Course: Moving Mobile Graphics Sunday 2pm 5:15pm Course: An Overview of Next-Generation Graphics APIs Tuesday 9am 12:15pm Khronos Birds of a Feather Wednesday 5:30pm 7:30pm Party! 7:30pm 10pm 64

65 Thank you! Get your free Khronos Vulkan t-shirts! 65

66 Questions? Piers Daniell, Driver Software Engineer, OpenGL and Vulkan

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

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

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

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

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

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

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

Press Briefing. GDC, March 2014. Neil Trevett Vice President Mobile Ecosystem, NVIDIA President Khronos. Copyright Khronos Group 2014 - Page 1

Press Briefing. GDC, March 2014. Neil Trevett Vice President Mobile Ecosystem, NVIDIA President Khronos. Copyright Khronos Group 2014 - Page 1 Copyright Khronos Group 2014 - Page 1 Press Briefing GDC, March 2014 Neil Trevett Vice President Mobile Ecosystem, NVIDIA President Khronos Copyright Khronos Group 2014 - Page 2 Lots of Khronos News at

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

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

What is GPUOpen? Currently, we have divided console & PC development Black box libraries go against the philosophy of game development Game 1 2 3 4 What is GPUOpen? Currently, we have divided console & PC development Black box libraries go against the philosophy of game development Game developers are smart and inquisitive Game devs extract

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

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

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

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

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

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

Cloud Gaming & Application Delivery with NVIDIA GRID Technologies. Franck DIARD, Ph.D. GRID Architect, NVIDIA

Cloud Gaming & Application Delivery with NVIDIA GRID Technologies. Franck DIARD, Ph.D. GRID Architect, NVIDIA Cloud Gaming & Application Delivery with NVIDIA GRID Technologies Franck DIARD, Ph.D. GRID Architect, NVIDIA What is GRID? Using efficient GPUS in efficient servers What is Streaming? Transporting pixels

More information

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

NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA GFLOPS 3500 3000 NVPRO-PIPELINE Peak Double Precision FLOPS GPU perf improved

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

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

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

Overview. Lecture 1: an introduction to CUDA. Hardware view. Hardware view. hardware view software view CUDA programming

Overview. Lecture 1: an introduction to CUDA. Hardware view. Hardware view. hardware view software view CUDA programming Overview Lecture 1: an introduction to CUDA Mike Giles mike.giles@maths.ox.ac.uk hardware view software view Oxford University Mathematical Institute Oxford e-research Centre Lecture 1 p. 1 Lecture 1 p.

More information

AN INTRODUCTION TO ANDROID DEVELOPMENT CS231M Alejandro Troccoli

AN INTRODUCTION TO ANDROID DEVELOPMENT CS231M Alejandro Troccoli AN INTRODUCTION TO ANDROID DEVELOPMENT CS231M Alejandro Troccoli Outline Overview of the Android Operating System Development tools Deploying application packages Step-by-step application development The

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

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

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

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

Introducing PgOpenCL A New PostgreSQL Procedural Language Unlocking the Power of the GPU! By Tim Child

Introducing PgOpenCL A New PostgreSQL Procedural Language Unlocking the Power of the GPU! By Tim Child Introducing A New PostgreSQL Procedural Language Unlocking the Power of the GPU! By Tim Child Bio Tim Child 35 years experience of software development Formerly VP Oracle Corporation VP BEA Systems Inc.

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

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

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

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

NVFX : A NEW SCENE AND MATERIAL EFFECT FRAMEWORK FOR OPENGL AND DIRECTX. TRISTAN LORACH Senior Devtech Engineer SIGGRAPH 2013

NVFX : A NEW SCENE AND MATERIAL EFFECT FRAMEWORK FOR OPENGL AND DIRECTX. TRISTAN LORACH Senior Devtech Engineer SIGGRAPH 2013 NVFX : A NEW SCENE AND MATERIAL EFFECT FRAMEWORK FOR OPENGL AND DIRECTX TRISTAN LORACH Senior Devtech Engineer SIGGRAPH 2013 nvfx : Plan What is an Effect New Approach and new ideas of nvfx Examples Walkthrough

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

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

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

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

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

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

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

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

NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect

NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect SIGGRAPH 2013 Shaping the Future of Visual Computing NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect NVIDIA

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

AGENDA. Overview GPU Video Encoding NVIDIA Video Encoding Capabilities. Software API Performance & Quality. Kepler vs Maxwell GPU capabilities Roadmap

AGENDA. Overview GPU Video Encoding NVIDIA Video Encoding Capabilities. Software API Performance & Quality. Kepler vs Maxwell GPU capabilities Roadmap HIGH PERFORMANCE VIDEO ENCODING USING NVIDIA GPUS Abhijit Patait Sr. Manager, GPU Multimedia SW AGENDA Overview GPU Video Encoding NVIDIA Video Encoding Capabilities Kepler vs Maxwell GPU capabilities

More information

Several tips on how to choose a suitable computer

Several tips on how to choose a suitable computer Several tips on how to choose a suitable computer This document provides more specific information on how to choose a computer that will be suitable for scanning and postprocessing of your data with Artec

More information

Intel Application Software Development Tool Suite 2.2 for Intel Atom processor. In-Depth

Intel Application Software Development Tool Suite 2.2 for Intel Atom processor. In-Depth Application Software Development Tool Suite 2.2 for Atom processor In-Depth Contents Application Software Development Tool Suite 2.2 for Atom processor............................... 3 Features and Benefits...................................

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

Programming models for heterogeneous computing. Manuel Ujaldón Nvidia CUDA Fellow and A/Prof. Computer Architecture Department University of Malaga

Programming models for heterogeneous computing. Manuel Ujaldón Nvidia CUDA Fellow and A/Prof. Computer Architecture Department University of Malaga Programming models for heterogeneous computing Manuel Ujaldón Nvidia CUDA Fellow and A/Prof. Computer Architecture Department University of Malaga Talk outline [30 slides] 1. Introduction [5 slides] 2.

More information

GPU Computing - CUDA

GPU Computing - CUDA GPU Computing - CUDA A short overview of hardware and programing model Pierre Kestener 1 1 CEA Saclay, DSM, Maison de la Simulation Saclay, June 12, 2012 Atelier AO and GPU 1 / 37 Content Historical perspective

More information

OpenACC 2.0 and the PGI Accelerator Compilers

OpenACC 2.0 and the PGI Accelerator Compilers OpenACC 2.0 and the PGI Accelerator Compilers Michael Wolfe The Portland Group michael.wolfe@pgroup.com This presentation discusses the additions made to the OpenACC API in Version 2.0. I will also present

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

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

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

SYCL for OpenCL. Andrew Richards, CEO Codeplay & Chair SYCL Working group GDC, March 2014. Copyright Khronos Group 2014 - Page 1

SYCL for OpenCL. Andrew Richards, CEO Codeplay & Chair SYCL Working group GDC, March 2014. Copyright Khronos Group 2014 - Page 1 SYCL for OpenCL Andrew Richards, CEO Codeplay & Chair SYCL Working group GDC, March 2014 Copyright Khronos Group 2014 - Page 1 Where is OpenCL today? OpenCL: supported by a very wide range of platforms

More information

HIGH PERFORMANCE VIDEO ENCODING WITH NVIDIA GPUS

HIGH PERFORMANCE VIDEO ENCODING WITH NVIDIA GPUS April 4-7, 2016 Silicon Valley HIGH PERFORMANCE VIDEO ENCODING WITH NVIDIA GPUS Abhijit Patait Eric Young April 4 th, 2016 NVIDIA GPU Video Technologies Video Hardware Capabilities AGENDA Video Software

More information

Writing Applications for the GPU Using the RapidMind Development Platform

Writing Applications for the GPU Using the RapidMind Development Platform Writing Applications for the GPU Using the RapidMind Development Platform Contents Introduction... 1 Graphics Processing Units... 1 RapidMind Development Platform... 2 Writing RapidMind Enabled Applications...

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

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

Multi-core Programming System Overview

Multi-core Programming System Overview Multi-core Programming System Overview Based on slides from Intel Software College and Multi-Core Programming increasing performance through software multi-threading by Shameem Akhter and Jason Roberts,

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

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

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what

More information

GPU Parallel Computing Architecture and CUDA Programming Model

GPU Parallel Computing Architecture and CUDA Programming Model GPU Parallel Computing Architecture and CUDA Programming Model John Nickolls Outline Why GPU Computing? GPU Computing Architecture Multithreading and Arrays Data Parallel Problem Decomposition Parallel

More information

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 F# Applications to Computational Financial and GPU Computing May 16th Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 Today! Why care about F#? Just another fashion?! Three success stories! How Alea.cuBase

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

Professional Android Application Development

Professional Android Application Development Course Outline: Professional Android Application Development 1. Introduction to Android Overview of Android and Android SDK History of Android Android Features Development 2. Android Architecture Overview

More information

Building Applications Using Micro Focus COBOL

Building Applications Using Micro Focus COBOL Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.

More information

How to choose a suitable computer

How to choose a suitable computer How to choose a suitable computer This document provides more specific information on how to choose a computer that will be suitable for scanning and post-processing your data with Artec Studio. While

More information

Next Generation GPU Architecture Code-named Fermi

Next Generation GPU Architecture Code-named Fermi Next Generation GPU Architecture Code-named Fermi The Soul of a Supercomputer in the Body of a GPU Why is NVIDIA at Super Computing? Graphics is a throughput problem paint every pixel within frame time

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

An Easier Way for Cross-Platform Data Acquisition Application Development

An Easier Way for Cross-Platform Data Acquisition Application Development An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers

More information

Amazon EC2 Product Details Page 1 of 5

Amazon EC2 Product Details Page 1 of 5 Amazon EC2 Product Details Page 1 of 5 Amazon EC2 Functionality Amazon EC2 presents a true virtual computing environment, allowing you to use web service interfaces to launch instances with a variety of

More information

A little code goes a long way Cross-platform game development with Lua. Ivan Beliy, Software Engineer

A little code goes a long way Cross-platform game development with Lua. Ivan Beliy, Software Engineer A little code goes a long way Cross-platform game development with Lua Ivan Beliy, Software Engineer 9/25/14 Marmalade. Trademarks belong to their respective owners. All rights reserved. 1 A bit of History!

More information

JavaFX Session Agenda

JavaFX Session Agenda JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user

More information

Android Development: Part One

Android Development: Part One Android Development: Part One This workshop will introduce you to the nature of the Android development platform. We begin with an overview of the platform s development history and some discussion of

More information

OctaVis: A Simple and Efficient Multi-View Rendering System

OctaVis: A Simple and Efficient Multi-View Rendering System OctaVis: A Simple and Efficient Multi-View Rendering System Eugen Dyck, Holger Schmidt, Mario Botsch Computer Graphics & Geometry Processing Bielefeld University Abstract: We present a simple, low-cost,

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

Virtual Desktop VMware View Horizon

Virtual Desktop VMware View Horizon Virtual Desktop VMware View Horizon Presenter - Scott Le Marquand VMware Virtualization consultant with 6 years consultancy experience VMware Certified Professional 5 Data Center Virtualization VMware

More information

Table of Contents. P a g e 2

Table of Contents. P a g e 2 Solution Guide Balancing Graphics Performance, User Density & Concurrency with NVIDIA GRID Virtual GPU Technology (vgpu ) for Autodesk AutoCAD Power Users V1.0 P a g e 2 Table of Contents The GRID vgpu

More information

Streaming Media. Advanced Audio. Erik Noreke, Standardization Consultant Chair, OpenSL ES Copyright Khronos Group, Page 1

Streaming Media. Advanced Audio. Erik Noreke, Standardization Consultant Chair, OpenSL ES Copyright Khronos Group, Page 1 Streaming Media Advanced Erik Noreke, Standardization Consultant Chair, OpenSL ES erik@noreke.se Copyright Khronos Group, 2010 - Page 1 OpenMAX Streaming Media Media Infrastructure Portability Open, royalty-free

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

CSCI E 98: Managed Environments for the Execution of Programs

CSCI E 98: Managed Environments for the Execution of Programs CSCI E 98: Managed Environments for the Execution of Programs Draft Syllabus Instructor Phil McGachey, PhD Class Time: Mondays beginning Sept. 8, 5:30-7:30 pm Location: 1 Story Street, Room 304. Office

More information

VA (Video Acceleration) API. Jonathan Bian 2009 Linux Plumbers Conference

VA (Video Acceleration) API. Jonathan Bian 2009 Linux Plumbers Conference VA (Video Acceleration) API Jonathan Bian 2009 Linux Plumbers Conference Motivation for creating a new API Lack of a video decode acceleration API for Unixlike OS that fully exposes fixed function video

More information

Performance Testing in Virtualized Environments. Emily Apsey Product Engineer

Performance Testing in Virtualized Environments. Emily Apsey Product Engineer Performance Testing in Virtualized Environments Emily Apsey Product Engineer Introduction Product Engineer on the Performance Engineering Team Overview of team - Specialty in Virtualization - Citrix, VMWare,

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

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

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

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

Introduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software GPU Computing Numerical Simulation - from Models to Software Andreas Barthels JASS 2009, Course 2, St. Petersburg, Russia Prof. Dr. Sergey Y. Slavyanov St. Petersburg State University Prof. Dr. Thomas

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

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

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

GPU Usage. Requirements

GPU Usage. Requirements GPU Usage Use the GPU Usage tool in the Performance and Diagnostics Hub to better understand the high-level hardware utilization of your Direct3D app. You can use it to determine whether the performance

More information

Introduction to WebGL

Introduction to WebGL Introduction to WebGL Alain Chesnais Chief Scientist, TrendSpottr ACM Past President chesnais@acm.org http://www.linkedin.com/in/alainchesnais http://facebook.com/alain.chesnais Housekeeping If you are

More information

COS 318: Operating Systems. Virtual Machine Monitors

COS 318: Operating Systems. Virtual Machine Monitors COS 318: Operating Systems Virtual Machine Monitors Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318/ Introduction u Have

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

HIGH-PERFORMANCE GPU VIDEO ENCODING ABHIJIT PATAIT SR. MANAGER, NVIDIA

HIGH-PERFORMANCE GPU VIDEO ENCODING ABHIJIT PATAIT SR. MANAGER, NVIDIA HIGH-PERFORMANCE GPU VIDEO ENCODING ABHIJIT PATAIT SR. MANAGER, NVIDIA AGENDA GPU Video Encoding Overview NVIDIA Video Encoding Capabilities Kepler, Maxwell Gen 1, Maxwell Gen 2 Software API Performance

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

Android Architecture. Alexandra Harrison & Jake Saxton

Android Architecture. Alexandra Harrison & Jake Saxton Android Architecture Alexandra Harrison & Jake Saxton Overview History of Android Architecture Five Layers Linux Kernel Android Runtime Libraries Application Framework Applications Summary History 2003

More information

The MaXX Desktop. Workstation Environment. Revised Road Map Version 0.7. for Graphics Professionals

The MaXX Desktop. Workstation Environment. Revised Road Map Version 0.7. for Graphics Professionals The MaXX Desktop Workstation Environment for Graphics Professionals Revised Road Map Version 0.7 Document History Author Date Version Comments Eric Masson 01/11/2007 0.5 First Draft Eric Masson 18/11/2007

More information