我在64位Windows 7工作站上运行Python 2.7(Anaconda发行版),我正试图让Theano(v0.7.0)在NVIDIA Quadro 2000 GPU上运行,用于机器学习应用程序。这就是我要去的地方:
据我所知,我已经安装了CUDA v6.5并添加了Windows路径环境变量的所有必要路径。我已经浏览了Windows的CUDA安装指南(http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#axzz3oYtn9SKk)并成功通过了每个测试,表明CUDA工具包正在与GPU通信。
我还安装了Visual Studio 12.0,路径设置为以下目录:
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将在CPU上运行我的代码。但是,如果我尝试在GPU上运行一些测试代码,我会收到以下错误和警告:
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
这似乎意味着GPU和/或CUDA不可用,或者NVCC编译器不能位于PATH变量中?如果是后者,我的路径包含
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\libnvvp
但也许还应该包含其他目录?
知道会发生什么事吗?
答案 0 :(得分:2)
我也遇到过类似的问题"安装了CUDA,但设备gpu不可用(错误:cuda unavilable)"先前。
问题在按照http://deeplearning.net/software/theano/install_windows.html上的一行说明后立即解决:
从here下载 stdint.h 标题,并将其另存为 C:\ Program Files(x86)\ Common Files \ Microsoft \ Visual C ++ for Python \ 9.0 \ VC \包括\ stdint.h 强>
答案 1 :(得分:0)
可能会发生这种情况,因为编译使用PyCUDA失败了。
安装MinGW
并建立其bin
目录的路径。我用它解决了这个问题。