CLVK Is Piping OpenCL On Top Of Vulkan
The concept has been talked about before and there has been some previous work in this direction while "CLVK" is a newly-established effort for getting OpenCL running on top of Vulkan drivers.
The challenge of OpenCL on Vulkan might not be as big as it seems to an outside observer considering both modern OpenCL and Vulkan rely on the SPIR-V intermediate representation, etc. There is also a plethora of tooling catering both to these compute and graphics APIs like clspv, which this CLVK project happens to rely upon as its compiler.
CLVK saw just its first publish push about one week ago and can implement much of OpenCL 1.2 on top of Vulkan but is currently experimental and has some limitations like not supporting OpenCL images, out-of-order queues, device partitioning, native kernels, and other missing items.
This OpenCL-on-Vulkan stack though is good enough to handle SHOC benchmarks, the OpenCL conformance tests, the clinfo OpenCL information utility, and more.
Those wanting to do some weekend exploring/hacking on this OpenCL-over-Vulkan effort can find CLVK on GitHub.
The challenge of OpenCL on Vulkan might not be as big as it seems to an outside observer considering both modern OpenCL and Vulkan rely on the SPIR-V intermediate representation, etc. There is also a plethora of tooling catering both to these compute and graphics APIs like clspv, which this CLVK project happens to rely upon as its compiler.
CLVK saw just its first publish push about one week ago and can implement much of OpenCL 1.2 on top of Vulkan but is currently experimental and has some limitations like not supporting OpenCL images, out-of-order queues, device partitioning, native kernels, and other missing items.
This OpenCL-on-Vulkan stack though is good enough to handle SHOC benchmarks, the OpenCL conformance tests, the clinfo OpenCL information utility, and more.
Those wanting to do some weekend exploring/hacking on this OpenCL-over-Vulkan effort can find CLVK on GitHub.
11 Comments