Vulkan 1.1 March Copyright Khronos Group Page 1

Similar documents
KHRONOS STANDARDS UPDATE. Neil Trevett, GTC, 26 th March 2018

DEVELOPER DAY MONTRÉAL APRIL Copyright Khronos Group Page 1

KHRONOS STANDARDS UPDATE. Neil Trevett, GTC, 26 th March 2018

Copyright Khronos Group Page 1. Vulkan Overview. June 2015

Copyright Khronos Group Page 1

Vulkan Launch Webinar 18 th February Copyright Khronos Group Page 1

SIGGRAPH Briefing August 2014

Copyright Khronos Group Page 1

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

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

Khronos Connects Software to Silicon

Copyright Khronos Group Page 1

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

Copyright Khronos Group Page 1

Standards update and liaison report January 2019

Copyright Khronos Group Page 1

Copyright Khronos Group Page 1

Copyright Khronos Group Page 1

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

Accelerating Vision Processing

EECS 487: Interactive Computer Graphics

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

Ecosystem Overview Neil Trevett Khronos President NVIDIA Vice President Developer

Open Standards for Building Virtual and Augmented Realities. Neil Trevett Khronos President NVIDIA VP Developer Ecosystems

Khronos Updates GDC 2017 Neil Trevett Vice President Developer Ecosystem, NVIDIA President,

Open API Standards for Mobile Graphics, Compute and Vision Processing GTC, March 2014

SYCL for OpenCL in a Nutshell

Dave Shreiner, ARM March 2009

Porting Roblox to Vulkan. Arseny

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

Standards Update. Copyright Khronos Group Page 1

Copyright Khronos Group, Page 1. OpenCL. GDC, March 2010

Copyright Khronos Group, Page 1. Khronos Overview. Taiwan, February 2012

Overview and AR/VR Roadmap

OpenCL: History & Future. November 20, 2017

Mobile AR Hardware Futures

Practical Development for Vulkan. Dan Ginsburg, Valve Baldur Karlsson, Unity Dean Sekulic, Croteam

Navigating the Vision API Jungle: Which API Should You Use and Why? Embedded Vision Summit, May 2015

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

Vulkan API 杨瑜, 资深工程师

Khronos and the Mobile Ecosystem

AR Standards Update Austin, March 2012

Copyright Khronos Group 2012 Page 1. OpenCL 1.2. August 2012

WebGL Meetup GDC Copyright Khronos Group, Page 1

OpenCL Press Conference

Copyright Khronos Group, Page 1

Standards for Vision Processing and Neural Networks

Introduction to SPIR-V Shaders

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

Taipei Embedded Outreach OpenCL DSP Profile Proposals

Open Standards for Vision and AI Peter McGuinness NNEF WG Chair CEO, Highwai, Inc May 2018

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

More performance options

Modern Processor Architectures (A compiler writer s perspective) L25: Modern Compiler Design

Enabling a Richer Multimedia Experience with GPU Compute. Roberto Mijat Visual Computing Marketing Manager

Open Standards for AR and VR Neil Trevett Khronos President NVIDIA VP Developer January 2018

GDC 2014 Barthold Lichtenbelt OpenGL ARB chair

Mali Developer Resources. Kevin Ho ARM Taiwan FAE

Adding Advanced Shader Features and Handling Fragmentation

Achieving High-performance Graphics on Mobile With the Vulkan API

Bringing Vulkan to VR. Cass Everitt, Oculus

Parallel Programming on Larrabee. Tim Foley Intel Corp

Next Generation Visual Computing

OpenMAX AL, OpenSL ES

Bifrost - The GPU architecture for next five billion

Mobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair

Modern Processor Architectures. L25: Modern Compiler Design

PROFESSIONAL VR: AN UPDATE. Robert Menzel, Ingo Esser GTC 2018, March

Neil Trevett Vice President Mobile Ecosystem, NVIDIA President, Khronos Group. Copyright Khronos Group Page 1

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

Vulkan Timeline Semaphores

Using SPIR-V in practice with SPIRV-Cross

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved

Mali Offline Compiler User Guide

The OpenVX Computer Vision and Neural Network Inference

Vulkan Multipass mobile deferred done right

Copyright Khronos Group, Page 1

gltf Briefing September 2016 Copyright Khronos Group Page 1

The Mobile Advantage. Erik Noreke Independent Standardization Consultant Chair, OpenSL ES. Copyright Khronos Group, Page 1

DEVELOPER DAY. Shader Toolchain: HLSL in Vulkan Lei Zhang, Google MONTRÉAL APRIL Copyright Khronos Group Page 1

Open Standards for Today s Gaming Industry

Silicon Acceleration APIs

POWERVR MBX & SGX OpenVG Support and Resources

CSE 591/392: GPU Programming. Introduction. Klaus Mueller. Computer Science Department Stony Brook University

Request for Quotations

Driving Change. Vulkanising Mad Max

Copyright Khronos Group, Page 1

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller

NVSG NVIDIA Scene Graph

Mobile Graphics Trends: Applications. Marco Agus, KAUST & CRS4

