Today something is happening for which I’m not sure there’s any parallel for in the computing industry – and certainly, there’s never been anything like it in the GPU computing ecosystem. Khronos, the consortium behind standards such as Vulkan, OpenCL, and OpenGL, is revealing OpenCL 3.0, the latest version of their GPU and parallel compute API. And, looking to reset the ecosystem, the group is turning back the clock on OpenCL, essentially reverting the core API back to OpenCL 1.2.
As a result, everything developed as part of OpenCL 2.x over the last 9 years has now become optional: vendors can (and generally will) continue to support those features, but those features are no longer required for compliance with the core specification. Instead of having to support every OpenCL feature – no matter how useful or useless it might be for a given platform – the future of the API is going to be around vendors choosing which optional features they’d like to support on top of the core, OpenCL 1.2-derrived specification. It’s a very Vulkan-like design philosophy, but it’s a major change in course for the industry’s biggest cross-vendor and cross-platform compute framework.