Skip to main content

Spirv tagged news

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.

OpenCL Rolls Out Maintenance Release and C++ for OpenCL Documentation

Today Khronos released v3.0.6 of the OpenCL Specifications. This is a regular maintenance release with bug fixes and clarifications, an updated address spaces section, new extensions for additional subgroup functions, and an extension for enhanced platform and device version queries. Also, documentation for the C++ for OpenCL V1.0 kernel language is now downloadable from an OpenCL-Docs GitHub repository tag, describing how the language combines C++17 functionality with familiar OpenCL kernel language paradigms. An extension for online compilation of C++ for OpenCL kernels was published earlier this year and offline compilation of C++ for OpenCL kernels has been supported by clang release 9.0 onwards.

​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.

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.

AMD latest release of Radeon Software Adrenalin Edition driver – 19.11.1 – was released on 4th November 2019. It comes packed with several useful Vulkan® extensions: VK_KHR_timeline_semaphore, VK_KHR_shader_clock, VK_KHR_pipeline_executable_properties, VK_KHR_shader_subgroup_extended_types, VK_EXT_subgroup_size_control, enabled Clustered Subgroup Operations and VK_KHR_spirv_1_4. Learn more about this update.

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.