On May 5, the Khronos consortium introduced the specification OpenCL 3.1 — the latest update of the open standard for cross-platform computing on CPUs, GPUs, DSPs, NPUs, and other accelerators. The release coincides with the IWOCL 2026 conference and advances the OpenCL 3.x model, in which some features are initially rolled out as extensions and then incorporated into the core of the standard.
The main change in OpenCL 3.1 is the mandatory support for loading compute kernels in the format SPIR-V in all compatible implementations. SPIR-V is used as a portable intermediate representation, which can be generated, in particular, through LLVM/Clang and the SPIR-V LLVM Translator. This is expected to simplify the use of OpenCL as a backend for SYCL, chipStar, and specialized compilers, as well as allow cores to be distributed not as source code but in a precompiled intermediate form.
Important features for AI and HPC workloads have also been incorporated into the OpenCL 3.1 core: subgroups with shuffle/rotate operations and an extended range of types, scalar products of integers with saturation and accumulation variants, new bitwise operations, requests for suggested local work group size, and a standard UUID device query aligned with Vulkan behavior.
Other changes include new language features without needing to include extensions, improved printf in OpenCL C with support for modifiers z and t, clarification of the CL_DEVICE_HOST_UNIFIED_MEMORY semantics, the ability to pass a zero size for local memory arguments, and simplified synchronization when checking events in the CL_COMPLETE state.
Work on OpenCL 3.1 implementations is already underway at Arm, Imagination, Intel, and Qualcomm. Among the open implementations, Khronos specifically mentions Rusticl as part of Mesa, PoCL and CLVK. The development of compatibility layers continues, allowing OpenCL to run on top of Vulkan and DirectX 12, which should expand the availability of OpenCL on systems without native drivers.
Khronos's next areas of development include command buffers for low-level replay of commands, enhancements to unified memory, matrix operations in cooperative mode, new AI types such as low-precision formats, and improvements for external memory and compatibility with Vulkan, DirectX 12, and media pipelines.
Source: linux.org.ru
