Ubuntu下CUDA的卸载以及安装(deb方式和run方式)

一、参考资料

CUDA、CUDNN在Ubuntu下的安装及配置

二、注意事项

  1. 用deb方式安装CUDA,会附带安装显卡驱动,默认安装;
  2. 用run方式安装CUDA,会附带安装显卡驱动,可以选择不安装;
  3. 安装显卡驱动的时候,最好安装高版本的,这样不会受cuda版本的影响;

三、run方式

  1. 卸载用run方式安装的CUDA和驱动
    参考资料 ubuntu完全卸载CUDA
# cuda10.0及以下的卸载
cd /usr/local/cuda-xx.x/bin/
sudo ./uninstall_cuda_xx.x.pl
sudo rm -rf /usr/local/cuda-xx.x

# cuda10.1及以上的卸载
cd /usr/local/cuda-xx.x/bin/
sudo ./cuda-uninstaller
sudo rm -rf /usr/local/cuda-xx.x

如果上面的方法不行,再是试试下面的方法

#uninstall cuda
# 第一行命令不要忘记要加上perl命令,要不然会报错
sudo perl /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl 

# 删除文件夹
sudo rm -rf /usr/local/cuda-X.Y

#uninstall driver
sudo /usr/bin/nvidia-uninstall 
sudo apt-get remove --purge nvidia-*
  1. run方式安装CUDA
    参考博客: CUDA、CUDNN在Ubuntu下的安装及配置
是否同意条款,必须同意才能继续安装)
accept/decline/quit: accept

(这里不要安装驱动,因为已经安装最新的驱动了,否则可能会安装旧版本的显卡驱动,导致重复登录的情况)
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: n

Install the CUDA 10.0 Toolkit?(是否安装CUDA 10 ,这里必须要安装)
(y)es/(n)o/(q)uit: 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: y

Install the CUDA 10.0 Samples?(不用安装测试,本身就有了)
(y)es/(n)o/(q)uit: n

Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...(开始安装)

3. run方式安装cuDNN
参考博客 CUDA、CUDNN在Ubuntu下的安装及配置

四、deb方式

  1. 卸载用deb方式安装的CUDA
# 卸载cuda
sudo apt-get --purge remove <package_name>
注:package_name即为cuda,或者/usr/local/cuda,  /usr/local/cuda-7.5

# 删除cuda-7.5文件夹
sudo rm -rf /usr/local/cuda-7.5

# 查看关联文件,逐个删除
sudo find / -name cuda-9*

# 自动删除
sudo apt-get autoclean

# 删除cuDNN
cd /usr/local/include/
sudo rm cudnn.h 

cd /usr/local/lib/
sudo rm libcudnn.*
  1. deb方式安装CUDA
    在这里插入图片描述
# 按照提示安装CUDA
sudo dpkg -i cuda-repo-ubuntu1604-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda

# 安装Patch补丁
sudo dpkg -i cuda-repo-ubuntu1604-10-0-local-nvjpeg-update-1_1.0-1_amd64.deb
...
done.
正在处理用于 libc-bin (2.23-0ubuntu11.3) 的触发器 ...
正在处理用于 initramfs-tools (0.122ubuntu8.17) 的触发器 ...
update-initramfs: Generating /boot/initrd.img-4.15.0-112-generic
正在处理用于 dbus (1.10.6-1ubuntu3.6) 的触发器 ...
正在处理用于 ureadahead (0.100.0-19.1) 的触发器 ...
正在处理用于 ca-certificates (20210119~16.04.1) 的触发器 ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

done.
done.

3. deb方式安装cuDNN

  • 下载deb格式的cuDNN文件
    在这里插入图片描述
  • 按照顺序安装3个deb文件(先runtime,再developer,最后doc)
# 包含了某些深度学习应用
# cuDNN Runtime Library for Ubuntu16.04 (Deb)
sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.0_amd64.deb

# 包含了在Ubuntu系统上开发深度学习时所需的cuDNN头文件
# cuDNN Developer Library for Ubuntu16.04 (Deb)
sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.0_amd64.deb

# 包含了cuDNN例程和相关文档
# cuDNN Code Samples and User Guide for Ubuntu16.04 (Deb)
sudo dpkg -i libcudnn7-doc_7.6.5.32-1+cuda10.0_amd64.deb

五、配置CUDA环境变量

# 配置环境变量
>>> sudo gedit  ~/.bashrc
 
export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
 
