当前位置: 首页 > news >正文

ubuntu服务器版NVIDIA驱动失效解决方案

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

接下来需要配置环境变量,

  1. 打开.bashrc文件;
  2. 在文件末尾删除之前的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}}
  1. 在文件末尾输入如下内容并保存退出;
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}}
  1. 激活
source ~/.bashrc
  1. 检查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。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 宝塔Linux部署 Vue + Spring Boot + MySQL + Redis
  • C++中一般指针,指针数组,数组指针
  • Java入门,初识Java
  • web基础—dvwa靶场(五)File Upload
  • 【CMake】使用CMake在VIsual Studio内构建多文件夹工程
  • JavaScript 事件处理
  • Redis——常用数据类型string
  • python 使用seleniumwire获取响应数据以及请求参数
  • Android前台服务如何在后台启动activity?
  • Linux memcg lru lock提升锁性能
  • 架构与业务的一致性应用:实现企业战略目标和合规管理的全面指南
  • 【nginx】搭配okhttp 配置反向代理
  • [数据集][目标检测]葡萄成熟度检测数据集VOC+YOLO格式1123张3类别
  • golang中连接达梦数据库使用域名来代替IP时会出现解析问题
  • 【C++学习】 IO 流揭秘:高效数据读写的最佳实践
  • CSS魔法堂:Absolute Positioning就这个样
  • JavaScript函数式编程(一)
  • Javascript基础之Array数组API
  • js如何打印object对象
  • php ci框架整合银盛支付
  • python_bomb----数据类型总结
  • Shell编程
  • 你不可错过的前端面试题(一)
  • 人脸识别最新开发经验demo
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 试着探索高并发下的系统架构面貌
  • 项目实战-Api的解决方案
  • 协程
  • AI算硅基生命吗,为什么?
  • kubernetes资源对象--ingress
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​【已解决】npm install​卡主不动的情况
  • ​ubuntu下安装kvm虚拟机
  • ​比特币大跌的 2 个原因
  • (MATLAB)第五章-矩阵运算
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (三十五)大数据实战——Superset可视化平台搭建
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .form文件_一篇文章学会文件上传
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .net core 连接数据库,通过数据库生成Modell
  • .Net 中Partitioner static与dynamic的性能对比
  • .Net插件开发开源框架
  • .NET处理HTTP请求
  • @SuppressWarnings(unchecked)代码的作用
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [20171113]修改表结构删除列相关问题4.txt
  • [4.9福建四校联考]
  • [AIGC] CompletableFuture的重要方法有哪些?
  • [C++]C++基础知识概述
  • [DevOps云实践] 彻底删除AWS云资源
  • [Go WebSocket] 多房间的聊天室(五)用多个小锁代替大锁,提高效率