When a new architecture drops, it's always PyTorch running on CUDA, other PyTorch backends are best effort, even if they reach feature parity, many industry power users went closer to the metal to squeeze performance and that stuff is too specific to Nvidia stuff.
if there is something that will beat Nvidia, it won't be something reaching feature parity with slightly better economics (like AMD, also Nvidia could just reduce their margins), it needs to be a novel approach worth rewriting the codebase for (maybe Cerebras, maybe a new player).
Sure, but to state the obvious that is only a factor for people using CUDA !
There are also whole segments of the AI market, like Google using TPUs, Amazon using Trainium chips where CUDA is irrelevant.
If the AI boom is really going to happen, then inference volume needs ramp up and dominate training costs, and the winners are going to be whoever can do inference the cheapest, which probably isn't going to be anyone paying the NVIDIA tax !
The benefit of CUDA is more for development, and the hyperscalers serving models that use CUDA APIs - bespoke business models. Anthropic currently support both CUDA and Trainium, and X.ai (who seem to be fizzling out) are CUDA, although there was some talk of Musk getting Samsung to make "AI chips" of some sort.
As far as AMD goes, I'm sure the developers at AMD's biggest sites - the exascale national labs - have a whole other level of support than consumers, and no doubt a toolset that works great for those fixed environments.
How much actual diversity is there among standard AI workloads? I would expect this is an 80/20 thing where 80% of the workload uses 20% of the features.
>Nvidia could just reduce their margins
Commoditization is great for stock prices ;-)
AMD engineered something called HIP which is CUDA API compatible libraries that targets AMD's hardware, it's the closest thing we have for drop-in replacement to Nvidia's software moat.
It works for simple stuff but loses terribly for frontier kernels (like Flash Attention 3), novel approaches (e.g. Mamba) or networking (e.g. NCCL), also they are rough on the edges, so what you gain from GPU costs is lost in engineering cost.
My previous company tried to compete in this GPU game while putting effort to have a good software stack (Rivos), drop in replacement and cheaper with decent software.
But that vision was rough, any new player had to implement the bad APIs due to backward compatibility concerns, following specs wasn't sufficient as a lot of the AI stack was depending on observable effects (Hyrum's Law), and Nvidia simply just had a long head start, the company is now dead (acquired by Meta) and AFAIK there isn't another player.
Best case scenario AMD puts more effort into their software stack but I just think they do not have enough internal talent to compete.
Training will continue to be an Nvidia's thing and that's where most of the money sits, unless suddenly the AI research scene pivots to using JAX but I do not see it coming any time soon, if anything, I've seen internal efforts at Google to make PyTorch work nicely with TPUs. Some players like Anthropic started using JAX for training but all the small players are using Nvidia, I'm guessing it has something to do with Nvidia partnering aggressively with startups.
AMD, Apple and Intel all sell raster GPUs. Their GPU architecture is not optimized for general-purpose compute, and reorienting around that goal would create a "Fifteen Competing Standards" scenario pretty quickly. It's as much of a hardware issue as it is a software one, and none of these businesses like to cooperate (see: the last 15 years of Khronos drama).
In AMD's case, they don't see a need to sell consumer GPUs with a true CUDA analog since their datacenter product is architecturally distinct from their GPUs. Consumers come to AMD for cheap graphics performance, and adding additional hardware on top of the SMs would be a waste of money for many (or most) customers. This is why you see such a rift between CDNA and RDNA chips on compute workloads, and why it's unlikely that we'll see a CUDA-equivalent product out of AMD any time soon.
> NVIDIA engineers code against a well-defined test suite/specification, right?
The spec is the value. And the patents.
In the AI Bear scenario, NVIDIA is obviously overvalued.
In the AI Bull scenario, we get full automation of software engineering. With "just a few clicks", an AMD employee can extract and replicate whatever subset of the spec is needed for AI workloads. Didn't the Google vs Oracle case find that copying an API can be fair use? And NVIDIA's patents haven't stopped Google from training on TPUs have they?