PoCL 3.1 provides compatibility with the LLVM/Clang 15.0 release, switches to using lowercase device names for the platform setup via the “POCL_DEVICES” environment variable, there has been a major rework to the custom device driver, much improved SPIR-V support, continued work towards implementing a Vulkan driver, and a basic OpenCL cl_khr_command_buffer implementation.
OpenCL Tooling Task Sub Group (TSG) is actively contributing to the LLVM compiler infrastructure project and is determined to bring first-class support for OpenCL and SPIR-V to LLVM. While the latest release of Clang brought the long-awaited support for the OpenCL 3.0 standard, C++ for OpenCL 2021 kernel language, and the SPIR-V generation interface utilizing an external tool llvm-spirv from the SPIRV-LLVM-Translator repository, the work on the native GlobalISel-based SPIR-V backend continues at full speed. SPIR-V updates and many other exciting changes in the SPIR-V and OpenCL world will be discussed in depth at the upcoming 2022 LLVM Developers’ Meeting.
Khronos has made substantial investments in strengthening the SPIR-V backend for LLVM and the OpenCL Working Group is pleased to release early results from testing that provide insights into compilation coverage using the OpenCL conformance test suite and LLVM’s tests. Work in the past months has been dedicated to the overall design of LLVM’s new backend and its integration with the Clang frontend, with particular focus on parsing OpenCL kernel language sources. Khronos will soon finalize this design and commence integration into the upstream LLVM repository. To speed progress, a special panel is going to take place at the LLVM Developers Meeting to discuss the overall design and formulate a concrete list of actions.
Microsoft’s merge request to Mesa has been submitted bringing SPIR and SPIR-V support to the CLOn12 effort to allow OpenCL over DirectX 12 through Mesa.
OpenCL Rolls Out Maintenance Release and C++ for OpenCL Documentation
The SPIR-V Guide is designed to help developers get up and going in the world of SPIR-V. This guide is targeted at developers needing to use SPIR-V-based compilers in their tool chains and for developers wishing to develop custom tooling or compilers that output SPIR-V. Head on over to GitHub and starting learning about SPIR-V today.
Godot Engine has started up their Vulkan Progress Reports after 3 month hiatus. GamingOnLinux touts Godot Engine as making more impressive progress towards Vulkan API support. Godot 4.0 will see many improvements including: using a special screen-space filter to correctly simulate roughness; GLSL shaders (not Godot shaders, real GLSL 4.50+Vulkan extensions) can now be imported and will be automatically imported and converted to SPIR-V when found; allowing you to have low level access to the rendering APIs. Check out the report to learn more.
Today, The Khronos® Group, an open consortium of industry-leading companies creating advanced interoperability standards, publicly releases the OpenCL™ 3.0 Provisional Specifications. OpenCL 3.0 realigns the OpenCL roadmap to enable developer-requested functionality to be broadly deployed by hardware vendors, and it significantly increases deployment flexibility by empowering conformant OpenCL implementations to focus on functionality relevant to their target markets. OpenCL 3.0 also integrates subgroup functionality into the core specification, ships with a new OpenCL C 3.0 language specification, uses a new unified specification format, and introduces extensions for asynchronous data copies to enable a new class of embedded processors. The provisional OpenCL 3.0 specifications enable the developer community to provide feedback on GitHub before the specifications and conformance tests are finalized.
The 8th International Workshop on OpenCL, SYCL, Vulkan and SPIR-V starts today, April 27th 2020, and will be a digital only event. The complete conference program is online showing first up SYCL Tutorials with ‘An Introduction to SYCL’ presented by Codeplay, Heidelberg University, Intel and Xilinx. Registration is free. Listen now to Michael Wong, SYCL Working Group Chair give a SYCL State of the Union, with slides and video.
This month in the NVIDIA Developer Blog, Ashwin Lele and Ashwin Kolhe discuss how to use HLSL Ray Tracing with Vulkan. The NVIDIA VKRay extension, with the DXC compiler and SPIR-V backend, provides the same level of ray tracing functionality in Vulkan through HLSL as is currently available in DXR. You can now develop ray-tracing applications using DXR or NVIDIA VKRay with minimized shader re-writing to deploy to either the DirectX or Vulkan APIs.
Google acquired and open-sourced GraphicsFuzz a little over a year ago. GraphicsFuzz is no longer about only OpenGL, OpenGL ES and GLSL shaders but also operates on SPIR-V shaders for consumption by Vulkan drivers. There are also GLSL/SPIR-V shader reducers in addition to the fuzzer that relies upon randomized metamorphic testing.
A liaison between W3C and the Khronos Group was setup to coordinate on shared areas of interest. Exploratory work includes the GPU for the Web Community Group discussing possible use of SPIR-V as shading language for WebGPU with the Khronos Group through that liaison.
The Khronos Group will hold a Birds of a Feather (BOF) at this years SuperComputing ‘19 (SC9). Several of Khronos’ standards will also be included in presentations at SC19, including OpenCL, SPIR-V and SYCL. For a complete and up-to-date list of Khronos BOF and related sessions, visit the SC19 event page.
The 8th International Workshop on OpenCL (IWOCL) including SYCLcon 2020 has been announced. Join like minded developers for three days of talks, workshops and community networking aimed at furthering the collaboration and knowledge sharing amongst the international community of high-performance computing specialist working with OpenCL, SYCL, SPIR and Vulkan Compute. The event will include a mix of hands-on tutorials, technical presentations, research papers, posters, panel discussions, networking and vendor discussions.