Ubuntu16.04下CUDA8.0和CUDA9.0共存

服务器 发布日期:2024/12/27 浏览次数:1

正在浏览:Ubuntu16.04下CUDA8.0和CUDA9.0共存

前言

在Github上有一些比较早的代码需要的环境可能是CUDA8.0,而对于一个新手来说,正常思维都会选择最现金的版本进行环境配置,在这里简单的介绍一下,如何在实用GPU进行运算的时候,CUDA8.0和CUDA9.0共存的问题。

1、安装前的检查

运行下面的指令,检查一下您的电脑当前CUDA版本

nvcc --version 

我自己的电脑显示如下: (我的电脑里目前装的CUDA9.0)

Ubuntu16.04下CUDA8.0和CUDA9.0共存

2、下载合适的CUDA8.0版本

选择CUDA8.0版本的时候,一定要根据自己的电脑系统以及相应的环境选择,下载链接
在相应提供的下载链接的界面,按照如下所标注的内容进行:(我本人的是 Ubuntu服务器,16.04的,在这里我们选择runfile的安装形式)

Ubuntu16.04下CUDA8.0和CUDA9.0共存

Ubuntu16.04下CUDA8.0和CUDA9.0共存

Tips:由于我的是服务器端,所以如果有人也是在服务器端进行安装的话,记得要将刚才所下载的文件,先上传到服务器端。

3、进行相应的安装

在所下载相应的文件夹下,进行如下操作:

cd CUDA8     # 进入包含上述下载文件的文件夹
sudo chmod 777 cuda_8.0.61_375.26_linux.run   ##给文件一定的权限
./cuda_8.0.61_375.26_linux.run    ## 开始安装

运行安装指令之后,会出现Nvidia的介绍文档,例如下面所示:

Ubuntu16.04下CUDA8.0和CUDA9.0共存

重中之重的一点是,介绍文档需要你的一些操作,不然安装过程无法继续,有两个方法跳过介绍文档

  • 一路Enter,直到出现一些需要你输入Y 或 N的选项
  • 按Esc,退出介绍文档

当你跳过了介绍文档之后,接下来会出现一些需要你选择的选项:(每一步对应的输入都在下图中用红色的圆圈标注出来了,在这里解释一点:Driver一定要选择 n,因为你之前有装的支持CUDA9.0的驱动,所以就不用在装新的)

Ubuntu16.04下CUDA8.0和CUDA9.0共存

4、进行相应的环境配置

进入如下安装路径中,打开 bashrc 文件,然后定位到最低端 (操作过程见下图)

Ubuntu16.04下CUDA8.0和CUDA9.0共存

可以看到,在这里我的电脑端,导入的路径都是cuda9.0的:

Ubuntu16.04下CUDA8.0和CUDA9.0共存

在这里,我们要想实用刚才安装的CUDA8.0,我们只需要进行如下操作即可:
将相应的cuda-9.0换成cuda-8.0,如下图所示(保存之后退出)

Ubuntu16.04下CUDA8.0和CUDA9.0共存

然后在终端,执行下面指令进行source:

source ~/.bashrc

Ubuntu16.04下CUDA8.0和CUDA9.0共存

接下来就可以进行相应的验证:(如下图所示,既可以看到,CUDA8.0版本安装成功)

Ubuntu16.04下CUDA8.0和CUDA9.0共存

5.多个 cuda 版本之间进行切换

上面讲述的,只是你想用其中的一个的情况,如果你经常想要进行版本切换,建议使用下面的方法:
将~/.bashrc 下与cuda相关的路径都改为 /usr/local/cuda/ 而不使用 /usr/local/cuda-8.0/ 或/usr/local/cuda-9.0/。

 #在切换cuda版本时
  rm -rf /usr/local/cuda#删除之前创建的软链接
  sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda
  nvcc --version #查看当前 cuda 版本
  
  nvcc: NVIDIA (R) Cuda compiler driver
  Copyright (c) 2005-2016 NVIDIA Corporation
  Built on Mon_Jan_23_12:24:11_CST_2017
  Cuda compilation tools, release 8.0, V8.0.62
  
  #cuda8.0 切换到 cuda9.0 
  rm -rf /usr/local/cuda
  sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda
  nvcc --version

对于~/.bahsrc文件的修改方法和上面一致。

6、总结

上文中只是说了,如何从CUDA9.0转换成CUDA8.0,如果你想换回CUDA9.0,只需要进行相反的过程,将 bashrc 文件里面的cuda-8.0换成cuda-9.0,然后source一下,即可。