jeremiedb / mxnet_winbin

MXNET R Package binaries for Windows
Apache License 2.0
2 stars 3 forks source link

GPU support? #1

Open some-guy1 opened 6 years ago

some-guy1 commented 6 years ago

Hi, really appreciate you keeping this up to date! Thanks!!

Is there any way to get gpu support for Windows with the latest builds?

jeremiedb commented 6 years ago

Sorry for long delay. I think it should be possible to make it work using the procedure in the README. I should have access to a Windows machine with GPU next week, I'll give it a try but cannot commit on anything. Have you tried building it? Where did it fail?

some-guy1 commented 6 years ago

Well I have been unable to get Rtools to work properly. I have never built an R package and I dont know what I am doing. Your CPU distribution works great and exactly as expected. However, when I try to follow the instructions to build my own, "R CMD INSTALL" always says it failed to install and deletes the directory.

I am hoping you could periodically also output a GPU version of MxnetR for the latest most compatible CUDA (i.e. 9.0.x, or whatever it needs to be).

jeremiedb commented 6 years ago

If I can compile the GPU version, I'll add it and let you know. In the meantime, an alternative option could be to run through a docker image. I maintain a CPU and GPU images here: https://hub.docker.com/r/jeremiedb/dockerml/, tag: gpu-openblas. Only used the cpu version on windows machine, but GPU should work as well, using nvidia-docker.

some-guy1 commented 6 years ago

Sorry for slow response, I have been ultra busy. I have never used a docker before. I will look for a tutorial.

jeremiedb commented 6 years ago

Hi, it appears like nvidia-docker isn't supported right now on windows.

However, good news is that I just built a mxnet 1.2.0 (as of April 25) GPU version, based on CUDA 9.1 and cudnn7. Here's the download link:

install.packages("https://s3.ca-central-1.amazonaws.com/jeremiedb/share/mxnet/GPU/mxnet.zip", repos = NULL)

some-guy1 commented 6 years ago

:-O excellent. I will try it this weekend!

some-guy1 commented 6 years ago

Ok I gave it a try. Seems to have installed successfully and a super simple test case works (i.e. make a small matrix with zeros through the GPU). So that is good.

But when I try to run an actual mx.model.FeedForward.create

I am getting "cudaMalloc failed: out of memory"

I set the batch size to 1 and I still get the error.

My GPU Card is: GTX 1060 with 6GB of memory My total RAM for the computer is 32GB.

Do I need to change some sort of configuration file to get this to work?

jeremiedb commented 6 years ago

Hello, sorry for long delay. About memory consumption, there's been an ongoing issue with the optimizers that should be fixed through this PR: https://github.com/apache/incubator-mxnet/pull/11374

I'll probably update the Windows GPU package within a week to integrate that memory fix.

some-guy1 commented 6 years ago

Ok gotchya. Although I am training a GAN, so I am using quite a bit of memory. Could be my fault.