Vulkan API 杨瑜, 资深工程师

Size: px
Start display at page:

Download "Vulkan API 杨瑜, 资深工程师"

Transcription

1 Vulkan API 杨瑜, 资深工程师

2 Vulkan Overview (1/3) Some History ~2011 became apparent that the API is getting in the way - Console Developers programmed GPUs To-the-Metal 2012 Khronos started work on GLCommon 2014 Khronos accelerated Vulkan development when AMD donated Mantle Khronos switched focus to a new, clean modern API 2016 Vulkan 1.0 released Qualcomm s Role Qualcomm involved from the start Qualcomm is a promoter member (voting rights, etc) Activate participant in Vulkan working groups Propose extensions to the Vulkan API Qualcomm Snapdragon is a product of Qualcomm Technologies, Inc.

3 Vulkan Overview (2/3) Vulkan is a new graphics and compute API OpenGL introduced back in 1992 Vulkan launched in 2016 Designed for Modern GPUs Compute + Graphics capability Unified Memory Any OpenGL ES 3.1 or 4.x GPU Cross Platform Mobile/Desktop/Console/Embedded Mobile is a first class citizen (no ES type subset of API calls) Cross Operating System Android Windows 7,8,1 Linux

4 Vulkan Overview (3/3) Streamlined Greatly reduced CPU overhead Faster performance Lower overhead Less latency Multi-core Efficient Multithreading friendly Encouraged Explicit API Developer has direct control over the GPU Features aimed at increasing application (graphics & compute) control and performance.

5 Vulkan Overview (3/3) Consistency Improved reliability over OpenGL Consistency between implementations Validation Layers Conformance Architecture-neutral Full support for tile-based as well as direct renders Same API for desktop, mobile,console embedded Same API supports both graphics and compute (Compute support is mandatory in drivers) Features aimed at application portability and support for various architectures (mobile, desktop, automotive etc.)

6 Vulkan Advantages over OpenGL (1/5) Explicit GPU Control Driver is more predictable less hitching Error and validation checking controllable Easy to disable in production code Pre-compiled Shaders in SPIR-V format No front-end compiling done no differences between vendor compilers Simpler driver Driver is easier to developer and maintain Improved driver performance Lower driver overhead and latency Less cross driver vendor unpredictability Application GPU Driver API (Heavy with extra checks and memory mgmt. etc.) GPU hardware Applicatio n GPU Driver API (Thin) GPU hardware Language Front-end Compilers Initially GLSL Loadable debug and validation layers Vulkan 1.0 provides access to OpenGL ES 3.1/OpenGL 4.x-class GPU functionality, but with increased performance and flexibility

7 Vulkan Advantages over OpenGL (2/5) Layered Architecture Debug and Validation Layers loaded only when needed New utility layers can and will be developed by 3 rd parties Rich area for innovation SPIR-V Shader Language No shader compilation needed SPIR-V is byte code, not shader source Minimizes cross vendor differences Allows for other languages (e.g. HLSL) to be supported Application/Gam e Vulkan Loader Driver Adreno GPU Layer 1 Layer 2 Layer 3 Layer N

8 Vulkan Advantages over OpenGL (3/5) Reduced CPU Overhead to enable higher GPU usage OpenGL ES CPU utilization is high, causing higher power usage GPU utilization is more likely to be restricted waiting for CPU to complete Vulkan CPU overhead is drastically reduced. Lower power consumption on CPU. GPU spends less time waiting and more time rendering higher draw calls and primitive content Higher frame rates can be achieved for the same power envelope

9 Vulkan Advantages over OpenGL (4/5) Efficient, Predictable multi-threaded behavior Multithreading friendly and encouraged Easy to take advantage of multiple cores on device Portions of API designed for per-thread usage (e.g. CommandBuffers) Impossible to do in OpenGL because command buffer generation and submission are done at the same time (i.e. gldraw)

10 Vulkan OpenGL ES Vulkan Advantages over OpenGL (5/5) Pipeline State Reusability Vulkan Pipeline State Object (PSO)contains full rendering state information Frame 1 Frame 2 Frame 3 Frame.. Frame 1 - Set blend state - Set depth state - Set.. - Set.. - Set UBO - Draw - Set blend state - Set depth state - Set.. - Set.. - Set UBO - Draw - Set blend state - Set depth state - Set.. - Set.. - Set UBO - Draw Frame 2 - Create PSO - Set PSO - Set UBO - Draw - Set PSO - Set UBO - Draw - Set PSO - Set UBO - Draw Vulkan provides major advantages with State reusability which can be a big overhead in OpenGL ES when most of the render state is static.

11 Vulkan Disadvantages over OpenGL Explicit GPU Control All GPU operations needs to be specified in detail New API to learn Not OpenGL++ New concepts: synchronization, multipass, image layouts, Terminology, work-flow Not obvious how to port existing OpenGL applications No OpenGL state machine No 1 to 1 API call substitution Much more setup before rendering occurs? Device support growing, but not at 100% like OpenGL ES

12 Good Reasons to use Vulkan Your App is CPU bound and can be parallelized You want to minimize glitches and have predicated driver behavior You re starting work on a new graphics game No/little preexisting graphics code (reusing assets ok) Doesn t require the use of an existing game engine Or your game engine has support for Vulkan You want to create a new graphics engine Designed for modern GPUs Backwards hardware support not an issue

13 Developer Tips Threading (1/2) Threading Goals Key GPU Busy Take advantage of multiple cores on device Vulkan and Threading Threading is effective and encouraged with Vulkan API is designed from the ground up to be multithreading friendly Much of the spec details thread safety Obvious places to do threading Generating Command Buffers Non Obvious places to do threading Building Pipelines Loading and Updating Resources (e.g. Vertex, Uniform buffers) Other CPU intensive/time consuming operations (e.g. physics, animation)

