我使用 theano 0.9.0、CUDA 8.0.61、gcc 版本 4.9.3、NVIDIA UNIX x86_64 内核模块 375.39、Ubuntu 16.04.2 LTS,并且我有一个 geforce 1060。CUDA 像我做的测试一样工作。
但是每当我用theano(http://deeplearning.net/software/theano/tutorial/using_gpu.html)进行gpu测试时,我都会收到这个错误:ImportError:('编译节点时发生以下错误',GpuElemwise {exp ,no_inplace}((float64, vector)>), '\n', 'libnvrtc.so.7.5: 无法打开共享对象文件: 没有这样的文件或目录', '[GpuElemwise{exp,no_inplace}((float64, vector )>)]')
这真的很愚蠢,因为我有 CUDA 8,而不是 CUDA 7.5,所以它当然找不到 libnvrtc.so.7.5。如何告诉 theano 我使用的是 CUDA 8 而不是 CUDA 7.5 ?
我的 .bashrc 设置过于复杂:
- 导出 PATH="/usr/local/cuda-8.0/bin:$PATH"
- 导出 LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64"
- 导出 CUDA_HOME=/usr/local/cuda-8.0
- 导出 CUDA_ROOT=/usr/local/cuda-8.0
- 导出 CPATH="$CPATH:~/.local/include"
- 导出 CPATH="/usr/local/cuda-8.0/include:$CPATH"
- 导出 LIBRARY_PATH="$LIBRARY_PATH:~/.local/lib"
- 导出 LIBRARY_PATH="/usr/lib/nvidia-375:$LIBRARY_PATH"
- 导出 LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LIBRARY_PATH"
- 导出 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:~/.local/lib"
我的 .theanorc 是:
[nvcc]
标志=-D_FORCE_INLINES
[全球的]
设备 = cuda0
[cuda]
根 = /usr/local/cuda-8.0/