You compete by having your own product, not by using what your competitors developed. It's on AMD for not making their own product to compete with CUDA
What part of "programming languages are standards" do you not understand?
What you wrote is like suggesting that Internet Explorer shouldn't have been allowed to implement JavaScript and that all websites should've been forced to decide between being compatible with only Netscape or only IE.
Then it's on AMD to develop a competing API, and ultimately on them for not being competitive enough to develop an alternative alongside the development of CUDA.
It's not Nvidia's fault they developed a better product. And I say this as someone who prefers AMDs products, although I had to get a 3060 for my 3D modeling. I would have loved to go AMD, but I really couldn't.
Nvidia turning your own code into an anti-competitive lock-in is absogoddamnlutely their fault. Again: they actively prevent efforts to recompile CUDA into the competing APIs that already exist and work just fine - because they have to maintain their vice-grip on a market they got to first and turned into a weapon.
I would have loved to go AMD, but I really couldn’t.
They have ROCm and ZLUDA but both are inferior to CUDA. They completely overslept the whole AI hype cycle and they could have been valued now to over 1 trillion.