14 Developer Tips Threading (2/2) Application must manage threads Divide work up Spawn threads (submitting to queues) Synchronize and Combine results Example: Command Pools Allocate command buffers from command pool Use one command pool per thread Have one master thread Have multiple slave threads that build multiple command buffers Master thread submits finished command buffers and handles presenting and swapping Command pool can be easily reset (once all command buffers from it have been executed)

15 Developer Tips Synchronization Application must handle Synchronization in Vulkan New responsibility driver handled this function in OpenGL Vulkan Synchronization Objects Semaphores Synchronize work across queues Synchronize work in a single queue Events and Barriers Synchronize work in a command buffer Synchronize work in a sequence of command buffers submitted to a single queue Fences Synchronize work between device and host

16 Developer Tips Synchronization (1/2) Probably one of the confusing topics in Vulkan Best advice is to study examples for patterns Barriers are useful for changing image layouts Submit multiple barriers into a single vkcmdpipelinebarrier call Events are useful for GPU/CPU synchronization Semaphore are useful for synchronizing queues Fences are useful for frame completion Particularly if using a multibuffer rendering sheme WaitIdle Avoid using vkqueuewaitidle Avoid using VkDeviceWaitIdle Not useful towards goal of always keeping the GPU busy Should only be used towards the app s teardown phase

17 Developer Tips - Pipelines Pipelines are monolithic objects that contain: State for the entire rendering pipeline Shader Stages/Vertex Input/Assembly Viewport/Rasterization/DepthStencil Multisample/ColorBlend Time consuming to build Build in Parallel Use pipeline caches Use derivative pipelines

18 Developer Tips Renderpass (1/2) Alternative technique for rendering in multiple passes Example: deferred lighting: Gbuffer Pass + Lighting Pass Gbuffer Pass Normal s Albedo Depth RenderPass: Full connected graph of rendering process Dependencies between passes vkcmdbeginrenderpass Lighting Pass Command Buffer Recording Gbuffer Commands vkcmdnextsubpass Lighting Commands vkcmdnextsubpass Postprocessing Commands vkcmdendrenderpass

19 Developer Tips Renderpass (2/2) Allows graphics driver and GPU to be much more efficient Renderpasses are particularly efficient on tilebased GPUs (like Qualcomm Adreno GPU) Minimizes transfers to/from Graphics Memory and System Memory Entire tile can be rendered at same time Only one resolve needed, regardless of the number of subpasses. Efficient use of attachments (render targets) Recommendation to use Vulkan renderpasses with multiple passes whenever possible Qualcomm Adreno GPU is a product of Qualcomm Technologies, Inc.

20 Developer Tips Hardware Scaling (1) Possibly the easiest (and overlooked) way to improve graphics performance Nonlinear relationship between resolution and number of pixels Fewer pixels rendered = improved graphics performance

21 Developer Tips Hardware Scaling (2) Hardware Scaling: Render at a resolution smaller than screen size Use hardware display system to do the scaling Strike a balance between lowering the resolution and acceptable quality Render scene at lower resolution, but HUD/Text at screen resolution Vulkan hardware scaling is trivial to do Allocate swapchain images at resolution smaller than surface size Surface size returned by vkgetphysicaldevicesurfacecapabilitieskhr Also returned by Android framework code. 1280x x x x2160 Display Surface Swapchain Images Base Resolution 2.25x more pixels 4x more pixels 9x more pixels

22 Developer Tips Memory Allocation (1) In Vulkan, your application needs to allocate and bind memory for various objects Different than in OpenGL where the driver did this behind the scenes Vulkan Objects requiring memory allocations - Textures and Buffers Vulkan memory has different properties Device Local memory that is physically connected to the device Host Visible memory that is visible to the host Host Coherent - memory that is automatically flushed to the host or device Host Cached memory that is cached on the host (memory accesses are slower than uncached) Lazily Allocated - memory that only allows device access to the memory Adreno Supports a single heap of memory with these types 1 - Device Local 2 - Device Local + Host Visible + Host Cached 3 - Device Local + Host Visible + Host Cached + Host Coherent

23 Developer Tips Memory Allocation (2) Vulkan requires you to explicit allocate memory blocks On Adreno, page alignment is large Allocate memory by calling vkallocatememory Recommend to minimize the # of these allocations Two strategies to doing this 1. Suballocation Allocate single memory allocation with vkallocatememory Suballocate from this block when memory is needed 2. Offsets Allocate single memory allocation with vkallocatememory Use offsets from this block when memory is needed Want to recycle memory allocations Instead of destroying and reallocating Using a custom memory allocator not recommended Doubtful of any performance improvement VkAllocateMemory VkAllocateMemory VkAllocateMemory VkAllocateMemory VkAllocateMemory Suballocate VkAllocateMemory Offsets Bad Better Best X

24 Developer Tips Validation Layers Robust Error Checking not included in API You can check return codes VkError not really recommended. Validation Layers should be used for error checking Optional can enable for debugging builds, disable for production builds Comprehensive checking: threading parameter checking object tracking image swapchain, Not perfect, but coverage and accuracy improving over time Implemented in Vulkan as extension layers Loaded by application at runtime Hook into Vulkan API processing Callback into your application when errors detected. Your app can log reports of the errors Application/Gam e Vulkan Loader Driver Adreno GPU Threading Parameter Validation Object Tracking Core Validation Image Swapchain Unique Objects

25 Adreno SDK for Vulkan Freely available from QDN website 16 samples + simple Vulkan framework Android Studio IDE (Windows only) Cover various topics: Initializing Vulkan Setting up swapchains Creating devices and queues Synchronizing the rendering steps Drawing a simple triangle Creating image processing effects Rendering in multiple passes with a renderpass Compiling SPIR-V shaders Using compute shaders Using push constants and more

