Hacker News new | ask | show | jobs
by sillysaurus3 3378 days ago
If you have a NVIDIA GPU with CUDA already installed

It's unfortunate OpenCL mostly failed to gain mindshare. It would've let anyone with a powerful video card enjoy the benefits of acceleration, rather than half the market.

Cool tutorial. Thanks for sharing!

3 comments

I don't think anybody is opposed to Tensorflow on OpenCL, it's just that CUDA is so common.

You can follow the issue to add OpenCL support here:

https://github.com/tensorflow/tensorflow/issues/22

and one of the projects here:

https://github.com/benoitsteiner/tensorflow-opencl

From what I understand it requires Linux at the moment since it is built on ComputeCpp

Tensorflow and Theano themselves only really support Windows. Unless you have a spare 5 hours to set up (and more hours to maintain), you NEED Linux for any serious ML.

Note: I'm just a beginner at ML, but this was my experience setting things up for the first time.

Tensorflow and Theano themselves only really support Windows.

I think you mean "only really support Linux"? The rest of your comment reads like you know that.

TensorFlow at least has now begun supporting Windows in the main release, but you are absolutely correct in saying it has much better support on Linux.

Hey ReverseCold, I had similar experiences to you when I tried TensorFlow fist ~1 yr ago, but since then, the ease of `pip install tensorflow` in a virtualenv has really made it fast and relatively straightforward to use TensorFlow with CPU-only on either Mac or Ubuntu (I haven't tried any other linux distro myself). I agree though, getting everything to work with GPU is a bit of a pain :)
By all metrics in almost all markets, Nvidia is dominant in high end GPU sales, it isn't a 50/50 market. On Steam they are at 60% vs AMDs 23% (http://store.steampowered.com/hwsurvey). All major cloud computing providers deploy Nvidia GPUs and in scientific computing and machine learning they own close to 100% of the market. AMD is only really dominant in game consoles, which is the lowest margin GPU market. OpenCL just doesn't have the software support that CUDA has for scientific computing, and much of that is because Nvidia actively works to support that community.
Then it's unfortunate Apple decided to integrate AMD and Intel cards into MacBook Pro's instead of Nvidia. Many ML researchers probably use MBP's but can't leverage acceleration.
You wouldn't wanna run long-running models that take days to train on your laptop anyway.
No but you would want to develop them on a truncated set of the data without being tethered to the internet.

It's a reasonable use case.

Eh, it's not really that consequential because anything big will need way more horsepower than you're gonna get on any mobile GPU to be able to done in a reasonable amount of time. We built a CLI tool for our stuff on AWS and our gaming/ML desktop at the office specifically because everyone is on laptops and training or evals are so slow.
It really is. I stopped playing around with CUDA precisely because Apple dropped Nvidia GPUs. Granted to anything serious you want something other than a laptop but it's still nice for quick prototyping (I'm referring to CUDA in general not just using it for ML).
Thanks for the comment! I haven't read much about OpenCL: https://en.wikipedia.org/wiki/OpenCL I'm looking forward to learning more :)