ubuntu 上多个cudu 版本共存并可以随时切换

我原来的环境配置是cuda9.0+cudnn7.0后来安装Tensorrt的时候我把cudnn升级成7.5
但是有很多工程的cuda 都升级到10,不想更换的情况下,就想着让多个cuda共存,切换着用。

之前装cuda时加过的环境变量

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

这个环境变量没有指定特定的cuda,方便以后能够切换。我是在bashrc中添加的,还有在etc/profile中配置的,还要根据自己服务器的情况来。

1、安装cuda10.2

在这里插入图片描述协议说明:

Do you accept the above EULA? (accept/decline/quit):
│ accept #输入accept 
│─────────────────────────────────────────────────────
#安装选项,由于我已经安装有Driver: 418.56,所以没有选择。
│ CUDA Installer
│ - [ ] Driver
│      [ ] 418.39
│ + [X] CUDA Toolkit 10.2
│   [ ] CUDA Samples 10.2
│   [ ] CUDA Demo Suite 10.2
│   [ ] CUDA Documentation 10.2
│   Options  
│   Install   #[ ]不选择,带X的是需要安装的部分,之后选择 Install
————————————————
──────────────────────────────────────────────────────────────────────────────┐
│ A symlink already exists at /usr/local/cuda. Update to this installation?    │
│ Yes    #选择Yes进行安装                                                                      │
│ No                                                                          

等待安装完成
查看:

$ nvcc -V

在这里插入图片描述

2、cudnn安装

按需求下载cudnn的安装文件:https://developer.nvidia.com/rdp/cudnn-archive
解压下载的文件,可以看到cuda文件夹,在当前目录打开终端,执行如下命令:

$ sudo cp cuda/include/cudnn.h /usr/local/cuda-10.2/include/
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.2/lib64/
$ sudo chmod a+r /usr/local/cuda-10.2/include/cudnn.h
$ sudo chmod a+r /usr/local/cuda-10.2/lib64/libcudnn*

查看cudnn版本

$ cat /usr/local/cuda-10.2/include/cudnn.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述

3、切换版本

$ cd /usr/local
$ ll

在这里插入图片描述
这里的cuda是个软连接,连接的是cuda-10.2,我还有cuda-9.0和cuda-10.0
切换命令:

$ sudo rm -rf cuda
$ sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda
$ nvcc -V

在这里插入图片描述
ok到次为止确实是切换成功了,但是坑也来了,cuda10.2下并不能运行项目比如yolov4,是的我的显卡驱动太低了。更新驱动
查了一下
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
在这里插入图片描述440的既可,查找自己的显卡可更新版本
https://www.nvidia.cn/Download/index.aspx?lang=cn
在这里插入图片描述先卸载之前的版本:
打开终端 Terminal,首先卸载系统之前安装的 NVIDIA 显卡驱动,尤其以前安装失败的情况下。(没有安装的可以忽略这一步)

$ sudo apt-get --purge remove nvidia-*

禁用ubantu自带驱动nouveau及其他显示驱动,非常重要打开 blacklist:

$ sudo chmod 666 /etc/modprobe.d/.d/blacklist.conf
$ sudo gedit /etc/modprobe.d/.d/blacklist.conf

在最后添加几行:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

更新系统,禁用nouveau

$ sudo update-initramfs -u 

重启电脑

$ sudo reboot

重启成功后,在终端输入如下命令检查是否禁用nouveau成功,无输出,表示禁用成功

lsmod | grep nouveau

按ctrl+alt+f1进入命令行界面

在命令行界面下输入如下命令,关闭图形界面(不执行后面会出错):

$ sudo chmod  a+x NVIDIA-Linux-x86_64-396.18.run
$  sudo ./NVIDIA-Linux-x86_64-396.18.run -no-opengl-files   

安装过程中的选项:
见博客:https://blog.csdn.net/wangyjfrecky/article/details/84029668
检查驱动是否安装成功:

$ nvidia-smi

在这里插入图片描述
重启

$ sudo reboot

ppa源的方法参考:https://blog.csdn.net/wangyjfrecky/article/details/84029668,由于我更新的时候,没有发现440,最高430,故没采用这种方法而手动安装了。

在这里插入图片描述
参考博客:
https://blog.csdn.net/lihe4151021/article/details/90237681
https://blog.csdn.net/aijava1/article/details/103109787
https://blog.csdn.net/ksws0292756/article/details/80120561
https://blog.csdn.net/wangyjfrecky/article/details/84029668
https://zhuanlan.zhihu.com/p/94334567

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值