26 Vulkan links Learning Vulkan is challenging, but growing number of resources on web Khronos website Up to date specification Reference pages Overview presentations Videos from recorded events Lunar G SDK (no Android support, but good documentation) Android NDK Guide on Vulkan Sample Libraries (beyond our Adreno SDK for Vulkan) Sascha Williams Norbert Nopper

27 THANK YOU Follow us on: For more information, visit us at: & Nothing in these materials is an offer to sell any of the components or devices referenced herein Qualcomm Technologies, Inc. and/or its affiliated companies. All Rights Reserved. Qualcomm Snapdragon and Qualcomm Adreno GPU are products of Qualcomm Technologies, Inc. Qualcomm, Snapdragon and Adreno are trademarks of Qualcomm Incorporated, registered in the United States and other countries, used with permission. Other produc ts and brand names may be trademarks or registered trademarks of their respective owners. References in this presentation to Qualcomm may mean Qualcomm Incorporated, Qualcomm Technologies, Inc., and/or other subsi diaries or business units within the Qualcomm corporate structure, as applicable. Qualcomm Incorporated includes Qualcomm s licensing business, QTL, and the vast majority of its patent portfolio. Qualcomm Technologies, Inc., a wholly-owned subsidiary of Qualcomm Incorporated, operates, along with its subsidiaries, substantially all of Qualcomm s engineering, research and development functions, and substantially all of its product and services businesses, inc luding its semiconductor business, QCT.

Achieving High-performance Graphics on Mobile With the Vulkan API

Achieving High-performance Graphics on Mobile With the Vulkan API Achieving High-performance Graphics on Mobile With the Vulkan API Marius Bjørge Graphics Research Engineer GDC 2016 Agenda Overview Command Buffers Synchronization Memory Shaders and Pipelines Descriptor

More information

Copyright Khronos Group Page 1. Vulkan Overview. June 2015

Copyright Khronos Group Page 1. Vulkan Overview. June 2015 Copyright Khronos Group 2015 - Page 1 Vulkan Overview June 2015 Copyright Khronos Group 2015 - Page 2 Khronos Connects Software to Silicon Open Consortium creating OPEN STANDARD APIs for hardware acceleration

More information

Copyright Khronos Group Page 1

Copyright Khronos Group Page 1 Gaming Market Briefing Overview of APIs GDC March 2016 Neil Trevett Khronos President NVIDIA Vice President Developer Ecosystem ntrevett@nvidia.com @neilt3d Copyright Khronos Group 2016 - Page 1 Copyright

More information

Vulkan on Mobile. Daniele Di Donato, ARM GDC 2016

Vulkan on Mobile. Daniele Di Donato, ARM GDC 2016 Vulkan on Mobile Daniele Di Donato, ARM GDC 2016 Outline Vulkan main features Mapping Vulkan Key features to ARM CPUs Mapping Vulkan Key features to ARM Mali GPUs 4 Vulkan Good match for mobile and tiling

More information

EECS 487: Interactive Computer Graphics

EECS 487: Interactive Computer Graphics EECS 487: Interactive Computer Graphics Lecture 21: Overview of Low-level Graphics API Metal, Direct3D 12, Vulkan Console Games Why do games look and perform so much better on consoles than on PCs with

More information

SIGGRAPH Briefing August 2014

SIGGRAPH Briefing August 2014 Copyright Khronos Group 2014 - Page 1 SIGGRAPH Briefing August 2014 Neil Trevett VP Mobile Ecosystem, NVIDIA President, Khronos Copyright Khronos Group 2014 - Page 2 Significant Khronos API Ecosystem Advances

More information

Vulkan Multipass mobile deferred done right

Vulkan Multipass mobile deferred done right Vulkan Multipass mobile deferred done right Hans-Kristian Arntzen Marius Bjørge Khronos 5 / 25 / 2017 Content What is multipass? What multipass allows... A driver to do versus MRT Developers to do Transient

More information

Vulkan (including Vulkan Fast Paths)

Vulkan (including Vulkan Fast Paths) Vulkan (including Vulkan Fast Paths) Łukasz Migas Software Development Engineer WS Graphics Let s talk about OpenGL (a bit) History 1.0-1992 1.3-2001 multitexturing 1.5-2003 vertex buffer object 2.0-2004

More information

Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1

Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1 Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Ecosystem @neilt3d Copyright Khronos Group 2015 - Page 1 Copyright Khronos Group 2015 - Page 2 Khronos Connects Software to Silicon

More information

Preparing for Mass Market Virtual Reality: A Mobile Perspective. Qualcomm Technologies, Inc. September 16, 2017

Preparing for Mass Market Virtual Reality: A Mobile Perspective. Qualcomm Technologies, Inc. September 16, 2017 Preparing for Mass Market Virtual Reality: A Mobile Perspective Qualcomm Technologies, Inc. September 16, 2017 Immersive Always-connected VR is meant to be Mobile 2 Automotive video streaming Crowded event

More information

Vulkan 1.1 March Copyright Khronos Group Page 1

Vulkan 1.1 March Copyright Khronos Group Page 1 Vulkan 1.1 March 2018 Copyright Khronos Group 2018 - Page 1 Vulkan 1.1 Launch and Ongoing Momentum Strengthening the Ecosystem Improved developer tools (SDK, validation/debug layers) More rigorous conformance

More information

Vulkan Launch Webinar 18 th February Copyright Khronos Group Page 1

Vulkan Launch Webinar 18 th February Copyright Khronos Group Page 1 Vulkan Launch Webinar 18 th February 2016 Copyright Khronos Group 2016 - Page 1 Copyright Khronos Group 2016 - Page 2 The Vulkan Launch Webinar Is About to Start! Kathleen Mattson - Webinar MC, Khronos

More information

2016 Seoul DevU Pipeline Cache Object. Bill Licea-Kane Engineer, Senior Staff Qualcomm Technologies, Inc

