一、参考资料
CUDA、CUDNN在Ubuntu下的安装及配置
二、注意事项
- 用deb方式安装CUDA,会附带安装显卡驱动,默认安装;
- 用run方式安装CUDA,会附带安装显卡驱动,可以选择不安装;
- 安装显卡驱动的时候,最好安装高版本的,这样不会受cuda版本的影响;
三、run方式
- 卸载用run方式安装的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-*
- run方式安装CUDA
是否同意条款,必须同意才能继续安装)
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
四、deb方式
- 卸载用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.*
- 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
六、测试安装是否成功
- 测试CUDA是否安装成功
- 测试cuDNN是否安装成功
七、可能出现的问题
- 无法定位软件包
解决办法:
(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源
软件和更新,其他软件,添加
- 下载显卡驱动超时
已下载 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 包名
- nvidia-smi找不到显卡驱动
nvidia-smi
Failed to initialize NVML: Driver/library version mismatch
解决办法:
重启电脑
- cuda : 依赖: cuda-11-1 (>= 11.1.0) 但是它将不会被安装
错误原因:
安装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 显示版本号,成功