ubuntu服务器版NVIDIA驱动失效解决方案
- 1. 问题描述
- 2. 解决方法--卸载并重新安装最新版显卡驱动+cuda+cudnn
- 2.1 卸载显卡驱动
- 2.2 重新安装最新版显卡驱动+cuda+cudnn
- 2.2.1 显卡驱动
- 2.2.2 cuda
- 2.2.3 cuda安装cudnn
1. 问题描述
在终端输入nvidia-smi
,输出如下:
NVIDIA-SMI has failed because it couldn't communicate with the NvIDIA driver, Make sure that the latest NIDIA driveris installed and running.
输入nvcc -V
,输出如下:
nvcc:NVIDIA(R)Cuda compiler driver
Copyright(c)2005-2022 NVIDIA Corporation
Built on Mon oct 24 19:12:58 PDT 2022
Cuda compilation tools,release 12.0,v12.0.76
Build cuda 12.0.r12.0/compiler.31968024 0
如下图所示:
这种情况应该是ubuntu内核和显卡驱动不匹配,网上的教程包括降低ubuntu内核版本(参考Ubuntu 修改默认启动内核),NVIDIA驱动失效简单解决方案(参考NVIDIA驱动失效简单解决方案:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver.),亲测,对本人问题失效,但是大家遇到这种问题可以先试试这两个,因为操作简单。
2. 解决方法–卸载并重新安装最新版显卡驱动+cuda+cudnn
2.1 卸载显卡驱动
卸载驱动
sudo apt-get --purge remove nvidia*
sudo apt autoremove
sudo apt-get --purge remove "*cublas*" "cuda*"
sudo apt-get --purge remove "*nvidia*"
以下命令查看显卡驱动是否卸载干净,没有输出表示卸载完成。
dpkg -l | grep nvidia
2.2 重新安装最新版显卡驱动+cuda+cudnn
2.2.1 显卡驱动
在NVIDIA官网搜索最新显卡驱动,下载,上传到服务器根目录。
这是我的显卡目前最新版本的驱动。
然后安装显卡(这里是卸载重装的简单代码,若第一次安装显卡驱动,需要进行一些配置,参考ubuntu22.04安装显卡驱动+cuda+cudnn):
sudo chmod a+x NVIDIA-Linux-x86_64-560.35.03.run
sudo ./NVIDIA-Linux-x86_64-560.35.03.run -no-x-check -no-nouveau-check -no-opengl-files
运行中红色选项参考ubuntu22.04安装显卡驱动+cuda+cudnn
安装完成运行nvidia-smi
,出现如下所示,表明运行成功。
2.2.2 cuda
从上面的图中可以看到显卡最高可以支持cuda12.6
网址:https://developer.nvidia.com/cuda-toolkit-archive
选择上图红色标记的cuda
,点击CUDA Toolkit 12.6.0
,以下选择。
出现如下所示提示安装命令,
以上前三行是有关下载.deb文件的命令,参考我的上一篇博客ubuntu22.04安装显卡驱动+cuda+cudnn,可以使用以下命令替代:
axel -n 50 https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/cuda-repo-ubuntu2204-12-6-local_12.6.0-560.28.03-1_amd64.deb
然后执行第四行和第四行之后代码:
sudo dpkg -i cuda-repo-ubuntu2204-12-6-local_12.6.0-560.28.03-1_amd64.deb
# 注意下面这行*根据上一个命令输出结果提示修改
sudo cp /var/cuda-repo-ubuntu2204-12-6-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-6
接下来需要配置环境变量,
- 打开.bashrc文件;
- 在文件末尾删除之前的cuda配置命令,例如,
export PATH=/usr/local/cuda-12.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
- 在文件末尾输入如下内容并保存退出;
export PATH=/usr/local/cuda-12.6/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
- 激活
source ~/.bashrc
- 检查cuda是否安装成功,下图表示安装成功。
2.2.3 cuda安装cudnn
卸载cudnn参考CUDA与cuDNN在linux / Ubuntu22.04上的安装与卸载,包含CUDA的.run安装与.deb安装,cuDNN的.tar安装与.deb安装,其中
sudo dpkg -r cudnn-local-repo-ubuntu2204-8.9.7.29
sudo rm -rf /var/cudnn-local-repo-ubuntu2204-8.9.7.29
和
sudo dpkg --purge cudnn-local-repo-ubuntu2204-8.9.7.29
很有用。
安装cudnn和测试参考ubuntu22.04安装显卡驱动+cuda+cudnn。