3 comments

[ 0.34 ms ] story [ 19.9 ms ] thread
What's the current status of OpenCL? Is it usable as a cross platform compute substrate? I haven't really paid attention to the GPGPU landscape in five years or so...
Apple gave it to Khronos, but since then it hasn't updated the versions provided with their OSes.

Google ships their own dialect in Android, Renderscript.

Everyone that wants to use C++ or Fortran on the GPU with nice tooling, goes CUDA.

Basically OpenCL is being used by those that are happy to stay with C or don't want to be stuck with CUDA despite the tooling.

Hence why SPIR-V came to be, as a means to allow other languages to target OpenCL, instead of using C as intermediate step.

SPIR-V only replaces/complements the OpenCL C kernels (Which whill become a subset of C++ in future release, might have been this one come to think of it) and not the whole OpenCL api pipeline, which is still in C.

Hopefully we'll have a LLVM-IR to SPIR-V transpiler in the future, and then have Vulkan/Cuda/DX12 consume that. I would love to see that.