Comment by cmrdporcupine

Comment by cmrdporcupine 3 days ago

4 replies

Isn't the "goodness" of CUDA really down to its mass adoption -- and therefore its community and network effects -- not strictly its technical attributes?

If I recall, there are various "GPU programming" and "AI" efforts that have existed for AMD GPUs, but none of them have had the same success in large part because they're simply non-"standard?"

fulladder 3 days ago

I don't think it's just adoption and network effects, though that is part of the equation. The other big (bigger?) piece is that the CUDA landscape is very complete, with libraries and examples for many different kinds of use cases, and they are well documented and easy to get started with. Ctrl+F this page for "ecosystem" and you'll find another comment that explains it better than I can.

em500 3 days ago

I thought OpenCL was supposed to be the "standard"? From the Wikipedia page, it's largely vendor neutral and not that much younger than CUDA (initial release Aug 2009 vs Feb 2007). Maybe some more knowledgeable people can comment why it seems to have been outcompeted by the proprietary CUDA?

  • the__alchemist 3 days ago

    CUDA has a comparatively nicer user experience. If you would like to understand tacitly and have an nvidia GPU, try writing a simple program using both. (Something highly parallel, like nbody, for example)

  • fulladder 3 days ago

    OpenCL was definitely supposed to be the standard, but as the sibling suggests, it's just much harder to use than CUDA. Also, it doesn't feel like OpenCL has much of a community around it, documentation doesn't seem great, and just the overall experience is very frustrating. I tried to implement something in OpenCL about 5 years ago, thinking it would be fairly trivial to port a simple compute shader from CUDA, and ended up giving up. Just too difficult.