Khronos Releases OpenCL 2.2 With SPIR-V 1.2

Market feedback incorporated to finalize OpenCL 2.2 release with full OpenCL specifications and conformance tests placed in open source

May 16, 2017 – IWOCL 2017, Toronto – The Khronos™ Group, an open consortium of leading hardware and software companies, announces the immediate availability of the finalized OpenCL™ 2.2 specification, incorporating industry feedback received from developers during the provisional specification review period. In addition to releasing the specification in final form, Khronos has, for the first time, released the full source of the specifications and conformance tests for OpenCL 2.2 onto GitHub to enable deeper community engagement. The conformance tests for OpenCL versions 1.2, 2.0 and 2.1 have also been released on GitHub with more open-source releases to follow. The Windsor Testing Framework, also released today, enables developers to quickly install and configure the OpenCL Conformance Test Suite on their own systems.

OpenCL 2.2 brings the most developer-requested feature into core — the new OpenCL C++ kernel language for significantly enhanced parallel programming productivity. OpenCL™ 2.2 has been released in parallel with SPIR-V 1.2 which brings full support for the new OpenCL C++ kernel language into the Khronos-defined intermediate language. OpenCL 2.2 finalization further complements SYCL 2.2, which leverages OpenCL 2.2 to provide the power of single source C++ programming.

“By finalizing OpenCL 2.2, Khronos has delivered on its promise to make C++ a first-class kernel language in the OpenCL standard,” said Neil Trevett, OpenCL chair and Khronos president. “The OpenCL working group is now free to continue its work with SYCL, to converge the power of single source parallel C++ programming with standard ISO C++, and to explore new markets and opportunities for OpenCL — such as embedded vision and inferencing. We are also working to converge with, and leverage, the Khronos Vulkan API — merging advanced graphics and compute into a single API.”

Khronos is proud to announce these new features at the IWOCL 2017 Conference, hosted at the University of Toronto and sponsored by the Fields Institute, in Toronto, Canada, where participants have a choice of four tutorials, 19 technical sessions, a Khronos panel discussion, posters, demos, and a conference dinner and networking event. The Khronos Group, alongside other Khronos Group Members, is the primary sponsor of IWOCL.

The new specifications for OpenCL 2.2 and SPIR-V 1.2 can be found at www.khronos.org.

About OpenCL 2.2

OpenCL 2.2 defines the OpenCL C++ kernel language as a static subset of the C++14 standard. OpenCL C++ includes classes, templates, lambda expressions, function overloads and many other constructs to increase parallel programming productivity through generic and meta-programming.

OpenCL library functions can now take advantage of the C++ language to provide increased safety and reduced undefined behavior while accessing features such as atomics, iterators, images, samplers, pipes, and device queue built-in types and address spaces.

Pipe storage is a new device-side type in OpenCL 2.2 that is useful for FPGA implementations by making connectivity size and type known at compile time, enabling efficient device-scope communication between kernels.

OpenCL 2.2 also includes features for enhanced optimization of generated code: applications can provide the value of specialization constants at SPIR-V compilation time, a new query can detect non-trivial constructors and destructors of program scope global objects, and user callbacks can be set at program release time.

About SPIR-V 1.2

SPIR-V (Standard Portable Intermediate Representation) is the first open standard, cross-API intermediate language for natively representing parallel compute and graphics. As well as supporting the OpenCL C++ kernel language, SPIR-V 1.2 adds support for runtime specialization of key tuning parameters in OpenCL 2.2 such as workgroup size.

About SYCL 2.2

SYCL lets developers easily accelerate C++ software on OpenCL devices. SYCL is used in artificial intelligence frameworks because it matches the single-source programming style that enables complex deep learning graphs to use accelerators efficiently. SYCL 2.2 adds the capabilities of OpenCL 2.2 to the SYCL specification.

The open-source C++ 17 Parallel STL for SYCL, hosted by Khronos, will enable the upcoming C++ standard to support OpenCL 2.2 features such as shared virtual memory, generic pointers and device-side enqueue.