2016 Seoul DevU Pipeline Cache Object. Bill Licea-Kane Engineer, Senior Staff Qualcomm Technologies, Inc 2016 Seoul DevU Pipeline Cache Object Bill Licea-Kane Engineer, Senior Staff Qualcomm Technologies, Inc. 2016-10-21 Our application requires many many many Pipeline State Objects. Creation time is a huge

More information

Khronos Connects Software to Silicon

Khronos Connects Software to Silicon Press Pre-Briefing GDC 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem All Materials Embargoed Until Tuesday 3 rd March, 12:01AM Pacific Time Copyright Khronos Group 2015 - Page

More information

Heterogeneous Computing Made Easy:

Heterogeneous Computing Made Easy: Heterogeneous Computing Made Easy: Qualcomm Symphony System Manager SDK Wenjia Ruan Sr. Engineer, Advanced Content Group Qualcomm Technologies, Inc. May 2017 Qualcomm Symphony System Manager SDK is a product

More information

Vulkan: Architecture positive How Vulkan maps to PowerVR GPUs Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics.

Vulkan: Architecture positive How Vulkan maps to PowerVR GPUs Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics. Vulkan: Architecture positive How Vulkan maps to PowerVR GPUs Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics www.imgtec.com Introduction Who am I? Kevin Sun Working at Imagination Technologies

More information

RISC-V: Opportunities and Challenges in SoCs

RISC-V: Opportunities and Challenges in SoCs December 5, 2018 @qualcomm Santa Clara, CA RISC-V: Opportunities and Challenges in SoCs Greg Wright Sr Director, Engineering Qualcomm Technologies, Inc. Introductions Who am I? Why am I here? 2 Quick tour

More information

Working with Metal Overview

Working with Metal Overview Graphics and Games #WWDC14 Working with Metal Overview Session 603 Jeremy Sandmel GPU Software 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission

More information

Optimization Tips 杜博, 美国高通公司资深工程师

Optimization Tips 杜博, 美国高通公司资深工程师 Optimization Tips 杜博, 美国高通公司资深工程师 Rendering Optimizations 1. Render fewer pixels 2. Reduce Draw Calls 3. Reduce Bandwidth Usage 4. Optimize Frame Buffer Object usage 5. Optimize Vertex Buffer Object usage

More information

Vulkan Subpasses. or The Frame Buffer is Lava. Andrew Garrard Samsung R&D Institute UK. UK Khronos Chapter meet, May 2016

Vulkan Subpasses. or The Frame Buffer is Lava. Andrew Garrard Samsung R&D Institute UK. UK Khronos Chapter meet, May 2016 Vulkan Subpasses or The Frame Buffer is Lava Andrew Garrard Samsung R&D Institute UK Vulkan: Making use of the GPU more efficient Vulkan aims to reduce the overheads of keeping the GPU busy Vulkan subpasses

More information

Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1

Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1 Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem Copyright Khronos Group 2015 - Page 1 Khronos Connects Software to Silicon Open Consortium creating ROYALTY-FREE,

More information

Qualcomm Snapdragon Technologies

Qualcomm Snapdragon Technologies March 2018 Game Developer Conference (GDC) Qualcomm Snapdragon Technologies Hiren Bhinde, Director, XR Product Management Qualcomm Technologies, Inc. Qualcomm Technologies announcements & updates Snapdragon

More information

Snapdragon NPE Overview

Snapdragon NPE Overview March 2018 Linaro Connect Hong Kong Snapdragon NPE Overview Mark Charlebois Director, Engineering Qualcomm Technologies, Inc. Caffe2 Snapdragon Neural Processing Engine Efficient execution on Snapdragon

More information

Vulkan: Scaling to Multiple Threads. Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics

Vulkan: Scaling to Multiple Threads. Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics Vulkan: Scaling to Multiple Threads Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics www.imgtec.com Introduction Who am I? Kevin Sun Working at Imagination Technologies Take responsibility

More information

Vulkan Timeline Semaphores

Vulkan Timeline Semaphores Vulkan line Semaphores Jason Ekstrand September 2018 Copyright 2018 The Khronos Group Inc. - Page 1 Current Status of VkSemaphore Current VkSemaphores require a strict signal, wait, signal, wait pattern

More information

Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1

Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1 Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem Copyright Khronos Group 2015 - Page 1 Khronos Connects Software to Silicon Open Consortium creating ROYALTY-FREE,

More information

Copyright Khronos Group Page 1

Copyright Khronos Group Page 1 OpenCL A State of the Union Neil Trevett Khronos President NVIDIA Vice President Developer Ecosystem OpenCL Working Group Chair ntrevett@nvidia.com @neilt3d Vienna, April 2016 Copyright Khronos Group 2016

More information

Using SPIR-V in practice with SPIRV-Cross

Using SPIR-V in practice with SPIRV-Cross Copyright Khronos Group 2016 - Page 60 Using SPIR-V in practice with SPIRV-Cross Hans-Kristian Arntzen Engineer, ARM Copyright Khronos Group 2016 - Page 61 Contents Moving to offline compilation of SPIR-V

More information

Mobile: the foundation of the digital economy

Mobile: the foundation of the digital economy Mobile: the foundation of the digital economy Cristiano Amon Executive Vice President, Qualcomm Technologies, Inc. and President, Qualcomm CDMA Technologies @cristianoamon 1 Mobile technology is powering

More information

Rendering Grass with Instancing in DirectX* 10

Rendering Grass with Instancing in DirectX* 10 Rendering Grass with Instancing in DirectX* 10 By Anu Kalra Because of the geometric complexity, rendering realistic grass in real-time is difficult, especially on consumer graphics hardware. This article

More information

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June Optimizing and Profiling Unity Games for Mobile Platforms Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June 1 Agenda Introduction ARM and the presenter Preliminary knowledge

More information

Mali Developer Resources. Kevin Ho ARM Taiwan FAE

