Codeplay Release “clspv”, an OpenCL Tool for Vulkan Enabled Devices

14 July 2017

In collaboration with Google, Codeplay is proud to announce the release of a new open-source tool allowing the compilation of OpenCL C language kernels to run on the Vulkan API.

Vulkan is a low-overhead, cross-platform 3D graphics and compute API, available on the Android, Linux, and Windows platforms. OpenCL C is the kernel language used in the OpenCL API allowing developers to program for execution on heterogeneous devices.

The tool, named 'clspv', allows a subset of the OpenCL C language to be targeted at the Vulkan API. This tool allows developers to port code containing more than a million lines of OpenCL C to run on the Vulkan API.

As active members of the Khronos Vulkan working group, Codeplay has been instrumental in pushing two extensions that the clspv codebase requires - VK_KHR_variable_pointers and VK_KHR_16bit_storage, which were announced yesterday by Khronos.

The tool source code is available at https://github.com/google/clspv and is available under the Apache 2.0 open source license.

Some notes on the clspv:

  • This is a prototype, with known issues. However, it does compile significant portions of kernels
  • It uses close to top-of-tree versions of LLVM and Clang as third-party projects - this is not a fork
  • It is mainly a set of LLVM module passes. The flow starts with the SPIR code generated from stock Clang, then massages it into SPIR-V for Vulkan
  • It exercises SPV_KHR_variable_pointers (rev13)

Codeplay Software Ltd has published this article only as an opinion piece. Although every effort has been made to ensure the information contained in this post is accurate and reliable, Codeplay cannot and does not guarantee the accuracy, validity or completeness of this information. The information contained within this blog is provided "as is" without any representations or warranties, expressed or implied. Codeplay Sofware Ltd makes no representations or warranties in relation to the information in this post.
Melissa Richardson's Avatar

Melissa Richardson

HR Officer