OpenCL C++ and SYCL between them now provide developers the choice of two C++ approaches. For developers who want to separate their device-side kernel source code and their host code, the C++ kernel language can be the best option. This is the approach taken with OpenCL C today, as well as the widely-adopted approach taken by shaders in graphics software. The alternative approach, commonly called 'single-source' C++, is the approach taken by SYCL, CUDA, OpenMP and the C++ 17 Parallel STL. By specifying both SYCL and the C++ kernel language, Khronos provides developers maximum choice, while aligning the two specifications so that code can be easily shared between these complementary approaches.

Industry Support for OpenCL 2.2

“Imagination Technologies is committed to helping drive standards around heterogeneous processing and GPU compute. It’s critical that the industry continues to improve the GPU compute programming model, and Khronos is playing a key role in these efforts through the continued momentum with OpenCL 2.2 and SPIR-V 1.2. Our customers continue to demand enhanced compute capability on the GPU and our newly announced PowerVR Series8XT cores support OpenCL 2.2 to further the use cases for our GPUs,” said Graham Connor, senior director, Imagination Technologies.

“We are very excited and happy to see OpenCL C++ kernel language being a part of the OpenCL standard," said Vincent Hindriksen, founder and managing director of StreamHPC. "It's a great achievement, and it shows that OpenCL keeps progressing. After developing conformance tests for OpenCL 2.2 and helping finalizing OpenCL C++ specification, we are looking forward to work on first projects with OpenCL 2.2 and the new kernel language. My team believes that using OpenCL C++ instead of OpenCL C will result in improved software quality, reduced maintenance effort and faster time to market. We expect SPIR-V to heavily impact the compiler ecosystem and bring several new OpenCL kernel languages.”

“The University of Windsor has been actively involved in utilizing OpenCL in aspects of automotive research and heterogeneous computing and also developing software build and test frameworks that are vital for achieving programming goals. We are committed to continuing our academic membership in Khronos and are proud to lend our organizational support to IWOCL 2017,” said Robert Kent, Computer Science, University of Windsor.

“It is fitting that OpenCL C++ and SPIR-V, two critical technologies for machine learning, are launched here in Toronto, a global focal point for AI. As a Canadian entrepreneur with a technology startup, I am proud of my role in the development of these technologies within Khronos alongside these amazing industry leaders, and bringing the IWOCL event to Toronto. Anyone who is not familiar with OpenCL risks being left behind the technology curve,” said AJ Guillon, founder, YetiWare.

For more information about The Khronos Group visit Khronos.org.

About The Khronos Group

The Khronos Group is an industry consortium creating open standards to enable the authoring and acceleration of parallel computing, graphics, vision and neural nets on a wide variety of platforms and devices. Khronos standards include Vulkan®, OpenGL®, OpenGL® ES, OpenGL® SC, WebGL™, SPIR-V™, OpenCL™, SYCL™, OpenVX™, NNEF™, COLLADA™, OpenXR™ and glTF™. Khronos members are enabled to contribute to the development of Khronos specifications, are empowered to vote at various stages before public deployment, and are able to accelerate the delivery of their cutting-edge accelerated platforms and applications through early access to specification drafts and conformance tests.

###

Vulkan is a registered trademark of The Khronos Group. Khronos, OpenXR, DevU, SPIR, SPIR-V, SYCL, WebGL, WebCL, COLLADA, OpenKODE, OpenVG, OpenVX, EGL, glTF, OpenKCAM, StreamInput, OpenWF, OpenSL ES, NNEF and OpenMAX are trademarks of the Khronos Group Inc. OpenCL is a trademark of Apple Inc. and OpenGL is a registered trademark and the OpenGL ES and OpenGL SC logos are trademarks of Silicon Graphics International used under license by Khronos. All other product names, trademarks, and/or company names are used solely for identification and belong to their respective owners.

Khronos Releases OpenVX 1.2 Specification for Cross-Platform Acceleration of Power-Efficient Vision Processing

