Neil Trevett, President of The Khronos Group, talks to Architosh in this two-part series about OpenGL and the future of graphics standards. On the eve of SIGGRAPH 2017 Neil Trevett spoke to Architosh about the evolving OpenGL standard as well as directions the group is taking to plot a path for a universal graphics API that engages the use of low-level APIs. Read more about why OpenGL isn't packing for retirement just yet a the key thing in OpenGL 4.6 is SPIR-V is part of core.
Codeplay announces SPIR-V support for ComputeCpp in v0.3.0. This beta implementation of SPIR-V for OpenCL support means that developers can use SYCL and ComputeCpp to develop for any OpenCL hardware that includes a driver that consumes SPIR-V.
OpenGL 4.6 adds support for SPIR-V extensions (GL_ARB_spirv_extensions) so you can tell what OpenGL extensions have corresponding SPIR-V support. The GPU Caps Viewer has been updated to report the SPIR-V extensions of OpenGL 4.6 drivers.
Only a few days after the 1.35.x release, GPU Caps Viewer 1.36.x has been released with support for OpenGL 4.6. OpenGL 4.6 introduces the support of SPIR-V modules in OpenGL and the set of SPIR-V extensions is listed exposed in the OpenGL panel. There are a few Vulkan improvements as well in this version. GPU Caps Viewer is a graphics card information utility focused on the OpenGL, Vulkan, OpenCL and CUDA API level support of the main (primary) graphics card.
The Khronos Group 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. Developers who know OpenCL C and plan to port their kernels to OpenCL C++, the OpenCL C to OpenCL C++ Porting Guidelines have been released.
Many applications porting to Vulkan also need a way to port their HLSL shaders to SPIR-V. Glslang provides a method to translate HLSL shaders to SPIR-V, which is now available and ready to use. Currently the HLSL mode of the glslang frontend is complete enough to run complex, real-world workloads such as Dota 2 and Ashes of the Singularity. It accepts shaders for any shader stage, and handles common language constructs for functions, control flow, variable and type declarations, registers and pack offsets, most DX10 and later texture methods, most intrinsic functions, most preprocessor functionality, most built-in semantics, and attributes that affect stage functionality. To learn more about the HLSL to SPIR-V translator, visit this FAQ at the glslang GitHub.
As mentioned on Phoronix, Google just announced GSoC 2017 Projects. Included in the list are several Khronos related projects:
• Software Renderer for Vulkan (Vulkan, SPIR-V)
• 3D Hardware Acceleration in Haiku (OpenGL)
• Cross Platform GUI for CCExtractor (OpenGL
• libosmscout: Implementation of an opengl renderer (OpenGL)
• OpenGL-accelerated Renderer for Cytoscape 3 (OpenGL)
• Improvement to WebGL core for p5.js (WebGL)
• WebGL improvements for p5.js (WebGL)
• Creating the fastest math libraries for Ruby by using the GPU through OpenCL and ArrayFire. (OpenCL)
• GPU Boolean Evaluation for CSG Ray-Tracing (OpenCL)
• HPXCL – Asynchronous Integration of CUDA and OpenCL to HPX (OpenCL)
• libxcam Enable a debluring feature with OpenCL Design (OpenCL)
• Speeding up functional network analysis on fMRI data with distributed, in-memory computation using Apache Spark (OpenCL)
Although this backend is still a work in progress, many core features are implemented, allowing real OpenCL applications to be run. This backend allows us to run SPIR-based applications on NVIDIA devices, such as SYCL codes compiled with Codeplay's ComputeCpp compiler.
Phoronix had a call with The Khronos Group president Neil Trevett to discuss some of their latest initiatives and the ongoing advancements to the Vulkan API, WebGL, SPIR-V, and more. Read about some of the highlights.
Join the Khronos Group at the Marriott Pinnacle Downtown in Vancouver, BC for a full-day workshop on Vulkan. We will briefly cover the basics, then dive into the details you need. Planned topics include:
• Vulkan tools and resources: SDK, Validation Layers, and Vulkan Loader
• vktrace for desktop and Android
• C/C++ with Vulkan-Hpp
• SPIR-V Tools (GLSLang, SPIR2CROSS, and others)
• Keeping your GPU fed without getting bitten
• Vulkan Tutorial - We'll get into some code!
• Vulkan game development on Android - a case study from Samsung
• SV porting story from Oculus
• Panel/Q&A with ISVs, IHVs, and Presenters: Performance recommendations, practical advice, and answers to your questions
The early-registration price is CAD$149 (about US$112) through January 16. Starting on January 17 the price is CAD$199.
Join the Khronos Group in Booth 304 @ SC16. There will be people in the booth from the Khronos working groups who can answer your technical questions about OpenCL, SYCL, and SPIR. Visit the Khronos Booth for your free HPC t-shirt, OpenCL sticker, and reference guides for OpenCL and SYCL. Khronos members Xilinx and Codeplay will be in the booth to answer questions, give talks, and show demos. This year at SC Khronos will show where OpenCL fits in with the larger pantheon of open standards for HPC in a panel held on Wednesday 10:30am in room 255-BC.
Codeplay is giving developers free, early access to ComputeCpp with a pre-conformance beta implementation of the SYCL open standard, along with an open-source preview of the latest Parallel Technical Specification to be adopted into C++17. Other open-source projects being made available are VisionCpp, a machine vision library demonstrating C++ techniques for performance-portability, and an early version of the Eigen C++ library that uses SYCL for acceleration on OpenCL devices.
The Khronos Group, an open consortium of leading hardware and software companies, announces the immediate availability of the OpenCL™ 2.2, SYCL™ 2.2 and SPIR-V™ 1.1 provisional specifications. OpenCL 2.2 incorporates the OpenCL C++ kernel language for significantly enhanced parallel programming productivity. SYCL 2.2 enables host and device code to be contained in a single source file, while leveraging the full power of OpenCL C++. SPIR-V 1.1 extends the intermediate representation defined by Khronos with native support for shader and compute kernel features to fully support the OpenCL C++ kernel language. These new specifications can be found at www.khronos.org and are released in provisional form to enable developers and implementers to provide feedback before finalization, including at the Khronos forums.