open standards for parallel processing and data … · open standards for parallel processing and...

24
© Copyright Khronos Group 2012 | Page 1 Open Standards for Parallel Processing and Data Visualization Neil Trevett President, The Khronos Group Vice President Mobile Content, NVIDIA

Upload: ngotuong

Post on 06-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

© Copyright Khronos Group 2012 | Page 1

Open Standards for Parallel Processing and Data Visualization

Neil Trevett President, The Khronos Group

Vice President Mobile Content, NVIDIA

© Copyright Khronos Group 2012 | Page 2

Topics • Overview of Khronos

- Creating open standards for hardware acceleration

• OpenCL

- Portable heterogeneous parallel programming

• OpenGL

- Advanced 3D visualization

• WebGL

- Portable 3D visualization in HTML5

© Copyright Khronos Group 2012 | Page 3

APIs BY the Industry FOR the Industry • Khronos APIs define processor acceleration capabilities

- Graphics, video, audio, compute, vision and sensor processing

• Khronos standards have strong industry momentum

- Shipping on billions of devices and multiple operating systems

• Khronos is OPEN for any company to join and participate

- Standards are truly open – one company, one vote

• Khronos APIs define core device acceleration functionality

- Low-level “Foundation” functionality needed on every platform

• They are FREE

- No royalties

Software

Silicon

© Copyright Khronos Group 2012 | Page 5

Khronos in Korea • KITE Korea

- Network of educators for educational collaboration

- Develops courseware, books, translations

• Korea Center

- Physical Center and KITE activities in Korea

- Kyungpook National University “3D Fusion Technology Center”

- Facilities and equipment for training and educational events

• Khronos Korea Chapters

- Anyone can participate without charge, with local chapter leaders

- Social exchange via e-Newsletters, Networking, Meetups

- Khronos sponsorship and logistical support

- Local assistance by Huone

- Looking for local chapter volunteers!

© Copyright Khronos Group 2012 | Page 6

Khronos Standards

2000 2003 2004 2005 2006 2008 2009 2011

Embedded and Mobile 3D

Advanced Audio

Parallel Computing

Camera, Images and Streaming Media

3D Digital Asset Exchange format

Vector 2D

Cross platform desktop 3D

Plugin-free 3D Web Content

Web Compute

Hardware accelerated vision functions

OpenVL

Unified Sensor and Input Processing

15 Active Standards

© Copyright Khronos Group 2012 | Page 7

Processor Parallelism

CPUs Multiple cores driving performance increases

GPUs Increasingly general purpose data-parallel

computing

Graphics APIs and Shading

Languages

Multi-processor

programming – e.g. OpenMP

Emerging Intersection

Heterogeneous Computing

OpenCL is a programming framework for heterogeneous compute resources

© Copyright Khronos Group 2012 | Page 8

OpenCL – Heterogeneous Computing • Framework for programming diverse

parallel computing resources in a system

• Platform Layer API

- Query, select and initialize compute devices

• Kernel Language Specification

- Subset of ISO C99 with language extensions

• Runtime API

- Execute compute kernels multiple devices

- Gather results

© Copyright Khronos Group 2012 | Page 9

OpenCL Working Group Members

• Diverse industry participation – many industry experts

- Processor vendors, system OEMs, middleware vendors, application developers

- Academia and research labs, FPGA vendors

• NVIDIA is chair, Apple is specification editor

Apple

© Copyright Khronos Group 2012 | Page 10

OpenCL Milestones • Six months from proposal to released OpenCL 1.0 specification

- Due to a strong initial proposal and a shared commercial incentive

• Multiple conformant implementations shipping on desktop

- For CPUs and GPUs on multiple OS

• 18 month cadence between releases

- Backwards compatibility protects software investment

OpenCL 1.0 released – conformance tests

released Dec08

Dec08

Jun10

OpenCL 1.1 Specification and

conformance tests released

Nov11

OpenCL 1.2 Specification and

conformance tests released

2012

OpenCL on mobile platforms

begin to ship

© Copyright Khronos Group 2012 | Page 11

OpenCL Desktop Implementations • http://developer.amd.com/zones/OpenCLZone/

• http://software.intel.com/en-us/articles/opencl-sdk/

• http://developer.nvidia.com/opencl

© Copyright Khronos Group 2012 | Page 12

OpenCL Roadmap

Long-term Core Roadmap Exploring enhanced memory and execution model flexibility to catalyze and expose emerging hardware capabilities

OpenCL-SPIR (Standard Parallel Intermediate Representation)

Exploring low-level Intermediate Representation for code obfuscation/security and to provide target back-end for alternative high-level languages

OpenCL-HLM (High Level Model)

Exploring high-level programming model, unifying host and device execution environments through language syntax for increased usability and broader optimization opportunities

© Copyright Khronos Group 2012 | Page 13

High Level GPU Compute Initiatives

C++ Accelerated Massive Parallelism (C++ AMP)

RenderScript

GPU Compute Acceleration

Offload to data-parallel hardware through C++ syntax/compiler extensions

C/C++ Compiler Directives to steer offload

