CLVK Still Making Progress As Experimental OpenCL Over Vulkan
We've seen many efforts like DXVK that are mapping Direct3D atop Vulkan, efforts like Zink in getting OpenGL over Vulkan, and less popular but still progressing is getting OpenCL -- at least a reasonable subset of it -- working under Vulkan. That's what the CLVK project is about and it's been making more progress since we last looked at it on Phoronix.
Last September we initially covered the experimental CLVK initiative for getting OpenCL kernels running over Vulkan. Our benchmarks from October showed some OpenCL benchmarks even running on CLVK atop Vulkan but the initial performance left a lot to be desired.
Fortunately, CLVK popped back up on my radar this week and it's still moving forward as one of the few OpenCL-on-Vulkan open-source efforts. It's still at OpenCL 1.2 era support but without handling for images, device partitioning, out-of-order queues, and other limitations. But the progress is quite modest for largely being done by a sole developer paired with CLSPV and SPIR-V tooling helping in the heavy lifting.
Since last writing about CLVK, it's picked up support for Talvos as a Vulkan emulator/interpreter for handling SPIR-V modules on the CPU and thus allowing CLVK to operate without a Vulkan-enabled GPU.
CLVK is still only known to work with some programs like the SHOC benchmarks, the OpenCL conformance tests partially, OpenCL Toys, and other select software, but at least it's moving forward. Those wanting to try it out or potentially get involved with its development can learn more from CLVK on GitHub.
Last September we initially covered the experimental CLVK initiative for getting OpenCL kernels running over Vulkan. Our benchmarks from October showed some OpenCL benchmarks even running on CLVK atop Vulkan but the initial performance left a lot to be desired.
Fortunately, CLVK popped back up on my radar this week and it's still moving forward as one of the few OpenCL-on-Vulkan open-source efforts. It's still at OpenCL 1.2 era support but without handling for images, device partitioning, out-of-order queues, and other limitations. But the progress is quite modest for largely being done by a sole developer paired with CLSPV and SPIR-V tooling helping in the heavy lifting.
Since last writing about CLVK, it's picked up support for Talvos as a Vulkan emulator/interpreter for handling SPIR-V modules on the CPU and thus allowing CLVK to operate without a Vulkan-enabled GPU.
CLVK is still only known to work with some programs like the SHOC benchmarks, the OpenCL conformance tests partially, OpenCL Toys, and other select software, but at least it's moving forward. Those wanting to try it out or potentially get involved with its development can learn more from CLVK on GitHub.
5 Comments