Copyright Khronos Group Page 1. Vulkan Overview. June 2015

Similar documents
Khronos Connects Software to Silicon

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

Vulkan Launch Webinar 18 th February 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

SIGGRAPH Briefing August 2014

Vulkan 1.1 March Copyright Khronos Group Page 1

Copyright Khronos Group Page 1

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

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

Ecosystem Overview Neil Trevett Khronos President NVIDIA Vice President Developer

Copyright Khronos Group Page 1

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

Accelerating Vision Processing

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

WebGL Meetup GDC Copyright Khronos Group, Page 1

Mobile AR Hardware Futures

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

Standards for Vision Processing and Neural Networks

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

Open Standard APIs for Augmented Reality

Khronos and the Mobile Ecosystem

Copyright Khronos Group Page 1

Copyright Khronos Group Page 1

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

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

HSA Foundation! Advanced Topics on Heterogeneous System Architectures. Politecnico di Milano! Seminar Room (Bld 20)! 15 December, 2017!

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

AR Standards Update Austin, March 2012

Bifrost - The GPU architecture for next five billion

HSA foundation! Advanced Topics on Heterogeneous System Architectures. Politecnico di Milano! Seminar Room A. Alario! 23 November, 2015!

The OpenVX Computer Vision and Neural Network Inference

OpenCL Press Conference

Overview and AR/VR Roadmap

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

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

EECS 487: Interactive Computer Graphics

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

Silicon Acceleration APIs

OpenCL: History & Future. November 20, 2017

WebGL, WebCL and Beyond!

Introduction to SPIR-V Shaders

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

Dave Shreiner, ARM March 2009

ASYNCHRONOUS SHADERS WHITE PAPER 0

Copyright Khronos Group Page 1

SYCL for OpenCL in a Nutshell

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

Introduction to OpenGL ES 3.0

Vulkan API 杨瑜, 资深工程师

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

Vision Acceleration. Launch Briefing October Neil Trevett Vice President Mobile Ecosystem, NVIDIA President, Khronos Group

Working with Metal Overview

Mobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair

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

CLICK TO EDIT MASTER TITLE STYLE. Click to edit Master text styles. Second level Third level Fourth level Fifth level

Overview. Technology Details. D/AVE NX Preliminary Product Brief

Open Standards for Today s Gaming Industry

DEVELOPER DAY MONTRÉAL APRIL Copyright Khronos Group Page 1

POWERVR MBX & SGX OpenVG Support and Resources

Bringing it all together: The challenge in delivering a complete graphics system architecture. Chris Porthouse

THE PROGRAMMER S GUIDE TO THE APU GALAXY. Phil Rogers, Corporate Fellow AMD

Copyright Khronos Group, Page 1 SYCL. SG14, February 2016

Profiling and Debugging Games on Mobile Platforms

Next Generation Visual Computing

Standards Update. Copyright Khronos Group Page 1

Copyright Khronos Group, Page 1

The Bifrost GPU architecture and the ARM Mali-G71 GPU

Copyright Khronos Group, Page 1

More performance options

Copyright Khronos Group Page 1

Data Model Considerations for Radar Systems

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

Creating the Embedded Media Processing Ecosystem

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

WebGL, WebCL and OpenCL

HTML5 Evolution and Development. Matt Spencer UI & Browser Marketing Manager

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

Mali Developer Resources. Kevin Ho ARM Taiwan FAE

Heterogeneous Computing

OpenMAX AL, OpenSL ES

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

The State of Gaming APIs

HETEROGENEOUS SYSTEM ARCHITECTURE: PLATFORM FOR THE FUTURE

Applications and Implementations

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

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

LIQUIDVR TODAY AND TOMORROW GUENNADI RIGUER, SOFTWARE ARCHITECT

The Benefits of GPU Compute on ARM Mali GPUs

Windows 10 IoT Overview. Microsoft Corporation

Beyond Hardware IP An overview of Arm development solutions

Modern Processor Architectures. L25: Modern Compiler Design

HKG OpenCL Support by NNVM & TVM. Jammy Zhou - Linaro

Introduction to CUDA Algoritmi e Calcolo Parallelo. Daniele Loiacono

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

BUILDING the VIRtUAL enterprise

Graphics Technology Update

Higher Level Programming Abstractions for FPGAs using OpenCL

Open Standard APIs for Embedded Vision Processing

Panel Discussion: The Future of I/O From a CPU Architecture Perspective

Transcription:

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 Any company is welcome many international members one company one vote ROYALTY-FREE specifications State-of-the art IP framework protects members AND the standards Software International, non-profit organization Membership fees cover operating and engineering expenses Low-level silicon APIs needed on every platform Graphics, parallel compute, rich media, vision, sensor and camera processing Silicon API Specifications AND Conformance Tests for cross-vendor portability Strong industry momentum 100s of man years invested by industry experts Well over a BILLION people use Khronos APIs Every Day

BOARD OF PROMOTERS Over 100 members worldwide any company is welcome to join Copyright Khronos Group 2014