Mali Developer Resources. Kevin Ho ARM Taiwan FAE Mali Developer Resources Kevin Ho ARM Taiwan FAE ARM Mali Developer Tools Software Development SDKs for OpenGL ES & OpenCL OpenGL ES Emulators Shader Development Studio Shader Library Asset Creation Texture

More information

Porting Roblox to Vulkan. Arseny

Porting Roblox to Vulkan. Arseny Porting Roblox to Vulkan Arseny Kapoulkine @zeuxcg 1 What is Roblox? Online multiplayer game creation platform All content is user generated Windows, macos, ios, Android, Xbox One 50M+ MAU, 1.5M+ CCU 2

More information

Copyright Khronos Group Page 1

Copyright Khronos Group Page 1 Open Standards and Open Source Together How Khronos APIs Accelerate Fast and Cool Applications Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem Copyright Khronos Group 2015 - Page

More information

Graphics Architectures and OpenCL. Michael Doggett Department of Computer Science Lund university

Graphics Architectures and OpenCL. Michael Doggett Department of Computer Science Lund university Graphics Architectures and OpenCL Michael Doggett Department of Computer Science Lund university Overview Parallelism Radeon 5870 Tiled Graphics Architectures Important when Memory and Bandwidth limited

More information

POWERVR MBX & SGX OpenVG Support and Resources

POWERVR MBX & SGX OpenVG Support and Resources POWERVR MBX & SGX OpenVG Support and Resources Kristof Beets 3 rd Party Relations Manager - Imagination Technologies kristof.beets@imgtec.com Copyright Khronos Group, 2006 - Page 1 Copyright Khronos Group,

More information

802.11ax: Meeting the demands of modern networks. Gopi Sirineni, Vice President Qualcomm Technologies, Inc. April 19,

802.11ax: Meeting the demands of modern networks. Gopi Sirineni, Vice President Qualcomm Technologies, Inc. April 19, 802.11ax: Meeting the demands of modern networks Gopi Sirineni, Vice President Qualcomm Technologies, Inc. April 19, 2017 @qualcomm The Wi-Fi landscape has changed More devices & data Diverse apps & services

More information

Vulkan and Animation 3/13/ &height=285&playerId=

Vulkan and Animation 3/13/ &height=285&playerId= https://media.oregonstate.edu/id/0_q2qgt47o?width= 400&height=285&playerId=22119142 Vulkan and Animation Natasha A. Anisimova (Particle systems in Vulkan) Intel Game Dev The Loop Vulkan Cookbook https://software.intel.com/en-us/articles/using-vulkan-graphics-api-to-render-acloud-of-animated-particles-in-stardust-application

More information

Bifrost - The GPU architecture for next five billion

Bifrost - The GPU architecture for next five billion Bifrost - The GPU architecture for next five billion Hessed Choi Senior FAE / ARM ARM Tech Forum June 28 th, 2016 Vulkan 2 ARM 2016 What is Vulkan? A 3D graphics API for the next twenty years Logical successor

More information

PowerVR Hardware. Architecture Overview for Developers

PowerVR Hardware. Architecture Overview for Developers Public Imagination Technologies PowerVR Hardware Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.

More information

Qualcomm Snapdragon Profiler

Qualcomm Snapdragon Profiler Qualcomm Technologies, Inc. Qualcomm Snapdragon Profiler User Guide September 21, 2018 Qualcomm Snapdragon is a product of Qualcomm Technologies, Inc. Other Qualcomm products referenced herein are products

More information

Qualcomm Snapdragon 450 Mobile Platform

Qualcomm Snapdragon 450 Mobile Platform Qualcomm Snapdragon 450 Mobile Platform Kedar Kondap Vice President, Product Management Qualcomm Technologies, Inc. Snapdragon 400 Tier @qualcomm Qualcomm Snapdragon is a product of Qualcomm Technologies,

More information

D3D12 & Vulkan Done Right. Gareth Thomas Developer Technology Engineer, AMD

D3D12 & Vulkan Done Right. Gareth Thomas Developer Technology Engineer, AMD D3D12 & Vulkan Done Right Gareth Thomas Developer Technology Engineer, AMD Agenda Barriers Copy Queue Resources Pipeline Shaders What is *not* in this talk Async compute Check out Async Compute: Deep Dive

More information

Emerging Vision Technologies: Enabling a New Era of Intelligent Devices

Emerging Vision Technologies: Enabling a New Era of Intelligent Devices Emerging Vision Technologies: Enabling a New Era of Intelligent Devices Computer vision overview Computer vision is being integrated in our daily lives Acquiring, processing, and understanding visual data

More information

Software Occlusion Culling

Software Occlusion Culling Software Occlusion Culling Abstract This article details an algorithm and associated sample code for software occlusion culling which is available for download. The technique divides scene objects into

More information

Ultra-low Power Always-On Computer Vision

Ultra-low Power Always-On Computer Vision March 20, 2019 @qualcomm_tech Sunnyvale, California Ultra-low Power Always-On Computer Vision Edwin Park Principal Engineer Qualcomm Artificial Intelligence (AI) Research Qualcomm Technologies, Inc. Qualcomm

More information

Dave Shreiner, ARM March 2009

Dave Shreiner, ARM March 2009 4 th Annual Dave Shreiner, ARM March 2009 Copyright Khronos Group, 2009 - Page 1 Motivation - What s OpenGL ES, and what can it do for me? Overview - Lingo decoder - Overview of the OpenGL ES Pipeline

More information

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games Bringing AAA graphics to mobile platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Platform team at Epic Games Unreal Engine 15 years in the industry 30 years of programming

More information

Ecosystem Overview Neil Trevett Khronos President NVIDIA Vice President Developer

Ecosystem Overview Neil Trevett Khronos President NVIDIA Vice President Developer Ecosystem Overview Neil Trevett Khronos President NVIDIA Vice President Developer Ecosystem ntrevett@nvidia.com @neilt3d Copyright Khronos Group 2016 - Page 1 Khronos Mission Software Silicon Khronos is