# 更新环境变量
>>> source ~/.bashrc
 
# 查看cuda是否安装成功
>>> nvcc -V

六、测试安装是否成功

  1. 测试CUDA是否安装成功
    参考博客 显卡/cudn/cuDNN相关查询

  2. 测试cuDNN是否安装成功
    参考博客 显卡/cudn/cuDNN相关查询

七、可能出现的问题

Q:无法定位软件包

解决办法:
(1)解压deb文件,找到cuda-10-0-local-10.0.130-410.48.list文件
cuda-repo-ubuntu1604-10-0-local-10.0.130-410.48_1.0-1_amd64/data/etc/apt/sources.list.d/cuda-10-0-local-10.0.130-410.48.list
(2)手动添加ppa源
软件和更新,其他软件,添加

Q:下载显卡驱动超时

已下载 8,379 kB,耗时 4分 2秒 (34.5 kB/s)                                      
E: 下载 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu/pool/main/n/nvidia-graphics-drivers-410/nvidia-410_410.78-0ubuntu0~gpu16.04.1_amd64.deb  连接超时 [IP: 91.189.95.85 80] 失败

E: 有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?
错误原因:
apt下载网速太慢,连接超时

解决办法:
安装apt-fast 通过使用多线程下载来给apt-get 提速
参考资料 [apt-get install 下载太慢怎么办,用apt-fast!](https://community.bwbot.org/topic/193/apt-get-install-下载太慢怎么办-用apt-fast)

sudo apt-get install cuda  --fix-missing

sudo add-apt-repository ppa:saiarcot895/myppa
sudo apt-get update
sudo apt-get -y install apt-fast

sudo apt-fast install 包名

Q:nvidia-smi找不到显卡驱动

nvidia-smi
Failed to initialize NVML: Driver/library version mismatch

解决办法:
重启电脑
错误原因:
安装CUDA需要依赖较低级的包

解决办法:
通过 sudo aptitude install 来尝试通过降级解决问题

1. 安装aptitude-> sudo apt-get install aptitude
2.将apt-get换成aptitude -> sudo aptitude install cuda
3. 好多冲突,选择了Y,455替换了
4. 重启 -> nvidia-smi
5. nvcc --version 显示版本号,成功

Q:/sbin/ldconfig.real: /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 不是符号连接

/usr/local/cuda/targets/x86_64-linux/lib/libcudnn.so.8 不是符号链接

# 查看符号链接
sudo ldconfig -v
/sbin/ldconfig.real: /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 不是符号连接

	libcudnn_adv_train.so.8 -> libcudnn_adv_train.so.8.0.5
	libnvrtc.so.11.1 -> libnvrtc.so.11.1.105
	libnppig.so.11 -> libnppig.so.11.1.2.301
/sbin/ldconfig.real: /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_ops_train.so.8 不是符号连接

	libcudnn_ops_train.so.8 -> libcudnn_ops_train.so.8.0.5
	libOpenCL.so.1 -> libOpenCL.so.1.0.0
	libnvblas.so.11 -> libnvblas.so.11.3.0.106
/sbin/ldconfig.real: /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8 不是符号连接

	libcudnn_cnn_train.so.8 -> libcudnn_cnn_train.so.8.0.5
/sbin/ldconfig.real: /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn.so.8 不是符号连接

	libcudnn.so.8 -> libcudnn.so.8.0.5
	libcusolverMg.so.11 -> libcusolverMg.so.11.0.1.105
	libnvjpeg.so.11 -> libnvjpeg.so.11.3.0.105
	libcuinj64.so.11.1 -> libcuinj64.so.11.1.105
/sbin/ldconfig.real: /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8 不是符号连接

	libcudnn_cnn_infer.so.8 -> libcudnn_cnn_infer.so.8.0.5
	libnppidei.so.11 -> libnppidei.so.11.1.2.301
	libnppicc.so.11 -> libnppicc.so.11.1.2.301
	libnppitc.so.11 -> libnppitc.so.11.1.2.301
/sbin/ldconfig.real: /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 不是符号连接

	libcudnn_ops_infer.so.8 -> libcudnn_ops_infer.so.8.0.5
/sbin/ldconfig.real: /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8 不是符号连接
# 解决方法
每一条提示不是软连接的,都创建软链接 so.8->修改成so.8.0.5
sudo ln -sf /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.0.5 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_adv_train.so.8
  • 26
    点赞
  • 138
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花花少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值