New functionality includes neural network acceleration, feature detection, image classification, and conditional graph processing. First public release of OpenVX SC for vision acceleration in safety critical systems

May 1, 2017 – Embedded Vision Alliance Summit – Santa Clara, CA – The Khronos Group, an open consortium of leading hardware and software companies, announces the immediate release of the OpenVX1.2 specification for cross-platform acceleration of computer vision applications and libraries. OpenVX is a high-level, graph-based API targeted at real-time mobile and embedded platforms. This open, cross-platform, royalty-free standard enables performance-portable, power-optimized computer vision applications such as face, body, and gesture tracking, smart video surveillance, autonomous driver assistance systems, visual inspection, and robotics. Core OpenVX 1.2 has significantly expanded functionality, including conditional execution, feature detection, and classification operations.

Three new extensions released alongside OpenVX 1.2 enable the import and export of verified, optimized graphs, 16-bit image operations, and neural network inferencing acceleration. The import/export extension enables a user to “compile” a graph offline, save or “export” it, and then at run-time efficiently “import” and execute it. The 16-bit extension provides signed 16-bit image data support for most image operations. The neural network extension introduces OpenVX graph nodes corresponding to common neural network operation layers, e.g. convolution, deconvolution, activation, normalization, pooling, and softmax, to enable the expression and low-power acceleration of neural network-based algorithms such as object detection and recognition.

OpenVX abstracts a vision processing execution and memory model as a graph of operations, a much higher level than general compute frameworks such as OpenCL. This enables significant implementation innovation and efficient execution on a wide range of architectures, while maintaining performance portability and a consistent API surface for vision application development. The flexibility of OpenVX enables applications to run on a diverse range of systems optimized for different levels of power and performance, including very battery-sensitive, vision-enabled wearable displays. OpenVX 1.2 significantly expands the OpenVX vision operator and graph framework capabilities, including:

  • Feature detection for object detection and recognition;
  • Classification operations for detection and recognition of objects based on a set of features;
  • Enhanced range of image processing operations;
  • Conditional execution of nodes for significantly expanded control and flexibility in expressing complex operations in an OpenVX graph.

Vision processing will be a vital component of many emerging safety-critical markets, including Advanced Driver Assistance Systems (ADAS), autonomous vehicles and medical and process-control applications. Today, Khronos has released OpenVX SC 1,1, a modification of OpenVX 1.1 specification targeted at safety critical systems, to assist in efficient system certification to meet the stringent requirements of these high reliability markets. OpenVX SC leverages the import/export extension to define a run-time-only “deployment feature set.” A developer can use a complete set of graph construction features and development tools to implement the application, and then verify, compile, and export the verified graph in a binary format. Then the restricted “deployment” implementation executes on the target hardware by reading the binary format and executing the pre-compiled graphs.

Frank Brill, Khronos Group OpenVX Working Group Chairperson, will present “The OpenVX Computer Vision Library Standard for Portable, Efficient Code,” at Embedded Vision Summit in Santa Clara on May 1 from 2:30-3:00 p.m. Details on the talk at Embedded Vision Summit can be found here: https://www.embedded-vision.com/summit/openvx-computer-vision-library-standard-portable-efficient-code.

Khronos will also host the OpenVX Workshop for Neural Network Acceleration at Embedded Vision Summit on Wednesday, May 3 from 9:00 am to 5:00 pm, including a new curriculum on computer vision algorithms for feature tracking and neural networks mapped to the graph API. There will be a hands-on interactive session for participants. Registration is open at: https://www.embedded-vision.com/summit/khronos-openvx-workshop.

Details on the OpenVX specifications and associated Adopters Program are available at: www.khronos.org/openvx.

Industry Support for OpenVX 1.2

"Computer vision applications are becoming increasingly important to a variety of scientific and consumer fields. AMD applauds The Khronos Group’s efforts on the OpenVX specification to accelerate these workloads, and offers continued support for open, royalty-free standards like OpenVX, which when used with AMD’s free, open-source deep learning library, MIOpen, creates a rich foundation for accelerating machine intelligence implementations,” said Greg Stoner, senior director, Radeon Open Compute, Radeon Technologies Group, AMD.