More information

Leading the world to 5G

Leading the world to 5G June 28, 2018 @5GwirelessEDGE Shanghai, China Leading the world to 5G Serge Willenegger SVP & GM, 5G & Industrial IoT Qualcomm Wireless GmbH A unifying connectivity platform to drive growth and innovation

More information

PowerVR Framework. October 2015

PowerVR Framework. October 2015 PowerVR Framework October 2015 Gerry Raptis Leading Developer Technology Engineer, PowerVR Graphics PowerVR Tools and SDK Overview Tools Development Debugging Optimisation Authoring SDK Development Learning

More information

PowerVR Performance Recommendations. The Golden Rules

PowerVR Performance Recommendations. The Golden Rules PowerVR Performance Recommendations Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind. Redistribution

More information

Accelerating Vision Processing

Accelerating Vision Processing Accelerating Vision Processing Neil Trevett Vice President Mobile Ecosystem at NVIDIA President of Khronos and Chair of the OpenCL Working Group SIGGRAPH, July 2016 Copyright Khronos Group 2016 - Page

More information

PowerVR Performance Recommendations. The Golden Rules

PowerVR Performance Recommendations. The Golden Rules PowerVR Performance Recommendations Copyright Imagination Technologies Limited. All Rights Reserved. This publication contains proprietary information which is subject to change without notice and is supplied

More information

Global 5G spectrum update

Global 5G spectrum update Global 5G spectrum update Luigi Ardito Director, Government Affairs Qualcomm Incorporated European Commission driving a Gigabit Society 1 Deploying 5G across Europe by 2020 with pre-commercial trials starting

More information

Mobile HW and Bandwidth

Mobile HW and Bandwidth Your logo on white Mobile HW and Bandwidth Andrew Gruber Qualcomm Technologies, Inc. Agenda and Goals Describe the Power and Bandwidth challenges facing Mobile Graphics Describe some of the Power Saving

More information

Investigating real-time rendering techniques approaching realism using the Vulkan API

Investigating real-time rendering techniques approaching realism using the Vulkan API Investigating real-time rendering techniques approaching realism using the Vulkan API Sandro Weber Technische Universitaet Muenchen webers@in.tum.de Lorenzo La Spina Technische Universitaet Muenchen lorenzo.la-spina@tum.de

More information

Metal for OpenGL Developers

Metal for OpenGL Developers #WWDC18 Metal for OpenGL Developers Dan Omachi, Metal Ecosystem Engineer Sukanya Sudugu, GPU Software Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without

More information

Keeping your GPU fed without getting bitten

Keeping your GPU fed without getting bitten Copyright Khronos Group 2016 - Page 150 Keeping your GPU fed without getting bitten Tobias Hector May 2016 Copyright Khronos Group 2016 - Page 151 Introduction You have delicious draw calls - Yummy! Copyright

More information

Optimizing DirectX Graphics. Richard Huddy European Developer Relations Manager

Optimizing DirectX Graphics. Richard Huddy European Developer Relations Manager Optimizing DirectX Graphics Richard Huddy European Developer Relations Manager Some early observations Bear in mind that graphics performance problems are both commoner and rarer than you d think The most

More information

Vulkan on Android: Gotchas and best practices

Vulkan on Android: Gotchas and best practices Frederic Garnier, Inae Kim Galaxy GameDev, Samsung Electronics Vulkan on Android: Gotchas and best practices f.garnier@samsung.com inae13.kim@samsung.com Vulkan on Android: Gotchas and best practices Pipeline

More information

GDC 2014 Barthold Lichtenbelt OpenGL ARB chair

GDC 2014 Barthold Lichtenbelt OpenGL ARB chair GDC 2014 Barthold Lichtenbelt OpenGL ARB chair Agenda OpenGL 4.4, news and updates - Barthold Lichtenbelt, NVIDIA Low Overhead Rendering with OpenGL - Cass Everitt, NVIDIA Copyright Khronos Group, 2010

More information

PowerVR Series5. Architecture Guide for Developers

PowerVR Series5. Architecture Guide for Developers Public Imagination Technologies PowerVR Series5 Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.

More information

Low-Overhead Rendering with Direct3D. Evan Hart Principal Engineer - NVIDIA

Low-Overhead Rendering with Direct3D. Evan Hart Principal Engineer - NVIDIA Low-Overhead Rendering with Direct3D Evan Hart Principal Engineer - NVIDIA Ground Rules No DX9 Need to move fast Big topic in 30 minutes Assuming experienced audience Everything is a tradeoff These are

More information

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved Avi Shapira Graphic Remedy Copyright Khronos Group, 2009 - Page 1 2004 2009 Graphic Remedy. All Rights Reserved Debugging and profiling 3D applications are both hard and time consuming tasks Companies

More information

Optimisation. CS7GV3 Real-time Rendering

Optimisation. CS7GV3 Real-time Rendering Optimisation CS7GV3 Real-time Rendering Introduction Talk about lower-level optimization Higher-level optimization is better algorithms Example: not using a spatial data structure vs. using one After that

More information

Enabling and Optimizing MariaDB on Qualcomm Centriq 2400 Arm-based Servers

Enabling and Optimizing MariaDB on Qualcomm Centriq 2400 Arm-based Servers Enabling and Optimizing MariaDB on Qualcomm Centriq 2400 Arm-based Servers World s First 10nm Server Processor Sandeep Sethia Staff Engineer Qualcomm Datacenter Technologies, Inc. February 25, 2018 MariaDB

More information

Impact of the current LLVM inlining strategy on complex embedded application memory utilization and performance

Impact of the current LLVM inlining strategy on complex embedded application memory utilization and performance Impact of the current LLVM inlining strategy on complex embedded application memory utilization and performance Sergei Larin Senior Staff Engineer, Harsha Jagasia Staff Engineer, Tobias Edler von Koch

