well, yeah. All of the opencl implementations were (and probably still are) awful. Other than requiring a lot of boilerplate, I found it adequate, essentially a clone of the the CUDA C driver API.
opencl 2 went into the weeds going full c++, but that all got rolled back with version 3.
opencl 2 went into the weeds going full c++, but that all got rolled back with version 3.