可同时安装多个CUDA版本在/usr/local
路径下,使用软连接实现版本的切换
一、查看已安装的CUDA版本
所有已安装的CUDA版本默认保存在/usr/local
路径下,cd到该路径下通过ls
命令查看:
文件夹中cuda-11.0
表示当前计算机上安装了CUDA11.0版本。
二、查看当前使用的CUDA版本
在/usr/local
路径下通过stat cuda
命令查看当前使用的CUDA版本:
上图显示当前软连接建立在cuda-11.0
目录上,表明当前使用的是CUDA11.0版本。
使用cat cuda/version.txt
可再次确认:
三、安装新的CUDA版本——CUDA10.0
1、下载对应版本的CUDA安装包(选择下载runfile文件)
2、在下载文件的目录下,通过sudo sh cuda_10.0.130_410.48_linux.run
命令进行安装,安装过程中各项选择如下:
#..一堆协议说明...
#直接按q退出协议说明.
accept/decline/quit: accept #接受协议
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
y)es/(n)o/(q)uit: n #是否显卡驱动包,由于已经安装显卡驱动,选择n
Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: y #是否安装工具包,选择y
Enter Toolkit Location
[ default is /usr/local/cuda-10.0 ]: #工具包安装地址,默认回车即可
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: n #添加链接**注意这个连接,如果之前安装过另一个版本的cuda,除非你确定想要用这个新版本的cuda,否则这里就建议选no,因为指定该链接后会将cuda指向这个新的版本**
Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: n #不安装样例
安装后,在/usr/local
路径下,通过ls
命令查看是否存在新安装的CUDA目录:
可见,新安装的CUDA10.0已存在于该目录下。
四、安装对应的cuDNN(7.4版本)
安装新的版本的CUDA后,还要安装对应的cuDNN。
1、首先下载对应版本的cuDNN
2、cd到cudnn所在的文件夹下进行解压等操作:
tar -zxvf cudnn-10.0-linux-x64-v7.4.2.24.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.0/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.0/lib64/
sudo chmod a+r /usr/local/cuda-10.0/include/cudnn.h /usr/local/cuda-10.0/lib64/libcudnn*
cd /usr/local/cuda-10.0/lib64/
sudo ln -sf libcudnn.so.7.4.2 libcudnn.so.7
五、CUDA版本的切换
1、删除原版本的cuda软连接
sudo rm -rf /usr/local/cuda
2、建立新的指向cuda-10.0的软连接
sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda
3、重新查看当前CUDA版本
显示当前使用的CUDA版本已转换成CUDA10.0
补充
确认是否已将cuda添加到环境变量,在命令行使用如下命令打开配置文件:
sudo gedit ~/.bashrc
在最后确认有没有下面这几行内容
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
如果没有,将其添加到~/.bashrc
的最后,然后运行命令
source ~/.bashrc
使配置的环境变量生效。