Unleashing the benefits of GPU Computing with ARM Mali TM Practical applications and use-cases. Steve Steele, ARM

Introduction to OpenGL ES 3.0

Completing the Multimedia Architecture

ASYNCHRONOUS SHADERS WHITE PAPER 0

OpenGL ES 2.0 : Start Developing Now. Dan Ginsburg Advanced Micro Devices, Inc.

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

Beyond Hardware IP An overview of Arm development solutions

Accelerating Realism with the (NVIDIA Scene Graph)

The PowerVR Insider SDK. PowerVR Developer Technology

Mention driver developers in the room. Because of time this will be fairly high level, feel free to come talk to us afterwards

Transcription:

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 testing Shader toolchain improvements (size, speed, robustness) Shading language flexibility HLSL and OpenCL C support Vulkan Public Ecosystem Forum February 2016 Vulkan 1.0 Vulkan 1.0 Extensions Maintenance updates plus additional functionality Explicit Building Blocks for VR Explicit Building Blocks for Homogeneous Multi-GPU Enhanced Windows System Integration Increased Shader Language Flexibility Enhanced Cross-Process and Cross-API Sharing March 2018 Vulkan 1.1 Building Vulkan s Future Deliver complete ecosystem not just specs Listen and prioritize developer needs Drive GPU technology Integration of Proven and New Technology into Core Widening Platform Support Pervasive GPU vendor driver availability Port Vulkan apps to macos/ios and DX12 Open source drivers Vulkan 1.1 specification launching March 7th with open source conformance tests and tools, and multiple vendor implementations! Copyright Khronos Group 2018 - Page 2

New Generation GPU APIs Non-proprietary, royalty-free open standard By the industry for the industry Portable across multiple platforms - desktop and mobile Modern architecture Low overhead Multi-thread friendly EXPLICIT GPU access for EFFICIENT, LOW-LATENCY, PREDICTABLE performance Vulkan Porting Tools Vulkan is the primary platform 3D API on Android 7.0+ Copyright Khronos Group 2018 - Page 3

Explicit GPU Access Application tells the driver what it is going to do - In enough detail that driver doesn t have to guess - When the driver needs to know it In return, driver promises to do - What the application asks for - When it asks for it - Very quickly Predictable performance costs - Creating pipelines, allocating memory, No driver magic no surprises simpler drivers - Remove guesswork and late decision-making Putting control in the hands of developers - Flexible scheduling of CPU and GPU workloads - Management of memory and synchronization Legacy API Timeline State Context Manipulation State Definitions Explicit API Timeline Implicit Internal Validation & Object Usage API Object Generation API Object Usage Copyright Khronos Group 2018 - Page 4

Pervasive Vulkan 1.0 Major GPU Companies supporting Vulkan for Desktop and Mobile Platforms http://vulkan.gpuinfo.org/ Platforms Consoles Desktop Virtual Reality Mobile Media Players (Android 7.0+) Embedded Cloud Services Game Engines Croteam Serious Engine Copyright Khronos Group 2018 - Page 5

Vulkan is Powering Mobile Gaming... And more. Lineage 2 Revolution Heroes of Incredible Tales Dream League Soccer Copyright Khronos Group 2018 - Page 6

and Enabling Cross-Platform AAA Titles Publicly announced games as of March 2018 #Vulkan = 34 #DX12 = 27 https://en.wikipedia.org/wiki/list_of_games_with_vulkan_support Vulkan-only AAA Titles on PC Dota 2 on PC and macos AAA on Linux Copyright Khronos Group 2018 - Page 7

Vulkan Ecosystem Momentum LunarG Vulkan SDK Download rate increases every year since launch http://vulkan.lunarg.com Vulkan GitHub Open Source Projects end of 2016 Today Copyright Khronos Group 2018 - Page 8

Vulkan Layer Architecture Layered design for cross-vendor tools innovation and flexibility - IHVs plug into a common, extensible layer architecture for code validation, debugging and profiling during development without impacting production performance LunarG open-source Vulkan SDK ships on Windows, Linux and Mac - Validation, debug, and device simulation layers Production Path (Performance) Vulkan-based Title Debug Layers can be installed during Development RenderDoc Frame capture and introspection https://renderdoc.org/ Validation Layers Vulkan s Common Loader Debug Layers IHV s Installable Client Driver Debug information via standardized API calls Copyright Khronos Group 2018 - Page 9

New Vulkan Developer Tools Vulkan Layer Factory (VLF) - Rapid layer development through hiding implementation details Device Simulation Layer - Simulate target device capabilities, without requiring actual physical hardware Assistant Layer - Best practices layer that highlights potential performance issues, questionable usage patterns, common mistakes, and items not specifically prohibited by the Vulkan specification but that may lead to application problems Delivered with the LunarG Vulkan SDK https://vulkan.lunarg.com/ Source available in the LunarG Vulkan Tools repository https://github.com/lunarg/vulkantools Copyright Khronos Group 2018 - Page 10

