I'm running Python 2.7 (Anaconda distribution) on a 64-bit Windows 7 workstation, and I'm trying to get Theano (v0.7.0) to run on an NVIDIA Quadro 2000 GPU for a machine learning application. Here's where I'm up to:
I've installed CUDA v6.5 and added all of the necessary paths to the Windows path environment variable, as far as I can tell. I've been through the CUDA installation guide for Windows (http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#axzz3oYtn9SKk) and passed each test successfully, suggesting that the CUDA toolkit is communicating with the GPU.
I also have Visual Studio 12.0 installed, and paths set to the following directories:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\ C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\ C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\
Theano will run my code on the CPU. However, if I try and run some test code on the GPU, I get the following errors and warnings:
ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu: ('nvcc return status', 1, 'for cmd', 'nvcc -shared -O3 --use-local-env --cl-version=2012 -use_fast_math --compiler-bindir C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\bin\\ -Xlinker /DEBUG -D HAVE_ROUND -m64 -Xcompiler -DCUDA_NDARRAY_CUH=11b90075e2397c684f9dc0f7276eab8f,-D NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION,/Zi,/MD -IC:\\Anaconda\\lib\\site-packages\\theano\\sandbox\\cuda -IC:\\Anaconda\\lib\\site-packages\\numpy\\core\\include -IC:\\Anaconda\\include -o C:\\Users\\Simon\\AppData\\Local\\Theano\\compiledir_Windows-7-6.1.7601-SP1-Intel64_Family_6_Model_45_Stepping_7_GenuineIntel-2.7.8-64\\cuda_ndarray\\cuda_ndarray.pyd mod.cu -LC:\\Anaconda\\libs -LC:\\Anaconda -lpython27 -lcublas -lcudart') ERROR:theano.sandbox.cuda:Failed to compile cuda_ndarray.cu: ('nvcc return status', 1, 'for cmd', 'nvcc -shared -O3 --use-local-env --cl-version=2012 -use_fast_math --compiler-bindir C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\bin\\ -Xlinker /DEBUG -D HAVE_ROUND -m64 -Xcompiler -DCUDA_NDARRAY_CUH=11b90075e2397c684f9dc0f7276eab8f,-D NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION,/Zi,/MD -IC:\\Anaconda\\lib\\site-packages\\theano\\sandbox\\cuda -IC:\\Anaconda\\lib\\site-packages\\numpy\\core\\include -IC:\\Anaconda\\include -o C:\\Users\\Simon\\AppData\\Local\\Theano\\compiledir_Windows-7-6.1.7601-SP1-Intel64_Family_6_Model_45_Stepping_7_GenuineIntel-2.7.8-64\\cuda_ndarray\\cuda_ndarray.pyd mod.cu -LC:\\Anaconda\\libs -LC:\\Anaconda -lpython27 -lcublas -lcudart') WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu0 is not available (error: cuda unavilable) WARNING:theano.sandbox.cuda:CUDA is installed, but device gpu0 is not available (error: cuda unavilable) nvcc fatal : Cannot find compiler '' in PATH
This seems to imply that the GPU and/or CUDA are unavailable, or that the NVCC compiler can't be located in the PATH variable? If it's the latter, my path contains
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\libnvvp
but perhaps there are other directories that should be included?
Any idea what could be going on?