Theano 搜索 CUDA 7.5 文件,但我安装了 CUDA 8。如何告诉它使用 CUDA 8?

Theano search for CUDA 7.5 files but I have CUDA 8 installed. How to tell it to use CUDA 8?

我使用 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: ('The following error happened while compiling the node', GpuElemwise{exp,no_inplace}((float64, vector )>), '\n', 'libnvrtc.so.7.5: cannot open shared object file: No such file or directory', '[GpuElemwise{exp,no_inplace}((float64, vector)>)]')

这真的很愚蠢,因为我有 CUDA 8,而不是 CUDA 7.5,所以它当然找不到 libnvrtc.so.7.5。我如何告诉 theano 我使用的是 CUDA 8 而不是 CUDA 7.5?

我的 .bashrc 设置过于复杂:

我的 .theanorc 是:

[nvcc]

标志=-D_FORCE_INLINES

[全球]

设备=cuda0

[cuda]

root = /usr/local/cuda-8.0/

你不能。安装 CUDA 7.5 或安装针对 CUDA 8 构建的框架版本。没有办法使您尝试做的事情起作用。

编辑:鉴于您的卡是 Pascal 一代而 CUDA 7.5 是 Pre-Pascal,您也许不应该坚持尝试使这项工作成功。考虑到这一点...


虽然@talonmies 的回答是正确的,但至少以下一项(可能更多)实际上应该让 Theano 为您工作:

  1. 为针对 *buntu 16.04 Xenial 的较新版本的 CUDA 添加软件包存储库:

    deb http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial main
    deb-src http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial main
    

    将这些文件命名为 /etc/apt/sources.list.d/graphics-drivers-ppa-xenial.list - 但如果您升级到较新版本的 *buntu,请记住 remove/update 它。这应该可以让您访问 CUDA 7.5。不过,请确保不要安装较旧的 nVIDIA 驱动程序版本。

  2. 手动安装 CUDA 7.5。您可以从 here 下载它。调整问题中提到的设置以指向 /usr/local/cuda-7.5。同样,请确保您没有同时安装较旧的 nVIDIA 驱动程序。

  3. 按照安装说明进行操作 here。我不确定除了使用 pip 之外还有更多的东西,但也许有。

警告:我自己从未使用过 Theano。