Access to 3D on Over 2 BILLION Devices 1.9B Mobiles / year 300M Desktops / year Windows, Mac, Linux 1B Browsers / year Source: Gartner (December 2013) Copyright Khronos Group 2015 - Page 4

The Need for Vulkan Ground-up design of a modern open standard API for driving high-efficiency graphics and compute on GPUs used across diverse devices Simpler drivers for low-overhead efficiency and cross vendor consistency Unified API for mobile, desktop, console and embedded platforms Layered architecture so validation and debug layers unloaded when not needed In the twenty two years since OpenGL was invented the architecture of GPUs and platforms has changed radically GPUs being used for graphics, compute and vision processing on a rapidly increasing diversity of platforms increasing the need for cross-platform standards Copyright Khronos Group 2015 - Page 5

Copyright Khronos Group 2015 - Page 6 Next Generation GPU APIs Ground-up API designs for driving high-efficiency graphics and compute on GPUs One OS One Platform Vendor All Modern Platforms and GPUs An explicit API that is also cross-platform needs careful design balance Unified memory and tiler architectures are first class citizens Vulkan-supported platforms will include Linux, Windows XP to Windows 10, Mobile

Copyright Khronos Group 2015 - Page 7 Vulkan Explicit GPU Control Complex drivers lead to driver overhead and cross vendor unpredictability Error management is always active Driver processes full shading language source Application Traditional graphics drivers include significant context, memory and error management Application responsible for memory allocation and thread management to generate command buffers Direct GPU Control Simpler drivers for low-overhead efficiency and cross vendor consistency Layered architecture so validation and debug layers can be unloaded when not needed Run-time only has to ingest SPIR-V intermediate language Separate APIs for desktop and mobile markets GPU GPU Unified API for mobile, desktop, console and embedded platforms Vulkan delivers the maximized performance and cross platform portability needed by sophisticated engines, middleware and apps

Copyright Khronos Group 2015 - Page 8 Vulkan Layered Ecosystem Applications can use Vulkan directly for maximum flexibility and control Application uses utility libraries to speed development Utility libraries and layers Application Games Engines fully optimized over Vulkan The industry s leading games and engine vendors are participating in the Vulkan working group Developers can choose at which level to use the Vulkan Ecosystem Rich Area for Innovation Many utilities and layers will be in open source Layers to ease transition from OpenGL Domain specific flexibility

Copyright Khronos Group 2015 - Page 9 Vulkan Multi-threading Efficiency CPU Thread Command Buffer 1. Multiple threads can construct Command Buffers in parallel Application is responsible for thread management and synch Command Buffer CPU Thread CPU Thread CPU Thread Command Buffer Command Queue GPU Command Buffer CPU Thread 2. Command Buffers placed in Command Queue by separate submission thread CPU Thread Command Buffer Can create graphics, compute and DMA command buffers with a general queue model that can be extended to more heterogeneous processing in the future

Copyright Khronos Group 2015 - Page 10 Vulkan Tools Architecture Layered design for cross-vendor tools innovation and flexibility - IHVs plug into a common, extensible architecture for code validation, debugging and profiling during development without impacting production performance Common Loader used to enable use of tools layers during debug - Cross-vendor API calls provide debug data Production Path (Performance) Vulkan-based Title Debug Layers can be installed during Development Interactive Debugger Validation Layers Vulkan s Common Loader Debug Layers IHV s Installable Client Driver Debug information via standardized API calls

Copyright Khronos Group 2015 - Page 11 Vulkan Tools Ecosystem Extensible modular architecture encourages many fine-grained layers - new layers can be added easily Khronos encouraging open community of tools e.g. shader debugging Valve, LunarG, Codeplay and others are already driving the development of open source Vulkan tools Customized interactive debugging and validation layers will be available together with first drivers Prototype Vulkan Debugger from Valve and LunarG LunarG.com/Vulkan

Copyright Khronos Group 2015 - Page 12 Vulkan Enhancing Driver Reliability Streamlined API is easier to implement and test SPIR-V intermediate language improves shader program portability and reduces driver complexity Crossvendor Portability Open source conformance test source components for community engagement

Copyright Khronos Group 2015 - Page 13 Vulkan Language Ecosystem GLSL Shader Source GLSL will be first shading language supported by Vulkan Game Engines Can flexibly target SPIR-V and Vulkan back-ends Future diversity in domainspecific languages, frameworks and tools Khronos is considering open sourcing compiler front-ends GLSL to SPIR-V Translator E.g. C++ Shading Language SPIR-V ingest supported in Vulkan core Vulkan Runtime Device X Device Y Device Z

