2

我正在使用安装了 theano 0.8.2 的 ubuntu 14.04。当我在我的 gpu_tesy.py 中运行 import theano 时,出现了大约 5300 行代码,并且:

第5367章

5368

================================

在从:0:0 包含的文件中:/usr/include/stdc-predef.h:59:1:致命错误:cuda_runtime.h:没有这样的文件或目录

#万一

^ 编译终止。

['nvcc', '-shared', '-O3', '-m64', '-Xcompiler', '-DCUDA_NDARRAY_CUH=c72d035fdf91890f3b36710688069b2e,-DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION,-fPIC,-fvisibility=hidden',' '-rpath,/home/theory/.theano/compiledir_Linux-3.13--generic-x86_64-with-Ubuntu-14.04-trusty-x86_64-2.7.6-64/cuda_ndarray', '-I/home/theory/test_theono/ local/lib/python2.7/site-packages/theano/sandbox/cuda','-I/home/theory/test_theono/local/lib/python2.7/site-packages/numpy/core/include','-我/usr/include/python2.7','-I/home/theory/test_theono/local/lib/python2.7/site-packages/theano/gof','-o','/home/theory/。 theano/compiledir_Linux-3.13--generic-x86_64-with-Ubuntu-14.04-trusty-x86_64-2.7.6-64/cuda_ndarray/cuda_ndarray.so', 'mod.cu', '-L/usr/lib', '-lcublas', '-lpython2.7', '-lcudart'] 错误 (theano.sandbox.cuda): 无法编译 cuda_ndarray.cu: ('nvcc return status', 1, 'for cmd', 'nvcc -shared -O3 -m64 -Xcompiler -DCUDA_NDARRAY_CUH=c72d035fdf91890f3b36710688069b2e,-DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION,-fPIC,-fvisibility=hidden -Xlinker -rpath,/home/theory-rpath,/home/theory_13-theano/编译目录generic-x86_64-with-Ubuntu-14.04-trusty-x86_64-2.7.6-64/cuda_ndarray -I/home/theory/test_theono/local/lib/python2.7/site-packages/theano/sandbox/cuda -I/ home/theory/test_theono/local/lib/python2.7/site-packages/numpy/core/include -I/usr/include/python2.7 -I/home/theory/test_theono/local/lib/python2.7/站点包/theano/gof -o /home/theory/.theano/compiledir_Linux-3.13--generic-x86_64-with-Ubuntu-14.04-trusty-x86_64-2.7。6-64/cuda_ndarray/cuda_ndarray.so mod.cu -L/usr/lib -lcublas -lpython2.7 -lcudart')


其中nvcc:/usr/local/cuda-7.0/bin/nvcc

CUDA_HOME=/usr/local/cuda-7.0

LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/lib/lib:/opt/intel/mkl/lib/intel64::/usr/local/cuda-7.0/lib64

DYLD_LIBRARY_PATH=:/usr/local/cuda-7.0/lib


多个版本的 cuDNN 和 CUDA 安装在同一台机器上。我不确定我应该如何让他们走上正确的道路。感谢任何帮助!

4

1 回答 1

0

我被这个问题困扰了几天。基本上,我有多个版本的 python,我认为安装了多个版本的 nvcc。我可以使用 python 2 成功导入 Theano,但是当我尝试对 python 3 执行相同操作时,我会收到您发布的错误。

最终我解决了这个问题,这要归功于这篇文章的第一条评论: theano.test() failed with nvcc error - nvcc fatal : Don't know what to do with 'NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION,-fPIC'

您应该将其添加到您的 .theanorc 文件中:

[nvcc]
flags=-D_FORCE_INLINES

您可以在 Ubuntu 的终端中通过一行来执行此操作:

echo -e "\n[nvcc]\nflags=-D_FORCE_INLINES\n" >> ~/.theanorc

执行此操作后,我在尝试使用 python 3 导入 Theano 时遇到其他错误,我通过升级到最新版本的 Theano 来修复该错误。再次从 ubuntu 终端:

pip install --upgrade https://github.com/Theano/Theano/archive/master.zip
于 2016-10-25T10:43:46.893 回答