ubuntu16.04 安装多版本cuda(原10.0,新安装10.1),实现任意切换

@[TOC](ubuntu16.04 安装多版本cuda(原10.0,新安装10.1),实现任意切换)


前言

需求:单位需要使用yolo-v5训练模型,可所需的pytorch对cuda的依赖版本较高,而仅仅安装单个高版本的cuda又会与原先的项目产生矛盾,所以纠结一下,研究了安装双cuda步骤,记录一下


一、下载cuda地址:

cuda官方下载地址: https://developer.nvidia.com/cuda-toolkit-archive
cudnn官方下载地址:https://developer.nvidia.com/rdp/cudnn-download
我使用的cuda版本与cudnn版本如下所示:
在这里插入图片描述
下图是英伟达显卡驱动与cuda的版本对照:
在这里插入图片描述
英伟达显卡驱动需要由较高cuda版本对应的显卡驱动来确定;更新英伟达显卡驱动可以在安装cuda时选择安装,但是本人多次尝试都失败告终,最后使用ubuntu的自带的更新功能成功,如下界面:
在这里插入图片描述
在这里插入图片描述

二、安装cuda10.1

sudo chmod +x cuda_10.1.105_418.39_linux.run  # 为 cuda添加可执行权限
sudo ./cuda_10.1.105_418.39_linux.run  # 安装

稍等片刻后会出现如下安装提示:
在这里插入图片描述
在这里插入图片描述
3、如果之前安装过另一个版本的cuda,除非你确定想要用这个新版本的cuda,否则这里就建议选n,因为指定该链接后会将cuda指向这个新的版本
在这里插入图片描述
4. cuda环境设置:

sudo gedit ~/.bashrc

打开后在末尾添加以下语句

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

以上的路径都是指向/usr/local/cuda 软连接,并没有写死指向某一个cuda版本,后面切换时不用改路径了,只改软连接指向就可以。
保存关闭后:

source ~/.bashrc

三、cuda版本切换

切换/usr/local/目录

sudo rm -rf cuda             #删除之前的软链接(原本指向10.0)
sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda  #生成新的软链接,指向10.1

在/usr/local/ 目录下,以下四行命令均可以查看当前cuda软链接指向的哪个cuda版本

stat cuda  # stat /usr/local/cuda 
cat  /usr/local/cuda/version.txt
nvcc --version
nvcc -V 
ls -al  # 在/usr/local目录下查看

在这里插入图片描述

当需要cuda10.0时,只需要执行以下语句,将软连接指向cuda10.0即可:

sudo rm -rf cuda
sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda

补充问题:

1、nvcc -V显示有误

已经切换到了cuda10.1,用stat cuda查看正常,但用nvcc -V 查看的时候仍然显示10.0版本。可能原因是nvcc默认是你以前deb安装时候其他版本的,所以就算操作按上面一步步来,nvcc –V结果还是没变。所以我们可以找到nvcc位置,然后创建/usr/local/cuda/bin/nvcc软链接到原先nvcc位置,操作如下:

which nvcc  # 找到nvcc位置,我的在/usr/local/cuda-10.0/bin/nvcc
sudo ln -s /usr/local/cuda/bin/nvcc /usr/local/cuda-10.0/bin/nvcc # 创建软链接链接到当前cuda的nvcc
nvcc -V # 显示当前cuda版本

在创建软连接时可能还会遇到这个问题,显示ln: 无法创建符号链接’/usr/local/cuda-10.0/bin/nvcc’: 文件已存在
此时,可以把cuda10.0/bin下的nvcc备份一下,然后删除重新创建软连接。

sudo rm -f nvcc  # 在/usr/local/cuda-10.0/bin下删除

2. nvcc -V找不到

nvcc -V  # 出现以下提示

Command 'nvcc' not found, but can be installed with:
sudo apt install nvidia-cuda-toolkit

可能是cuda 装好了,但是 nvcc 所在路径没有加入系统路径中,所以系统找不到 nvcc 。如果cuda 安装好了, nvcc 程序应该在路径 /usr/local/cuda/bin 中,可以直接在该路径下执行:

./nvcc -V

3、卸载掉cuda

1、如果安装的cuda是10.0(使用runfile文件包安装),则使用以下方法卸载

sudo /usr/local/cuda-10.0/bin/uninstall_cuda_10.0.pl

卸载之后,如有一些残留的文件夹,之前安装的是CUDA 10.0。可以一并删除:

sudo rm -rf /usr/local/cuda-10.0/

2、如果安装的cuda是10.1(使用runfile文件包安装),则使用以下方法卸载

cd /usr/local/cuda/bin
sudo ./cuda-uninstaller

3、如果cuda是由deb包安装,则执行以下指令

sudo apt-get remove cuda 
sudo apt autoremove

四、安装cudnn

下载好后直接解压,得到文件夹 cuda,然后复制lib64和include文件夹到usr/local/cuda-10.1

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

确认是否成功安装:

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

如下所示:
在这里插入图片描述

补充:在安装完毕后,安装tensorflow后,终端可以正常导入tensorflow包,但是在pycharm导入tensorflow可能会出现以下报错:

ImportError: libcublas.so.10.0:cannot open shared object file:No such file or director

分析原因:
pycharm无法继承.bashrc里面的环境变量,因此才会出现这种问题
解决方法:
打开pycharm,进行如下修改:
Run------>Edit Configuration
在这里插入图片描述
即:

PYTHONUNBUFFERED=1;LD_LIBRARY_PATH=/usr/local/cuda/lib64
  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
1. 首先,您需要下载CUDA 10.的安装包。您可以从NVIDIA官网下载,也可以使用以下命令从终端下载: ``` wget https://developer.nvidia.com/compute/cuda/10./Prod/local_installers/cuda_10..130_410.48_linux ``` 2. 下载完成后,您需要安装依赖项。使用以下命令安装: ``` sudo apt-get install build-essential dkms freeglut3 freeglut3-dev libxi-dev libxmu-dev ``` 3. 然后,您需要禁用Nouveau驱动程序。使用以下命令: ``` sudo nano /etc/modprobe.d/blacklist-nouveau.conf ``` 在文件中添加以下内容: ``` blacklist nouveau options nouveau modeset= ``` 保存并关闭文件。然后,使用以下命令更initramfs: ``` sudo update-initramfs -u ``` 4. 重启计算机并进入命令行模式。使用以下命令停止图形界面: ``` sudo service lightdm stop ``` 5. 进入下载的CUDA 10.安装包所在的目录,并使用以下命令运行安装程序: ``` sudo sh cuda_10..130_410.48_linux.run ``` 安装程序将提示您接受许可协议和选择安装选项。按照提示进行操作。 6. 安装完成后,您需要将CUDA添加到系统路径中。使用以下命令: ``` echo 'export PATH=/usr/local/cuda-10./bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-10./lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc ``` 7. 最后,您可以使用以下命令验证CUDA是否正确安装: ``` nvcc -V ``` 如果安装成功,您将看到CUDA版本信息。 祝您成功安装CUDA 10.!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值