4 ms·
CUDA is a programming language with libraries (cuBLAS, cuSPARSE, etc.) that are constantly having things added and try to maintain backwards compatibility. It's
by mandevil 2y ago
CUDA is a programming language with libraries (cuBLAS, cuSPARSE, etc.) that are constantly having things added and try to maintain backwards compatibility. It's not as big and hefty as all of Win32 sure, but it's still far more difficult than x86 compatibility.
- joe_the_user 2y agoThose libraries are written CUDA. Windows has had a multitude of APIs and layers (DOS, WIN32, etc) none of which were written in an underlying language/api. Microsoft's entire history is around building a moat of APIs because the PC software industries has a wide variety. Nvidia has, so far, been focused on building actually useful things for developers. Basically, where all the other manufacturers viewed their chips as special purpose devices, Nvidia allowed developers to treat their chips as generic parallel processors and this facilitated the current AI revolution/bubble. Now that Nvidia has created this market, it can charge by the use rather than charging by processing power. The thing is that Nvidia's large potential competitors simply don't want to create clones even if they could - because clones would have to be sold by processing power rather than with a markup for their usefulness. It's worth looking at the list of x86 compatible makers [1]. Making an x86 wasn't quite something you could do in your garage but clearly the barriers to entry weren't huge. But any Nvidia compatible is going to cost a large amount of capital but can only sell by processor power and so AMD, Intel and similar sized entities don't have an interest in doing this. [1] https://en.wikipedia.org/wiki/List_of_x86_manufacturers https://en.wikipedia.org/wiki/List_of_x86_manufacturers [1] https://en.wikipedia.org/wiki/List_of_x86_manufacturers https://en.wikipedia.org/wiki/List_of_x86_manufacturers