Ubuntu多CUDA版本安装及切换

可同时安装多个CUDA版本在/usr/local路径下,使用软连接实现版本的切换

一、查看已安装的CUDA版本

所有已安装的CUDA版本默认保存在/usr/local路径下,cd到该路径下通过ls命令查看:
在这里插入图片描述
文件夹中cuda-11.0表示当前计算机上安装了CUDA11.0版本。

二、查看当前使用的CUDA版本

/usr/local路径下通过stat cuda命令查看当前使用的CUDA版本:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PAPXqaD5-1623847509060)(C:\Users\Guoych\AppData\Roaming\Typora\typora-user-images\image-20210616155245897.png)]
上图显示当前软连接建立在cuda-11.0目录上,表明当前使用的是CUDA11.0版本。

使用cat cuda/version.txt可再次确认:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Px68G75T-1623847509061)(C:\Users\Guoych\AppData\Roaming\Typora\typora-user-images\image-20210616155840449.png)]

三、安装新的CUDA版本——CUDA10.0

1、下载对应版本的CUDA安装包(选择下载runfile文件)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1g7iCK62-1623847509064)(C:\Users\Guoych\AppData\Roaming\Typora\typora-user-images\image-20210616163904377.png)]
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目录:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nPwUnrYS-1623847509066)(C:\Users\Guoych\AppData\Roaming\Typora\typora-user-images\image-20210616171321140.png)]
可见,新安装的CUDA10.0已存在于该目录下。

四、安装对应的cuDNN(7.4版本)

安装新的版本的CUDA后,还要安装对应的cuDNN。

1、首先下载对应版本的cuDNN
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5CORbvKz-1623847509068)(C:\Users\Guoych\AppData\Roaming\Typora\typora-user-images\image-20210616165014497.png)]
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版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-biJrOkmU-1623847509069)(C:\Users\Guoych\AppData\Roaming\Typora\typora-user-images\image-20210616175518876.png)]
显示当前使用的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

使配置的环境变量生效。

猜你喜欢

转载自blog.csdn.net/qq_43673118/article/details/117966752