编译CUDA会查找错误的CUDA版本

时间:2015-07-08 13:30:58

标签: ubuntu compilation cuda gpu nvidia

在Ubuntu上,我之前安装了CUDA 6.5,并希望升级到CUDA 7.0。因此,我删除了/usr/local/cuda-6.5中的目录,并将CUDA 7.0安装到/usr/local/cuda-7.0中。然后我将/ usr / local / cuda中的符号链接更改为指向/usr/local/cuda-7.0。在我的bash.rc文件中,我还相应地更新了环境变量:

// Carousel Options
itemWidth: 0,                   //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.
itemMargin: 0,                  //{NEW} Integer: Margin between carousel items.
minItems: 1,                    //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.
maxItems: 5,                    //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.
move: 1,                        //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
allowOneSlide: true,           //{NEW} Boolean: Whether or not to allow a slider comprised of a single slide

如果我输入“nvcc --version”,那么我会按预期得到以下内容:

export CUDA_HOME=/usr/local/cuda-7.0
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}

但是,我现在正在编译一些使用CUDA的代码(确切地说是Caffe深度学习库),我收到以下错误消息:

Cuda compilation tools, release 7.0, V7.0.27

因此,出于某种原因,它仍在寻找CUDA 6.5库,而不是CUDA 7.0库。为什么是这样?如何告诉编译器查找7.0库?我在编译的源代码中找不到对libcudart.so.6.5的任何引用,因此CUDA编译器本身正在寻找错误的版本。

1 个答案:

答案 0 :(得分:1)

显然,你没有遵循正确的卸载方法;请注意,如果您要安装不同的工具包版本,那么它们之间不会发生任何冲突,您可以保留它们。在安装过程中,系统会要求您将/usr/local/cuda-x.y链接到/ usr / local / cuda。检查CUDA 7.0 GETTING STARTED ON LINUX的第2.6节。

上述链接中提到的正确卸载方法是使用以下命令,具体取决于您的安装方式(即运行方法或 rpm 方法) :

$ sudo /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl
Use the following command to uninstall a Driver runfile installation:
$ sudo /usr/bin/nvidia-uninstall
Use the following commands to uninstall a RPM/Deb installation:
$ sudo apt-get --purge remove <package_name> # Ubuntu
$ sudo yum remove <package_name> # Fedora/Redhat/CentOS
$ sudo zypper remove <package_name> # OpenSUSE/SLES

我希望它适合你;我不知道 Caffe深度学习库,但我假设您之前没有通过提供cuda 6.5编译器及其库的PATH来配置它。如果是这种情况,请首先尝试正确卸载以前的cuda 6.5,从头开始配置库然后再进行。