CLVK Takes Shape For OpenCL On Vulkan, But Performance Has A Long Ways To Go
CLVK exposes OpenCL 1.2 although not all functionality is in place. There is not yet support for images, device partitioning, and many other pieces of CL functionality. But it is enough to get some of the SHOC OpenCL benchmarks running along with OpenCL conformance tests and other small demos.
Building CLVK was quite easy to do with the instructions outlined on the CLVK GitHub page, which is what I was using for this round of testing.
Soon enough, the OpenCL library was working for CLVK and ready to take on some basic OpenCL workloads.
I ran some CLVK tests on a GeForce RTX 2070 compared to the OpenCL 1.2 driver within the NVIDIA 410.73 Linux driver on Ubuntu.
The performance needs a lot of work, but interesting to see it's actually working and confirmed to be using the NVIDIA Vulkan driver during the tests. CLVK is mostly the work of one developer and started in September and made possible thanks to leveraging clspv, LLVM, and other open-source components. Check it out.