More information

IoT with 5G Technology

IoT with 5G Technology July 25 th, 2018 Innofest ID 2018 Jakarta, Indonesia IoT with 5G Technology Transformation for Industrial 4.0 Shannedy Ong Country Director Indonesia Leading mobile innovation for over 30 years Digitized

More information

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014 Profiling and Debugging OpenCL Applications with ARM Development Tools October 2014 1 Agenda 1. Introduction to GPU Compute 2. ARM Development Solutions 3. Mali GPU Architecture 4. Using ARM DS-5 Streamline

More information

Bringing Vulkan to VR. Cass Everitt, Oculus

Bringing Vulkan to VR. Cass Everitt, Oculus Bringing Vulkan to VR Cass Everitt, Oculus A Presentation in Two Acts The Graphics-API-Agnostic Design of the VrApi The Vulkan-Samples atw Sample Family as Proving Grounds Act One The Graphics-API-Agnostic

More information

Coding OpenGL ES 3.0 for Better Graphics Quality

Coding OpenGL ES 3.0 for Better Graphics Quality Coding OpenGL ES 3.0 for Better Graphics Quality Part 2 Hugo Osornio Rick Tewell A P R 1 1 t h 2 0 1 4 TM External Use Agenda Exercise 1: Array Structure vs Vertex Buffer Objects vs Vertex Array Objects

More information

NeoNet: Object centric training for image recognition

NeoNet: Object centric training for image recognition Daniel Fontijne, Koen E. A. van de Sande, Eren Gölge, R. Blythe Towal, Anthony Sarah, Cees G. M. Snoek Qualcomm Technologies, Inc., December 17, 2015 NeoNet: Object centric training for image recognition

More information

D3D12 & Vulkan: Lessons learned. Dr. Matthäus G. Chajdas Developer Technology Engineer, AMD

D3D12 & Vulkan: Lessons learned. Dr. Matthäus G. Chajdas Developer Technology Engineer, AMD D3D12 & Vulkan: Lessons learned Dr. Matthäus G. Chajdas Developer Technology Engineer, AMD D3D12 What s new? DXIL DXGI & UWP updates Root Signature 1.1 Shader cache GPU validation PIX D3D12 / DXIL DXBC

More information

The Bifrost GPU architecture and the ARM Mali-G71 GPU

The Bifrost GPU architecture and the ARM Mali-G71 GPU The Bifrost GPU architecture and the ARM Mali-G71 GPU Jem Davies ARM Fellow and VP of Technology Hot Chips 28 Aug 2016 Introduction to ARM Soft IP ARM licenses Soft IP cores (amongst other things) to our

More information

Mobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair

Mobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair OpenGL ES in the Mobile Graphics Ecosystem Tom Olson OpenGL ES working group chair Director, Graphics Research, ARM Ltd 1 Outline Why Mobile Graphics? OpenGL ES Overview Getting Started with OpenGL ES

More information

Mobile technology: A catalyst for change. Kedar Kondap Vice President, Product Management Qualcomm Technologies, Inc.

Mobile technology: A catalyst for change. Kedar Kondap Vice President, Product Management Qualcomm Technologies, Inc. Mobile technology: A catalyst for change Kedar Kondap Vice President, Product Management Qualcomm Technologies, Inc. Evolution of Wireless 384 kbps 21 Mbps 150 Mbps 2G Digital voice D-AMPS, GSM, IS-95

More information

Optimizing for DirectX Graphics. Richard Huddy European Developer Relations Manager

Optimizing for DirectX Graphics. Richard Huddy European Developer Relations Manager Optimizing for DirectX Graphics Richard Huddy European Developer Relations Manager Also on today from ATI... Start & End Time: 12:00pm 1:00pm Title: Precomputed Radiance Transfer and Spherical Harmonic

More information

OpenCL Overview. Shanghai March Neil Trevett Vice President Mobile Content, NVIDIA President, The Khronos Group

OpenCL Overview. Shanghai March Neil Trevett Vice President Mobile Content, NVIDIA President, The Khronos Group Copyright Khronos Group, 2012 - Page 1 OpenCL Overview Shanghai March 2012 Neil Trevett Vice President Mobile Content, NVIDIA President, The Khronos Group Copyright Khronos Group, 2012 - Page 2 Processor

More information

Squeezing Performance out of your Game with ATI Developer Performance Tools and Optimization Techniques

Squeezing Performance out of your Game with ATI Developer Performance Tools and Optimization Techniques Squeezing Performance out of your Game with ATI Developer Performance Tools and Optimization Techniques Jonathan Zarge, Team Lead Performance Tools Richard Huddy, European Developer Relations Manager ATI

More information

Making XR a reality for everyone

Making XR a reality for everyone May 29, 2018 @qualcomm Augmented World Expo Making XR a reality for everyone Hugo Swart, Senior Director, Head of XR Business Management Hiren Bhinde, Director, XR Product Management Qualcomm Technologies,

More information

Keeping your GPU fed without getting bitten

Keeping your GPU fed without getting bitten Keeping your GPU fed without getting bitten Tobias Hector May 2017 Copyright Khronos Group 2017 - Page 1 Introduction You have delicious draw calls - Yummy! Copyright Khronos Group 2017 - Page 2 Introduction

More information

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer Real-Time Rendering (Echtzeitgraphik) Michael Wimmer wimmer@cg.tuwien.ac.at Walking down the graphics pipeline Application Geometry Rasterizer What for? Understanding the rendering pipeline is the key

More information

Immersion. Tim Leland Vice President, Product Management Qualcomm Technologies,

Immersion. Tim Leland Vice President, Product Management Qualcomm Technologies, Immersion Tim Leland Vice President, Product Management Qualcomm Technologies, Inc. @qualcomm Capturing life experiences and extending Realities Capture Color is a power which directly influences the soul

More information

Order Matters in Resource Creation