of code sections to accelerators

HLM

CUDA

C/C++ compilers and libraries for CPU/GPU programming

C-level 3D rendering and compute APIs for offload from Dalvik applications with JIT compilation for device portability

Aparapi

Express data parallel workloads in Java and convert byte code into OpenCL for GPU offload

© Copyright Khronos Group 2012 | Page 14

OpenGL for Each Hardware Generation

Geometry Shaders

1.X

Fixed Function

2.X

Vertex and Fragment Shaders

3.X

Tessellation and Compute

4.X

‘Surface realism’

‘Shape realism’

Advanced 3D functionality available on PC, MAC and Linux systems

© Copyright Khronos Group 2012 | Page 15

2004 2006 2008 2009 2010 2005 2007 2011

Accelerating OpenGL Innovation

DirectX 10.1

OpenGL 2.1 OpenGL 3.0

OpenGL 3.1

DirectX 9.0c DirectX 10.0 DirectX 11

OpenGL 3.2

OpenGL 3.3/4.0

OpenGL 4.1

Bringing state-of-the-art functionality to cross-platform graphics

© Copyright Khronos Group, 2011 - Page 16

Graphics Compute Interop

OpenGL and OpenCL have direct interoperability - OpenCL memory objects can be created from OpenGL

Textures, Buffer Objects and Renderbuffers - Can send events between the two APIs so memory object

access is synchronized

Enables computations to be visualized and computation to enhance graphics rendering

© Copyright Khronos Group 2012 | Page 17

HTML5 – Cross OS App Platform • Increasing diversity of devices

creates a demand for a true cross OS

programming platform

• BUT need more than “more HTML”

Rich Experiential Processing Multi-core CPUs

Rich 2D and 3D GPU GPU Computing

Multiple HD cameras Image and vision processing

Video encode/decode Audio encode/decode

Inertial and positional sensors

How can the Browser rapidly assimilate such diverse functionality?

Traditional Web-content

© Copyright Khronos Group 2012 | Page 18

Content JavaScript, HTML, CSS, ...

WebGL Implementation Anatomy

JavaScript Middleware

WebGL HTML5

JavaScript CSS

Browser provides WebGL functionality alongside other HTML5 specs

- no plug-in required

OS Provided Drivers. WebGL on Windows can use Google Angle to create

conformant OpenGL ES 2.0 over DX9

OpenGL ES 2.0 OpenGL

DX9/Angle

Content downloaded from the Web. Middleware can make WebGL accessible to

non-expert 3D programmers

© Copyright Khronos Group 2012 | Page 19

Universal Remote WebGL Visualization

Any inexpensive workstation, PC or mobile device running an HTML5 browser with WebGL can display 3D visualizations Large or sensitive data sets can remain on the server – just results transmitted

© Copyright Khronos Group 2012 | Page 20

WebGL – Being Used by Millions Every Day

© Copyright Khronos Group 2012 | Page 21

WebGL Deployment • WebGL 1.0 Released at GDC March 2011

- Mozilla, Apple, Google and Opera working closely with GPU vendors

- WebGL can be enabled in Internet Explorer with Chrome Frame

https://developers.google.com/chrome/chrome-frame/

• Mobile WebGL beginning to ship – Firefox, Opera

- Pervasive mobile WebGL expected during 2012

http://caniuse.com/#search=webgl

WebGL is not enabled by default in desktop Safari. On iOS 5 WebGL is available to iAds

© Copyright Khronos Group 2012 | Page 22

Need for 3D Transmission Standard • Need efficient codecs for 3D assets to grow 3D market opportunities

- Approaching chaos in 3D data encodings used in WebGL browsers and apps

- Binary encoding – can be used together with JSON and RESTful APIs

• Possible key requirements for common 3D binary encoding

- Full-scene - Geometry, textures, materials, animations, physics etc.

- Compression of textures and geometry with streaming support with LOD flexibility

• MPEG doing work on this - can achieve 1:40 – 1:120 compression

- Progressive Streaming using 3D Mesh Coding (3DMC)

- Bones Based Animation (BBA)

• Khronos and MPEG (ISO SC29) exploring collaboration

Audio Video Images 3D

MP3 H.264 PNG/JPEG ? ?

© Copyright Khronos Group 2012 | Page 23

Tools for Compute / Visualization Emerging • OpenCL Studio

- Integrates OpenCL and OpenGL into a single development environment for high

performance computing and visualization http://www.opencldev.com/home

• Voreen 4.0

- Runtime editing of OpenCL kernels and GLSL shaders for volume and image

processing http://voreen.uni-muenster.de/

© Copyright Khronos Group 2012 | Page 24

In Summary • Khronos is developing and evolving royalty-free standard APIs for parallel

computation and 3D visualization

• OpenCL and OpenGL can tightly interoperate to enable advanced visual

computing applications

• WebGL is enabling portable 3D visual visualization capabilities to any

device with an HTML5 browser

• Khronos is driving open standards for hardware acceleration

Participate, change the industry AND get the inside edge for your products!

Connecting Software to Silicon