CUDA simply feels less hacked together to me. It's like working with a well thought out and documented code base (CUDA) vs working with some library that has little documentation and contradicting syntax and formats (OpenCL).
IMO that's why AMD is losing the "deep learning" battle, it's just not easy to develop using OpenCL. At least, not as easy as it should be.
It's a vicious cycle though, since everything uses CUDA/CuDNN everyone buys nVidia cards, which means that developer interest in getting AMD cards fast isn't there.
If AMD GPU cores were in phones etc, they would probably be getting TF support for client work at least. Heck, considering they sold off that dept to Qualcomm, which is getting supported...
Considering how small of a dent that would make in their bottom line (financially), it's really amazing they haven't yet... The potentially upside is easily in the tens (if not hundreds) of millions of dollars.
So definitely, I agree they intentionally have decided to not support deep learning. For the life of me, I don't know why.
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/iss...
The problem is that it isn't just TensorFlow. It is also Caffe, Theano, Torch, etc., etc., etc.. For deep learning, Nvidia GPU acceleration is almost a given.
80% of deep learning users use the TensorFlow, Caffe, or Torch frameworks.
There is an open-source implementation to dig into: https://github.com/Xilinx/triSYCL
It abstracts away most of the difficult stuff.
I like freebsd a lot, but for this reason had to switch back to debian/ kubuntu.
And the answer is so far not. And likely it won't happen, they are supporting Linux because it is a large enough target for their scientific customers, FreeBSD just does not have the market share there.
For CUDA supported are Windows, Linux, Mac OSX
So all this in the context of CUDA. Sorry for messing that line up.
Even better if there were open-source drivers, but you know, baby steps.
There are open source drivers. Only on nvidia they (nouveau) are seriously worse than the proprietary ones. For Intel GPUs, the open source driver is the only driver. For AMD, there are some proprietary drivers but they are becoming obsolete, the fully open amdgpu stack is getting better and better all the time.
OpenCL is one of those things that I never felt fully comfortable working with, but I felt productive in CUDA after a week or two. Granted, I learned them in that order, so it's possible that CUDA got an unfair head-start, but I stand by my initial thesis.