As a reminder, the same (closed-source) user-space components for OpenGL / OpenCL / Vulkan / CUDA are used regardless of the NVIDIA kernel driver option with their official driver stack.
CUDA hell remains. :(
AMD needs to get their ducks in a row. They already have the advantage of not being Nvidia
They already have the advantage of not being Nvidia
That’s just because they release worse products.
If AMD had Nvidia’s marketshare, they would be just as scummy as the business climate allows.
In fact, AMD piggybacks off of Nvidia’s scumbaggery to charge more for their GPUs rather than engage in an actual price war.
So is CUDA good or bad?
I keep reading it’s hell, but the best. Apparently it’s the single one reason why Nvidia is so big with AI, but it sucks.
What is it?
Both.
The good: CUDA is required for maximum performance and compatibility with machine learning (ML) frameworks and applications. It is a legitimate reason to choose Nvidia, and if you have an Nvidia card you will want to make sure you have CUDA acceleration working for any compatible ML workloads.
The bad: Getting CUDA to actually install and run correctly is a giant pain in the ass for anything but the absolute most basic use case. You will likely need to maintain multiple framework versions, because new ones are not backwards-compatible. You’ll need to source custom versions of Python modules compiled against specific versions of CUDA, which opens a whole new circle of Dependency Hell. And you know how everyone and their dog publishes shit with Docker now? Yeah, have fun with that.
That said, AMD’s equivalent (ROCm) is just as bad, and AMD is lagging about a full generation behind Nvidia in terms of ML performance.
The easy way is to just use OpenCL. But that’s not going to give you the best performance, and it’s not going to be compatible with everything out there.