Public Vulkan Ecosystem Forum A new public forum to share ecosystem issues and opportunities - and coordinate solutions! Vulkan-related open source projects Vulkan Ecosystem Forum (open to both Khronos members and non-members) Vulkan Developer Community Vulkan Working Group and Advisory Panel Go to https://github.com/khronosgroup/vulkan-ecosystem to join the conversation! Copyright Khronos Group 2018 - Page 11

Bringing Vulkan 1.0 Apps to Apple Platforms Dota 2 running on Mac up to 50% faster than native OpenGL Applications Vulkan macos SDK Open source SDK to build, run, and debug applications on macos including validation layer support SPIRV-Cross Convert SPIR-V shaders to platform source formats macos / ios Run-time Maps Vulkan to Metal MoltenVK for macos and ios For macos 10.11, ios 9.0 and up Previously a paid product Now released into OPEN SOURCE Completely free to use - no fees or royalties - including for commercial applications Copyright Khronos Group 2018 - Page 12

SPIR-V Ecosystem Open source tools and translators https://github.com/khronosgroup/spirv-tools Third party kernel and shader languages GLSL HLSL glslang DXC SPIR-V Khronos defined cross-api IR Native graphics and parallel compute Easily parsed/extended 32-bit stream Data object/control flow retained for effective code generation/translation MSL HLSL GLSL SPIRV-Cross OpenCL C Front-end OpenCL C++ Front-end SYCL Front-end SPIR-V Optimizations Inlining (exhaustive) Store/Load Elimination Dead Code Elimination Dead Branch Elimination Common Uniform Elimination Loop Unrolling and Constant Folding Common Subexpression Elimination SPIR-V (Dis)Assembler SPIR-V Validator SPIRV-opt SPIRV-remap Additional Intermediate Forms IHV Driver Runtimes LLVM to SPIR-V Bi-directional Translator LLVM Khronos liaising with Clang/LLVM Community E.g. discussing SPIR-V as supported Clang target SPIR-V 1.3 released with Vulkan 1.1 Copyright Khronos Group 2018 - Page 13

Clspv OpenCL C to Vulkan Compiler Experimental collaboration between Google, Codeplay, and Adobe - Successfully tested on over 200K lines of Adobe OpenCL C production code - Released in open source https://github.com/google/clspv - Tracks top-of-tree LLVM and clang, not a fork Compiles OpenCL C s programming model to Vulkan s SPIR-V execution environment - Proof-of-concept that OpenCL compute can be brought seamlessly to Vulkan OpenCL C Source OpenCL Host Code Existing open source project https://github.com/google/clspv Clspv Compiler Run-time API Translator Possible future open source project Runtime Copyright Khronos Group 2018 - Page 14

New Functionality in Vulkan 1.1 Protected Content - Restrict access or copying from resources used for rendering and display - Secure playback and display of protected multimedia content Subgroup Operations - Efficient mechanisms that enable parallel shader invocations to communicate - Wide variety of parallel computation models supported Example Subgroup Operations A subgroup is a set of invocations (tasks) running on a GPU Compute Unit (Note many GPUs typically support subgroup sizes of 32/64 invocations) 5 2 1 6 7 9 3 4 3 1 3 2 2 3 Active Invocations + X Inactive Invocations 5 5 5 5 3 9 9 7 9 9 9 9 6 6 Broadcast Shuffle Add Clustered Multiply Copyright Khronos Group 2018 - Page 15

Proven Extensions Now in Vulkan 1.1 Core Multiview - A single render pass can render to multiple image views simultaneously - Use cases include rendering left and right eye views to a stereo VR headset, or six face views of a cube map, with a single draw call Device Groups - Enables homogeneous multi-gpu systems such as AMD CrossFireX and NVIDIA SLI for high-performance gaming and VR - Device groups make the number of GPUs in the system relatively transparent to the application - Applications can be written to use one or many GPUs with a minimum of changes Cross-process and Cross-API sharing - Share memory and sync primitives (semaphores and fences) between APIs in a single application, or between multiple applications - Many applications, e.g. allowing a compositor to present images from Vulkan and OpenGL ES applications to the same display device - This features is used in the Valve Steam VR SDK and other advanced mobile platforms Advanced Compute Functionality - Read and write 16-bit quantities stored in GPU memory, and to refer to data structures using a restricted form of pointers - Greatly expands Vulkan s ability to support GPU compute kernels HLSL support - Relaxed block layout enables support for the same memory data layout constraints as Microsoft s HLSL - Enables identical HLSL shaders in both Vulkan and DX applications - Easier translation of HLSL into SPIR-V, the portable compiled shader format accepted by Vulkan YCbCr support - Sample the YCbCr color formatted textures produced by many video codecs - Useful for compositing video streams and mixing them with other graphical content Copyright Khronos Group 2018 - Page 16

Vulkan 1.1 Shipping Today Specification: in open source for community use and feedback Conformance Tests: in open source for responsive bug fixing and enhancements Tools: LunarG SDK and validation/debug/simulation/assistant layers all in open source GPU Vendors with conformant Vulkan 1.1 drivers Khronos' Ongoing Vulkan Mission Continue to build the complete Vulkan Ecosystem Specifications, tests, tools and community Listen and prioritize developer needs Drive GPU technology in the industry Copyright Khronos Group 2018 - Page 17