4 ms·
Surprised people are still using CUDA, is OpenCL still not as good? Or is the vendor lockin not a problem?
by kanwisher 10y ago
Surprised people are still using CUDA, is OpenCL still not as good? Or is the vendor lockin not a problem?
- gnarbarian 10y agoThe last time I really dove into this was a couple years ago. At that point Cuda had more features which allowed for more complex data structures, leading to smarter algorithms, and an all around less painful time programming. Opencl has come along nicely in the meantime but I suspect Cuda has maintained it's lead and now has momentum with many developers.
- n00b101 10y agoThere are multiple versions of OpenCL with different hardware vendors supporting different versions. Each vendor supplies their own OpenCL compiler and drivers, which may not generate the same performance code as other vendor or third-party compilers and drivers targeting the same hardware. NVIDIA's support for OpenCL has been lacking. CUDA also has more hardware specific features than OpenCL, which may or may not be relevant for performance depending on the problem. There are also other competing parallel programming models, such as OpenACC, which for example are promoted by Intel for Xeon Phi. Apple has also been criticized by developers over the state of OpenCL support. Not the greatest story for a standard.
- etangent 10y ago> is the vendor lockin not a problem? It so happened that almost nobody in the (previously tiny) industry specialized for using GPU cards for computation had used any cards other than NVIDIA early on. NVIDIA had listened to that niche market by releasing increasingly performant hardware for compute needs, while other manufacturers kept ignoring the niche and focusing on graphics. As a result, very few on the software side have a burning desire to do free work to support cards made by anyone other than the Big Green, even if they had equivalent performance (they likely don't). This may seems strange to web devs who remember the hard-fought war against Microsoft's lock-in on the Internet via IE. But NVIDIA is seen in a different light---it is seen as a benevolent company without which the GPU-for-compute platform wouldn't even exist.
- Aeolos 10y agoAMD GPUs have consistenly had higher compute performance than Nvidia. The Fury X, for example, consistently outperforms the Titan X for half the price.[1] That's why AMD has completely dominated the bitcoin / cryptohashing scene: money is involved, so people are willing to spend time optimizing for different hardware. Nvidia captured this market using typical vendor lock-in tactics: they didn't support OpenCL 1.2 until many years after it was released, and they still don't support OpenCL 2.0+. [1] http://www.anandtech.com/show/9390/the-amd-radeon-r9-fury-x-review/24 http://www.anandtech.com/show/9390/the-amd-radeon-r9-fury-x-...
- etangent 10y agoI should have qualified "compute". I meant single- and double-precision floating-point operations that are not graphics. Yes, AMD GPUs outperform NVIDIA on cryptohashing benchmarks which require high integer performance.