Cadence is an active contributor to the development of the OpenVX standards, and we are encouraged to see OpenVX expand in scope to encompass both neural network object-recognition capabilities and core image-processing functions,” said Steve Roddy, senior group director, Tensilica marketing at Cadence. “With the new capabilities, OpenVX offers a viable platform for all vision-related computation in embedded systems. Cadence® Tensilica® Vision P-Series DSPs are the first certified as conformant with the v1.1 implementation, and we plan to pursue implementations of the new v1.2 standard.

OpenVX is becoming the preferred framework for real-world deployment of vision applications. At Imagination we support OpenVX including its CNN extensions across our PowerVR GPUs and vision technologies. We think developers will be excited about OpenVX 1.2 with its expanded features for vision processing, including tensor support, neural network extension and graph optimization – all of which will make it faster and easier to implement innovative vision applications,” said Chris Longstaff, Imagination’s senior director of product and technology marketing for PowerVR.

Texas Instruments reinforces our support of OpenVX and its benefits to customers developing ADAS-to-autonomous applications for the automotive market,” said Alan Rankin, Product Line Manager of ADAS Processors at Texas Instruments. “As part of our on-going effort to provide an easy-to-use platform for customers developing embedded ADAS applications on multi-core, heterogeneous architectures such as the TI Driver Assist (TDAx) SoC product line, TI’s Vision SDK will soon undergo conformance testing for OpenVX-compliance.

VeriSilicon welcomes OpenVX as an industry standard with more than 15 additional standard kernels that further unlock the unique hardware capabilities in our Vision Image Processor (VIP) IP and partner solutions. OpenVX 1.2 is an important milestone to standardize the robust set of hardware optimized and fully programmable vision and optimized neural network capabilities in our VIP product line, which was first launched as a licensable IP in 2015 and is now found in commercial silicon embedded applications for ADAS, security client and industrial vision,” said Weijin Dai, Executive Vice President, Chief Strategy Officer, VeriSilicon. “As a Khronos Promoter, we believe OpenVX is the most important enabler for the world-changing technology of embedded computer vision. VeriSilicon was honored to have been chosen to be the editor of the OpenVX 1.2 specification and we eagerly look forward to its worldwide adoption. VeriSilicon is hosting a series of targeted workshops, together with our partners at the Embedded Vision Summit focusing on practical applications representing the current state of the art on May 3rd at the Santa Clara Convention Center which will highlight the power and promise of OpenVX 1.2.

For more information about The Khronos Group visit Khronos.org.

About The Khronos Group

The Khronos Group is an industry consortium creating open standards to enable the authoring and acceleration of parallel computing, graphics, vision and neural nets on a wide variety of platforms and devices. Khronos standards include Vulkan®, OpenGL®, OpenGL® ES, OpenGL® SC, WebGL™, SPIR-V™, OpenCL™, SYCL™, OpenVX™, NNEF™, COLLADA™, OpenXR™ and glTF™. Khronos members are enabled to contribute to the development of Khronos specifications, are empowered to vote at various stages before public deployment, and are able to accelerate the delivery of their cutting-edge accelerated platforms and applications through early access to specification drafts and conformance tests.

###

Vulkan is a registered trademark of The Khronos Group. Khronos, OpenXR, DevU, SPIR, SPIR-V, SYCL, WebGL, WebCL, COLLADA, OpenKODE, OpenVG, OpenVX, EGL, glTF, OpenKCAM, StreamInput, OpenWF, OpenSL ES, NNEF and OpenMAX are trademarks of the Khronos Group Inc. OpenCL is a trademark of Apple Inc. and OpenGL is a registered trademark and the OpenGL ES and OpenGL SC logos are trademarks of Silicon Graphics International used under license by Khronos. All other product names, trademarks, and/or company names are used solely for identification and belong to their respective owners.

safety