Hacker News new | ask | show | jobs
by pjmlp 3149 days ago
This is the whole point, CUDA only got this far, because OpenCL sucks forcing everyone to use a C dialect.

They had to be beaten to finally start proving a bytecode format similar to PTX, for multiple languages, while accepting that most researchers want to use C++ or migrate their Fortran code into GPUs.

1 comments

OpenCL 2.1 was released two years ago and introduced a C++ version of the kernel language.
AMD only supports OpenCL 2.0 today.

So practically speaking, OpenCL 2.0 is the best you can get, unless you want to run on Intel's iGPUs or Intel's AVX 512 on their CPUs.

AMD does have support of C++ in OpenCL 1.2 as an optional extension, but their support of C++ in OpenCL 1.2 doesn't work when you enable OpenCL 2.0 for some reason. Also, the CodeXL debugger only works on OpenCL 1.2 at the moment...

As far as I can tell, AMD's implementation of OpenCL 2.0 is still early stage. Its fine if you're cool with debugging with "printf" statements.

I know, most of the drivers still don't support it properly after two years, and there are no good debuggers available.

Meanwhile on the CUDA C++ side,

"Designing (New) C++ Hardware” - https://www.youtube.com/watch?v=86seb-iZCnI

That was an interesting talk.