3 ms·
AMD isn't even mentioned in this article, and I recently read that nobody uses AMD for machine learning. Is this only down to the proprietary Cuda having more m
by sorenjan 11y ago
AMD isn't even mentioned in this article, and I recently read that nobody uses AMD for machine learning. Is this only down to the proprietary Cuda having more momentum than OpenCL? I've used both, albeit not very much, and my impression was that Cuda was a bit easier to write but OpenCL didn't have any deal breakers. I know AMD cards were the most popular for crypto currencies, so it's not like they're always the slowest. Granted, I only have experience with each company's consumer cards, and I think Nvidia holds their GeForce cards back more than AMD does their Radeon cards concerning compute performance.
Why is Nvidia this dominant, and why are so many researchers using a proprietary API like Cuda when there's open alternatives?
Related to this, are anybody using Intel's Xeon Phi? Tianhe-2 [0], the worlds fastest supercomputer since June 2013 use them as co-processors, but I rarely if ever hear about them in other projects.
[0] https://en.wikipedia.org/wiki/Tianhe-2 https://en.wikipedia.org/wiki/Tianhe-2
- DHJSH 11y agoWe find the price performance of NVIDIA hard to beat, combined with excellent compiler and developer support. We get better performance writing CUDA code directly than OpenCL, and it's easier for us to develop and debug. Yes, it's "proprietary" but we need to get our job done.
- sorenjan 11y agoIt's in Nvidia's best interest to have their own Cuda be faster than OpenCL. Question is, which is faster: OpenCL on AMD, or Cuda on Nvidia?
- lordCarbonFiber 11y agoI have a little experience in GPU programming so I can address your first question. ;TLDR It is mostly due to momentum. The difference in momentum stems from a difference in design paradigms. OpenCL is just a library that you can link to can compile using GCC. Because the code you're writing is C++ syntactically you're often jumping through a lot more hoops. Nvidia uses their own compiler, so when you're writing cuda programs you have something that looks a lot like C++, however they have the freedom to extend the syntax to ease development. The marketing arm of Nvidia, combined with the ease of use helped get Cuda the defacto research platform. Once that ball was rolling, it becomes easier to find cuda teachers and cuda examples so it's naturally become more prolific.
- bjwbell 11y agoIt comes down to performance per $ and quality. I'm not certain about AMD's perf/$ but Intel's Xeon Phi perf/$ is terrible. AMD's software quality is not so great compared to Nvidia. Rich Geldreich's post, http://richg42.blogspot.com/2014/05/the-truth-on-opengl-driver-quality.html http://richg42.blogspot.com/2014/05/the-truth-on-opengl-driv..., is revealing.
- gcr 11y agoTorch, Caffe, and all the other deep learning frameworks are waiting for OpenCL patches. OpenCL support would make a great contribution! I know Theano has had OpenCL support in the oven for quite a while now. But it's hard to justify investing heavily into OpenCL when all the serious deep learning labs have already sunk $X0,000 into buying NVidia Titan cards by now. To these people (who are the stakeholders), OpenCL wouldn't add any benefit.
- wyldfire 11y ago> Why is Nvidia this dominant, and why are so many researchers using a proprietary API like Cuda when there's open alternatives? CUDA came out first and was really good, IMO. OpenCL is also really good, but doesn't get as much love from NVIDIA. NVIDIA really hypes CUDA and when they add features, they add them to CUDA first (and OCL never in some cases). See my other comment for more - https://news.ycombinator.com/item?id=10554601 https://news.ycombinator.com/item?id=10554601