>> Sunday, March 8, 2015
I've read the slides (PDF) from the presentations on Vulkan, and I've learned a great deal. But two things puzzle me. First, it's clear that Vulkan is intended to replace OpenGL, but nothing I've read suggests that it may replace OpenCL. But how can a compute-only language stay relevant when a graphics-and-compute language is available?
One important distinction is that, unlike Vulkan, OpenCL runs on devices that aren't GPUs. Intel has an OpenCL SDK for their CPUs and Altera has an SDK for their FPGAs. I've read that Texas Instruments is working on an SDK for their digital signal processors (DSPs). Still, the OpenCL developer base is so small and the API is so complex that I wonder if it's worth the effort.
My second question involves Nvidia. They've spent many years and millions of dollars trying to convince people that CUDA is the language for GPU computation. What do they gain by supporting Vulkan? I'm sure Vulkan will never approach CUDA in features or performance on Nvidia hardware, but it still seems odd to hear their representatives praising a competing language.