Order Matters in Resource Creation Order Matters in Resource Creation William Damon ATI Research, Inc. wdamon@ati.com Introduction Latencies attributed to loading resources on the fly can seriously impact runtime performance. We typically

More information

Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0

Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0 Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0 FTF-AUT-F0348 Hugo Osornio Luis Olea A P R. 2 0 1 4 TM External Use Agenda Back to the Basics! What is a GPU?

More information

Lecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013

Lecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013 Lecture 9: Deferred Shading Visual Computing Systems The course so far The real-time graphics pipeline abstraction Principle graphics abstractions Algorithms and modern high performance implementations

More information

VR Rendering Improvements Featuring Autodesk VRED

VR Rendering Improvements Featuring Autodesk VRED GPU Technology Conference 2017 VR Rendering Improvements Featuring Autodesk VRED Michael Nikelsky Sr. Principal Engineer, Autodesk Ingo Esser Sr. Engineer, Developer Technology, NVIDIA 2017 Autodesk AGENDA

More information

A New Foundation for the Connected Home. Qualcomm Technologies, Inc. June

A New Foundation for the Connected Home. Qualcomm Technologies, Inc. June A New Foundation for the Connected Home Qualcomm Technologies, Inc. June 2017 @qualcomm The connected home is evolving at a breakneck pace Number of connected devices per home (family of four) 50 24 8

More information

Adding Advanced Shader Features and Handling Fragmentation

Adding Advanced Shader Features and Handling Fragmentation Copyright Khronos Group, 2010 - Page 1 Adding Advanced Shader Features and Handling Fragmentation How to enable your application on a wide range of devices Imagination Technologies Copyright Khronos Group,

More information

Perform. Travis Lanier Sr. Director, Product Management Qualcomm Technologies,

Perform. Travis Lanier Sr. Director, Product Management Qualcomm Technologies, Perform Travis Lanier Sr. Director, Product Management Qualcomm Technologies, Inc. @qualcomm More powerful and longer lasting mobile experiences Because nobody wants to be this person U.K. U.S. Germany

More information

Making always-on vision a reality. Dr. Evgeni Gousev Sr. Director, Engineering Qualcomm Technologies, Inc. September 22,

Making always-on vision a reality. Dr. Evgeni Gousev Sr. Director, Engineering Qualcomm Technologies, Inc. September 22, Making always-on vision a reality Dr. Evgeni Gousev Sr. Director, Engineering Qualcomm Technologies, Inc. September 22, 2017 @qualcomm Outline 1. Problem statement Challenges to develop always-on vision

More information

Update on Khronos Open Standard APIs for Vision Processing Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem

Update on Khronos Open Standard APIs for Vision Processing Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem Update on Khronos Open Standard APIs for Vision Processing Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem Copyright Khronos Group 2015 - Page 1 Copyright Khronos Group 2015 - Page

More information

Date: 13 June Location: Sophia Antipolis. Integrating the SIM. Dr. Adrian Escott. Qualcomm Technologies, Inc.

Date: 13 June Location: Sophia Antipolis. Integrating the SIM. Dr. Adrian Escott. Qualcomm Technologies, Inc. Date: 13 June 2018 @qualcomm Location: Sophia Antipolis Integrating the SIM Dr. Adrian Escott Qualcomm Technologies, Inc. Agenda 1 2 3 4 5 6 Path to isim isim Size benefit Hardware Architecture Certification

More information

Engine Development & Support Team Lead for Korea UE4 Mobile Team Lead

Engine Development & Support Team Lead for Korea UE4 Mobile Team Lead Jack Porter Engine Development & Support Team Lead for Korea UE4 Mobile Team Lead I ve worked on Unreal Engine development since 1998! Contributed to Unreal Tournament & Gears of War series Introduction

More information

Prospects for a more robust, simpler and more efficient shader cross-compilation pipeline in Unity with SPIR-V

Prospects for a more robust, simpler and more efficient shader cross-compilation pipeline in Unity with SPIR-V Prospects for a more robust, simpler and more efficient shader cross-compilation pipeline in Unity with SPIR-V 2015/04/14 - Christophe Riccio, OpenGL Democratizing games development Monument Valley by

More information

LPGPU Workshop on Power-Efficient GPU and Many-core Computing (PEGPUM 2014)

LPGPU Workshop on Power-Efficient GPU and Many-core Computing (PEGPUM 2014) A practitioner s view of challenges faced with power and performance on mobile GPU Prashant Sharma Samsung R&D Institute UK LPGPU Workshop on Power-Efficient GPU and Many-core Computing (PEGPUM 2014) SERI

More information

DEVELOPER DAY. Vulkan Subgroup Explained Daniel Koch NVIDIA MONTRÉAL APRIL Copyright Khronos Group Page 1

DEVELOPER DAY. Vulkan Subgroup Explained Daniel Koch NVIDIA MONTRÉAL APRIL Copyright Khronos Group Page 1 DEVELOPER DAY Vulkan Subgroup Explained Daniel Koch (@booner_k), NVIDIA MONTRÉAL APRIL 2018 Copyright Khronos Group 2018 - Page 1 Copyright Khronos Group 2018 - Page 2 Agenda Motivation Subgroup overview

More information

Distributed Virtual Reality Computation

Distributed Virtual Reality Computation Jeff Russell 4/15/05 Distributed Virtual Reality Computation Introduction Virtual Reality is generally understood today to mean the combination of digitally generated graphics, sound, and input. The goal

More information

The Future of Mobility. Keith Kressin Senior Vice President, Product Management Qualcomm Technologies,

The Future of Mobility. Keith Kressin Senior Vice President, Product Management Qualcomm Technologies, The Future of Mobility Keith Kressin Senior Vice President, Product Management Qualcomm Technologies, Inc. @qualcomm The future of mobility Path to 5G extended Reality Artificial Intelligence Trends Evolution

More information