因为眼花,我把服务器的gpu驱动给删了,镇定了下,决定不跑路,所以有了下面的方法:
cuda历史版本下载地址(https://developer.nvidia.com/cuda-toolkit-archive)
cudnn下载地址(https://developer.nvidia.com/rdp/cudnn-archive)
ubuntu18.04 出现unmet dependencies错误
https://blog.csdn.net/u012223913/article/details/52964872
解决方案一:
sudo apt-get install build-essential
如果这步也出现依赖问题,可以使用aptitude, 可以比apt-get更加智能地解决依赖问题,先安装它:
sudo apt-get install aptitude
使用aptitude:
sudo aptitude install build-essential
解决方案二:删除旧的CUDA
sudo apt-get remove nvidia-cuda-* # remove old nvidia-cuda packages
解决方案三:安装 unmet dependencies:
sudo apt-get install libcheese-gtk23 libcheese7
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
如果碰到这个错误,也可以用下面方法来处理这个错误。查看 CUDA 版本
cat /usr/local/cuda/version.txt
查看 CUDNN 版本:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
显卡驱动所使用的内核版本
cat /proc/driver/nvidia/version
查看电脑驱动
cat /var/log/dpkg.log | grep nvidia
https://askubuntu.com/questions/451672/installing-and-testing-cuda-in-ubuntu-14-04
1. 首先去英伟达官网,下载与自己gpu相匹配的驱动
https://developer.nvidia.com/cuda-downloads
推荐升级顺序:
上面不行再看下面的方法
1.1 nvidia驱动下载
https://devtalk.nvidia.com/default/board/99/
2.1 首先在官网下载你自己显卡对应的驱动NVIDIA-Linux-x86_64-xxx.xx.run
,拷贝到Linux某个目录后先改权限
chomod 777 NVIDIA-Linux-x86_64-xxx.xx.run
2.2 卸载原驱动
sudo apt-get remove --purge nvidia*
# 提示有残留可以接 sudo apt-get autoremove --purge nvidia*
或者: sudo apt-get purge nvidia*
临时关闭显示服务
sudo service lightdm stop # 此命令若报不存在,就不用理会
运行安装程序
sudo ./NVIDIA-Linux-x86_64-XX你下载的程序XX.run
事情远远不是这么简单,一般情况下都会遇到卸载失败。
sudormmodnvidiarmmod:ERROR:Modulenvidiaisinuseby:nvidiamodesetnvidiauvm12
sudo rmmod nvidia
rmmod: ERROR: Module nvidia is in use by: nvidia_modeset nvidia_uvm
这时,就要一点一点的卸载整个驱动了,首先要知道现在kernel mod 的依赖情况,首先我们从错误信息中知道,nvidia_modeset nvidia_uvm 这两个 mod 依赖于 nvidia, 所以要先卸载他们
$lsmod | grep nvidia
nvidia_uvm 647168 0
nvidia_drm 53248 0
nvidia_modeset 790528 1 nvidia_drm
nvidia 12144640 152 nvidia_modeset,nvidia_uvm 12144640 152 nvidia_modeset,nvidia_uvm
可以看到 nvidia 被使用了152词,我们可以先卸载 nvidia_uvm 和 nvidia_modeset
先查看下有哪些进程使用了 nvidia*
sudo lsof -n -w /dev/nvidia*
最后
sudo rmmod nvidia_uvm
sudo rmmod nvidia_modeset
sudo rmmod nvidia
nvidia-smi
这些进程有个了解,如果一会卸载失败,记得关闭相关进程。
卸载
sudo rmmod nvidia_uvm
sudo rmmod nvidia_modeset
再 lsof 一遍,如果 nvidia 的使用 Used by 还没有降到 0,kill 相关进程
https://blog.csdn.net/fengzhongluoleidehua/article/details/82626538
这个默认是全部安装,包括了驱动,cuda和例程,可以根据自己的需要进行选择。把括号里的X去掉,就是不需要这个功能。
安装后再重启显示
sudo service lightdm start
ubuntu下如何卸载nvidia显卡驱动?
答: sudo apt-get remove nvidia* -y
3 另外一种,在线安装
- 安装nvidia驱动
- 添加PPA到系统中
sudo add-apt-repository ppa:graphics-drivers/ppa
- 更新系统源
sudo apt update
- 查看ubuntu推荐驱动,这个命令不一定可以识别
ubuntu-drivers devices
- 安装驱动
sudo apt-get install nvidia-XX你需要的版本号XX
比如 sudo apt-get install nvidia-418
也有可能这行命令失效,此时用
sudo apt install nvidia-driver-418(根据自身实际需要)- 或者安装所有驱动(千万不要安装重复版本驱动):
sudo ubuntu-drivers autoinstall
- 或者安装所有驱动(千万不要安装重复版本驱动):
- 重启生效:
sudo reboot
- 添加PPA到系统中
- 查看安装驱动版本:
nvidia-smi
安装 Nvidia-Docker
# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
https://github.com/NVIDIA/nvidia-docker/tree/master#upgrading-with-nvidia-docker2-deprecated
这里也有在线安装的方式
错误:docker: Error response from daemon: Unknown runtime specified nvidia
https://github.com/NVIDIA/nvidia-docker/issues/838
解决方法:
sudo systemctl daemon-reload
sudo systemctl restart docker
(1). 终端输入:
nvcc -V #若无反应,那就是路径没有填写正确
重启进入界面,打开终端输入:
export PATH="/usr/local/cuda-9.2/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-9.2/lib64:$LD_LIBRARY_PATH"
如果在.bashrc中定义,则添加:
export CUDA_HOME=/usr/local/cuda-9.2 #根据自身情况修改
export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-9.2/bin:$PATH
https://www.askmetutorials.com/2018/03/install-uninstall-nvidia-driver-39042.html
上面这个基本也有参考价值
https://download.nvidia.com/XFree86/Linux-x86_64/418.56/NVIDIA-Linux-x86_64-418.56.run
sudo apt-get remove --purge nvidia*
# 提示有残留可以接 sudo apt-get autoremove --purge nvidia*
添加PPA到系统中
sudo add-apt-repository ppa:graphics-drivers/ppa
更新系统源
sudo apt update
查看ubuntu推荐驱动,这个命令不一定可以识别
ubuntu-drivers devices
安装驱动
sudo apt-get install nvidia-XX你需要的版本号XX
比如 sudo apt-get install nvidia-418
也有可能这行命令失效,此时用 sudo apt install nvidia-driver-418(根据自身实际需要)
或者安装所有驱动(千万不要安装重复版本驱动):sudo ubuntu-drivers autoinstall
重启生效:sudo reboot
sudo apt-get remove nvidia* -y
# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
sudo systemctl daemon-reload
sudo systemctl restart docker
apt-get remove --purge nvidia-410
apt-get autoremove