Microsoft's and Meta's weaknesses are that they don't directly have a specific need for all of this hardware. Much of it is being consumed by R&D without any products or profits involved directly. At some point, the pressures to monetize will come calling and turn off the blank check spigots.
Right, and they are standardizing on CUDA. Something no other company has any chance of matching for the forseeable future.
How many people are writing to CUDA directly, and how many folks are using something like PyTorch front-end where the back-end can potentially be changed?
* https://pytorch.org/blog/pytorch-for-amd-rocm-platform-now-a...
* https://rocm.docs.amd.com/projects/install-on-linux/en/devel...
* https://dev-discuss.pytorch.org/t/opencl-backend-important-u...
And even with middleware, turns out CUDA has the best debugging tooling, followed by DirectCompute/DirectML and Metal.
now, for how many of those things does AMD have a pluggable backend that actually works? none of them, unfortunately. Octane implemented on SPIR-V - on NVIDIA and Apple, because those were the runtimes that worked. AMD and Intel couldn't even compile it successfully (intel probably would today, I'd guess). Blender tried to support AMD for a long time, and the runtime was so buggy and defective they eventually pulled support from OpenCL entirely, since the OpenCL only ever ran properly on NVIDIA and Apple, and both of those have alternative interfaces that are cleaner and faster. The only point was supporting AMD, and AMD's OpenCL implementation is so buggy that it ended up being a de-facto AMD-specific codepath anyway.
That's the problem, AMD's software stacks are fractally broken. Not just HIP and their oneAPI adapter, but the ROCm it runs on. Not just ROCm, but the OpenCL it runs on. Not just openCL, but the kernel scheduler it runs on. Everything is broken at every level even on supported hardware.
Saying "it's just software" is a handwave. There are literally entire stacks here that are not fit-for-purpose and need to be substantially rebuilt before you can start building the layers above them. There isn't a stable enough basis to just implement an adapter for these pluggable frameworks, because the runtime and the kernel code are also broken.
there's a fairly incredible amount of commercial value in a system that can provide a workable "fuzzy match" or a system that can produce an approximately-optimal outcome without an intractable optimization step, for example. what is the commercial value of making the entirety of US logistics even 5-10% more efficient, or work-scheduling optimizations in a server farm?
like people just keep blindly repeating that there's no profitability there regardless of all the places it's quietly being deployed to great effect.
IIUC, OpenAI leased the model to Microsoft to power LLM search on Bing. OpenAI doesn't run the inference on their machines. Microsoft also added LLM features into Office (and Windows, too, right?)
What do you think is powering all that inference?
How many times in history has this ever happened? That a product was so good no competitors could match it, forever?
A better example might be Intel, but Intel at least had a unique instruction set. And of course Intel is more of a cautionary tale than a story of eternal market dominance.
Analogy: Apple's hardware + software combination as competitive advantage
Are they just the beneficiaries of inside (R&D) or outside (AI) market forces?
History has shown that the latter is not sustainable (dot-com, nanotech, covid, crypto, AI)
TLDR: Shovels eventually become commodities
(although I agree with the point that yes, NVIDIA was thinking about systems engineering much sooner and more comprehensively than AMD was. And not just multi-node scaling, but also things like the programming model (CUDA vs OpenCL/AMD APP/HSA Framework), and they also seem to have correctly identified that ethernet allows higher bandwidth-density than pcie as a transport for this interconnect, giving them an implementation advantage. Similarly, despite all the praise for AMD's packaging, it's often come with downsides and caveats, and NVIDIA usually isn't far behind with one that doesn't. Eg Fury X/Vega/Radeon VII vs GP100/GV100/GA100, or MI300X vs B200. And NVIDIA has explicitly been much earlier-to-market on the systems-scaling stuff like NVSwitch or pre-specced high-performance systems modules like DGX, which AMD still doesn't really have an answer for despite NVSwitch being over a decade old at this point etc.)
Tesla built a whole interconnect system for Dojo too, iirc, that was an explicit focus in their design. Not surprising for Jim Keller. But Jensen Huang nailed that requirement too.
AMD is definitely behind and slower than I would think they should be, but they are making progress. I suspect they are working pretty seriously on it, just doing so quietly. At least, I hope that's what's going on because if not, it's a tragedy.
I'm pretty sure it's been more than 5 years. People have been griping since before ROCm was released which was around 7 years ago.