Copyright Khronos Group 2015 - Page 14 SPIR-V Transforms the Language Ecosystem First multi-api, intermediate language for parallel compute and graphics - Native representation for Vulkan shader and OpenCL kernel source languages - https://www.khronos.org/registry/spir-v/papers/whitepaper.pdf Cross vendor intermediate representation - Language front-ends can easily access multiple hardware run-times - Acceleration hardware can leverage multiple language front-ends - Encourages tools for program analysis and optimization in SPIR form Multiple Developer Advantages Same front-end compiler for multiple platforms Reduces runtime kernel compilation time Don t have to ship shader/kernel source code Drivers are simpler and more reliable SPIR-V is a significant convergence point in the language ecosystem for graphics and parallel computation Tools for analysis and optimization Diverse Languages and Frameworks Hardware runtimes on multiple architectures Standard Portable Intermediate Representation

Copyright Khronos Group 2015 - Page 15 Evolution of SPIR Family SPIR V is first fully specified Khronos-defined SPIR standard - Does not use LLVM to isolate from LLVM roadmap changes - Includes full flow control, graphics and parallel constructs beyond LLVM - Khronos will open source SPIR-V <-> LLVM conversion tools SPIR 1.2 SPIR 2.0 SPIR-V LLVM Interaction Uses LLVM 3.2 Uses LLVM 3.4 100% Khronos defined Round-trip lossless conversion Compute Constructs Metadata/Intrinsics Metadata/Intrinsics Native Graphics Constructs No No Native Supported Language Feature Set OpenCL C 1.2 OpenCL C 1.2 OpenCL C 2.0 OpenCL C 1.2 / 2.0 OpenCL C++ GLSL OpenCL Ingestion OpenCL 1.2 Extension OpenCL 2.0 Extension OpenCL 2.1 Core Vulkan Ingestion - - Vulkan Core

SPIR-V at the Center of Language Ecosystem OpenCL C OpenCL C++ * * GLSL * New kernel and shader Languages * Khronos considering developing open source implementations of these translators Other Intermediate Forms LLVM * SPIR-V 32-bit Word Stream Extensible and easily parsed Retains data object and control flow information for effective code generation and translation Other Languages OpenCL Driver A OpenCL Driver B Vulkan Driver Y Vulkan Driver X Copyright Khronos Group 2015 - Page 16

Copyright Khronos Group 2015 - Page 17 Ground-up Explicit API Redesign Originally architected for graphics workstations with direct renderers and split memory Driver does lots of work: state validation, dependency tracking, error checking. Limits and randomizes performance Threading model doesn t enable generation of graphics commands in parallel to command execution Syntax evolved over twenty years complex API choices can obscure optimal performance path Shader language compiler built into driver. Only GLSL supported. Have to ship shader source Despite conformance testing developers must often handle implementation variability between vendors Matches architecture of modern platforms including mobile platforms with unified memory, tiled rendering Explicit API the application has direct, predictable control over the operation of the GPU Multi-core friendly with multiple command buffers that can be created in parallel Removing legacy requirements simplifies API design, reduces specification size and enables clear usage guidance SPIR-V as compiler target simplifies driver and enables front-end language flexibility and reliability Simpler API, common language front-ends, more rigorous testing increase cross vendor functional/performance portability

Copyright Khronos Group 2015 - Page 18 SPIR-V Advantages for Developers Developers can use same front-end compiler across multiple platforms - Eliminating major source of cross-vendor portability Reduces runtime shader/kernel compilation time - Driver only has to process SPIR-V not full source language Don t have to ship shader/kernel source code - Provides a measure of IP protection Drivers are simpler and more reliable - No need to include front-end compilers SPIR-V Whitepaper - https://www.khronos.org/registry/spir-v/papers/whitepaper.pdf

Vulkan Status Rapid progress since project start in June 2014 - Significant proposals and IP contributions received from members Participants come from all segments of the graphics industry - Including an unprecedented level of participation from game engine ISVs Initial specs and implementations expected this year - Will work on any GPU hardware that supports OpenGL ES 3.1/OpenGL 4.X and up - Can ship on any OS including Windows XP/7/8 Working Group Participants Copyright Khronos Group 2015 - Page 19

Virtual Reality Will Influence Graphics APIs The ability to generate Presence is becoming achievable at reasonable cost - Using visual input to generate subconscious belief in a virtual situation PC-based AND mobile systems - Beginning to enable developer experimentation VR Requirements will affect how graphics APIs generate visual imagery - Control over generation of stereo pairs slightly different view for each eye - Optical system geometric correction in rendering path - Reduce latency through elimination of in-driver buffering - Asynchronously warp framebuffer for instantaneous response to head movement Samsung Gear VR Many companies driving the VR revolution are participating in the Vulkan working group Copyright Khronos Group 2015 - Page 20

Copyright Khronos Group 2015 - Page 21 Khronos Open Standards for Graphics and Compute A comprehensive family of APIs to address the full spectrum of developer requirements 1990 s Workhorse cross-platform API for professional 3D apps and gaming 2000 s Ubiquitous API for mobile gaming and general purpose graphics 2008 Heterogeneous parallel computation Portable intermediate representation for graphics and parallel compute 2014 High-efficiency GPU graphics and compute API for performance critical apps 2015 All APIs will be evolved and maintained to meet industry needs Rich mix of open technologies for future innovation