本文主要介绍CUDA多版本如何共存与切换,这里以cuda10.1为例。

安装新版本cuda

官网选择对应安装包,这里选择runfile类型的安装文件cuda_10.1.243_418.87.00_linux.run

执行以下命令,开始安装:

1
sudo sh cuda_10.1.243_418.87.00_linux.run

依次出现如下界面:

选择continue,继续。

输入accept,回车接受。

  • 是否安装显卡驱动,本机已有,这里一般取消勾选
  • 是否安装工具包,默认勾选
  • 是否安装样例, 默认勾选
  • 是否安装演示套件,默认勾选
  • 是否安装文档,默认勾选

勾选完毕,点击install开始安装。

过程中会叫你选择是否创建指向cuda的链接:

1
2
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit:

如果马上想要使用当前版本,这里就选yes,否则就选no,等有需要时再设置。

安装cuDNN

同样去官网下载好与CUDA版本对应的安装包,文件格式为tar压缩文件cudnn-10.1-linux-x64-v7.6.4.38.tgz

① 进行解压

1
tar -zxvf cudnn-10.1-linux-x64-v7.6.4.38.tgz

② 将解压后的文件复制到新版本cuda目录

1
2
sudo cp cuda/include/cudnn.h  /usr/local/cuda-10.1/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.1/lib64

③ 更改权限

1
sudo chmod a+r /usr/local/cuda-10.1/include/cudnn.h  /usr/local/cuda-10.1/lib64/libcudnn*

配置环境变量

修改 ~/.bashrc 文件,在末尾添加:

1
2
3
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

按此设置后,以后更换CUDA版本无需再动环境配置。

多版本切换

CUDA默认安装在/usr/local下,可至此目录查看已安装版本。

使用stat命令可查看当前CUDA软链接指向哪个CUDA版本:

切换版本只需将软链接指向新的CUDA版本:

① 删除原来的链接:

1
sudo rm -rf /usr/local/cuda

② 建立新链接,指向指定的CUDA版本:

1
sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda

切换完毕后可再次通过stat命令或nvcc -V查看: