Just stumbled upon this while looking for completely unrelated stuff:
https://github.com/nim-lang/Nim/wiki/GSoC-2016-Ideas#add-a-code-generator-for-opencl
If I remember well, basically "everyone" is on the Vulkan bandwagon (NVidia, AMD, Microsoft, ...), except Apple(?). Vulkan will also be better at working on a wide variety of platforms (PC, consoles, mobile, ...) So it would probably make more sense to work on Vulkan instead, unless one is also targeting "older platforms". Not that I'm volunteering; I barely made it through my compiler course...
I will write OpenCL code and also HIP code in my deep learning library.
Vulkan however is different from OpenCL and Cuda. Vulkan provides Graphics and Physics related primitives like OpenGL or GLSL shaders while OpenCL and Cuda provides you with a subset of C/C++ working on the GPU (loops, if/else, pointers, math operations ...)
OpenCL and Cuda provides you with a subset
From
https://news.ycombinator.com/item?id=14383296
I got the impression that Vulkan also supports that and may merge with OpenCL.
Actually in the top comment of that article it says that the article author had a misundertanding.
What will potentially be merged is the intermediate representation SPIR-V, not the languages on top.
I did find something called "Vulkan Compute". However OpenCL can also run on CPU while Vulkan cannot (yet?).
For now, neither Vulkan nor HIP are mature enough, in my opinion it would probably be easier to target LLVM-IR and let LLVM do the SPIR-V compilation.