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

(CentOS 7)nvidia-smi:Failed to initialize NVML: Driver/library version mismatch

[CentOS 7]nvidia-smi:Failed to initialize NVML: Driver/library version mismatch

这里仅描述自身发现的一种情况,希望对大家有所帮助。

问题源头: nvidia-smi \text{nvidia-smi} nvidia-smi报错问题

服务器系统版本: CentOS 7 \text{CentOS 7} CentOS 7
在查看显卡驱动版本信息时出错:

nvidia-smiFailed to initialize NVML: Driver/library version mismatch

首先查看当前环境显卡驱动使用的内核版本:

cat /proc/driver/nvidia/version

返回结果:
其中 440.118.02 \text{440.118.02} 440.118.02是显卡驱动版本; 4.8.5 \text{4.8.5} 4.8.5表示 GCC \text{GCC} GCC编译器版本。

NVRM version: NVIDIA UNIX x86_64 Kernel Module  440.118.02  Thu Sep  3 09:54:46 UTC 2020
GCC version:  gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 

再查看 CUDA \text{CUDA} CUDA版本:

nvcc -V

返回结果:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:24:38_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89

我们事先知道 440.118.02 \text{440.118.02} 440.118.02兼容 10.2 \text{10.2} 10.2 CUDA \text{CUDA} CUDA版本,因而不会是 CUDA \text{CUDA} CUDA自身版本的错误。

执行如下指令:

dmesg | grep NVRM

返回结果

[ ***] NVRM: API mismatch: the client has the version 440.33.01, but
NVRM: this kernel module has the version 440.118.02. Please
NVRM: make sure that this kernel module and all NVIDIA driver
NVRM: components have the same version.

其表示 CUDA \text{CUDA} CUDA内部基于的显卡驱动版本 440.33.01 \text{440.33.01} 440.33.01当前环境中的显卡驱动版本 440.118.02 \text{440.118.02} 440.118.02不匹配。
这里我建议如果已经装好显卡驱动的,尽量不要删了重新装,非常麻烦。这里介绍的是重新安装 CUDA \text{CUDA} CUDA的版本。

CUDA \text{CUDA} CUDA安装时的问题

CUDA \text{CUDA} CUDA官方下载路径:
https://developer.nvidia.com/cuda-toolkit-archive
打开后,这里选择 10.2 10.2 10.2版本,并按照自身系统条件进行选择。

这里服务器系统版本是 CentOS 7 \text{CentOS 7} CentOS 7,这里对应的安装指令表示如下:

wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
sudo sh cuda_10.2.89_440.33.01_linux.run

从该路径的名称可以看出,该版本号10.2.89 CUDA \text{CUDA} CUDA被设定了唯一的显卡驱动版本——440.33.01

作为小白,可能会存在这样一种误区:可以将我们的显卡驱动版本440.118.02升级到440.33.01

通过指令查询当前服务器的显卡信息:

lspci | grep -i nvidia

返回结果如下,是 2 2 2 GeForce RTX 2080Ti \text{GeForce RTX 2080Ti} GeForce RTX 2080Ti显卡。

17:00.0 VGA compatible controller: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti Rev. A] (rev a1)
17:00.1 Audio device: NVIDIA Corporation TU102 High Definition Audio Controller (rev a1)
17:00.2 USB controller: NVIDIA Corporation TU102 USB 3.1 Host Controller (rev a1)
17:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU102 USB Type-C UCSI Controller (rev a1)
65:00.0 VGA compatible controller: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti Rev. A] (rev a1)
65:00.1 Audio device: NVIDIA Corporation TU102 High Definition Audio Controller (rev a1)
65:00.2 USB controller: NVIDIA Corporation TU102 USB 3.1 Host Controller (rev a1)
65:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU102 USB Type-C UCSI Controller (rev a1)

Nvidia \text{Nvidia} Nvidia各显卡驱动版本查询路径:
https://www.nvidia.com/Download/Find.aspx?lang=en-us
将我们的显卡型号输入,查找是否存在440.33.01版本。最后结果是显而易见的:没有找到

最终我在特斯拉公司 Tesla T4 \text{Tesla T4} Tesla T4中找到了该版本:
示例
这说明: 440.33.01 \text{440.33.01} 440.33.01根本就不是 GeForce \text{GeForce} GeForce显卡的版本号
那么 GeForce \text{GeForce} GeForce的显卡驱动就不能用 CUDA=10.2 \text{CUDA=10.2} CUDA=10.2版本吗 ? ? ?自然可以用的。那么我们在安装 CUDA \text{CUDA} CUDA的时候就需要注意这个事项。

关于 CUDA \text{CUDA} CUDA安装请参考:
centos卸载cuda与安装 - 简书

重点在于:在安装 CUDA \text{CUDA} CUDA的过程中,需要将 Driver \text{Driver} Driver的项去除
需要注意的是:[X]表示被选定的意思(有点坑)。而我们要选择[ ]。

Cuda安装过程
Cuda安装过程2
在安装结束之后,我们再次执行dmesg | grep NVRM。返回结果:

[***] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  440.118.02  Thu Sep  3 09:54:46 UTC 2020

不再报版本冲突的错误了。
最终观察nvidia-smi

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.118.02   Driver Version: 440.118.02   CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 208...  Off  | 00000000:17:00.0 Off |                  N/A |
| 36%   64C    P0    81W / 300W |      0MiB / 11019MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce RTX 208...  Off  | 00000000:65:00.0 Off |                  N/A |
| 62%   72C    P0    48W / 300W |      0MiB / 11016MiB |      0%      Default |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

相关文章:

(CentOS 7)nvidia-smi:Failed to initialize NVML: Driver/library version mismatch

[CentOS 7]nvidia-smi:Failed to initialize NVML: Driver/library version mismatch 问题源头: nvidia-smi \text{nvidia-smi} nvidia-smi报错问题 CUDA \text{CUDA} CUDA安装时的问题 这里仅描述自身发现的一种情况,希望对大家有所帮助。 问题源头&…...

呼吸灯——FPGA

文章目录 前言一、呼吸灯是什么?1、介绍2、占空比调节示意图 二、系统设计1、系统框图2、RTL视图 三、源码四、效果五、总结六、参考资料 前言 环境: 1、Quartus18.0 2、vscode 3、板子型号:EP4CE6F17C8 要求: 将四个LED灯实现循环…...

群辉用户接入vocechat的方法(附开通GPT机器人)

群辉安装聊天服务器-加入chatgpt vocechat项目简单的使用介绍集成群辉帐号系统登陆vocechat 第二章接入chatgpt这是一个机器人的演示 这是个处于发展中的不错的项目吧,才感觉到好神奇。有意思。 vocechat项目简单的使用介绍 昨天的找群辉文章的时候看到了vocechat&…...

flutter js交互传参

加载网页的webView WebView(initialUrl:http://test/h5atui//#/mobileMaps?lng${CommonConfig.lng}&lat${CommonConfig.lat},javascriptMode: JavascriptMode.unrestricted,onWebViewCreated: (controller) {_webViewController controller;},onProgress: (process){set…...

重磅IntelliJ IDEA 2023.2 新版本即将发布,拥抱 AI

IntelliJ IDEA 近期连续发布多个EAP版本,官方在对用户体验不断优化的同时,也新增了一些不错的功能,尤其是人工智能助手补充,AI Assistant,相信在后续IDEA使用中,会对开发者工作效率带来不错的提升。 以下是…...

JavaWeb_SpringCloud微服务_Day1-eureka, ribbon, nacos

JavaWeb_SpringCloud微服务_Day1-eureka, ribbon, nacos 认识微服务微服务技术对比 分布式服务架构案例远程调用 eureka注册中心原理搭建EurekaServer服务注册服务发现 Ribbon负载均衡修改负载均衡饥饿加载 nacos注册中心快速入门eureka和nacos对比 来源 认识微服务 微服务技术…...

数据科学领域常用python库

pandas Pandas 的名称源自 “ panel data ”,这是一个计量经济学术语,用于表示多维结构化数据集和 “ Python 数据分析”。众所周知,清理和转换数据在数据分析中非常重要,Pandas 提供了丰富的数据结构和功能,使数据处…...

【Android关键字】startActivityForResult/onActivityResult/setResult方法的使用

最近在写一个安卓程序,在程序里需要用到startActivityForResult这个Intent操作关键字,与该关键字有关的还有onActivityResult和setResult。这里对其用法进行一个总结。 三者在API中的形式 //startActivityForResult与startActivity类似,只不…...

PyTorch深度学习实战(5)——计算机视觉

PyTorch深度学习实战(5)——计算机视觉 0. 前言1. 图像表示2. 将图像转换为结构化数组2.1 灰度图像表示2.2 彩色图像表示 3 利用神经网络进行图像分析的优势小结系列链接 0. 前言 计算机视觉是指通过计算机系统对图像和视频进行处理和分析,利…...

遥感目标检测(1)--R3Det

目录 一、概述 二、三个挑战 三、网络架构​编辑 1、旋转RetinaNet 2、精细化旋转RetinaNet 3、与RoIAlign(感兴趣区域插值)进行比较 4、消融实验与对比实验 一、概述 R3Det论文中提到一个端到端的精细化的单级旋转检测器,通过从粗到细…...

使用 vue3-tel-input电话组件时,为什么通过v-model绑定的默认值无效而 通过:value绑定有效?

问题: 使用第三方 vue3-tel-input电话组件时,通过v-model绑定具有初始值的电话变量,但input框内显示的初始值为空? 排查过程: 将 v-model绑定改为 :value绑定后,电话变量初始值竟然能够显示在vue3-tel-inp…...

【运维工程师学习二】OS系统管理

【运维工程师学习二】OS系统管理 1、操作系统管理2、进程管理3、进程的启动4、进程信息的查看4.1、STAT 进程的状态:进程状态使用字符表示的(STAT的状态码),其状态码对应的含义:4.2、ps命令常用用法(方便查看系统进程&…...

【前端技巧】CSS常用知识碎片(九)

CSS常用知识碎片(九) mask-image属性 带有半透明的PNG图像的遮罩效果 .mask-image {mask: no-repeat center / contain;mask-image: url(bird.png); }SVG图形遮罩效果 .mask-image {mask-image: url("data:image/svgxml,%3Csvg viewBox0 0 3232…...

SQL 上升的温度

197 上升的温度 SQL架构 表: Weather ---------------------- | Column Name | Type | ---------------------- | id | int | | recordDate | date | | temperature | int | ---------------------- id 是这个表的主键 该表包含特定日期的温度信息 编写一个 SQL …...

Matlab实现最优化(附上多个完整仿真源码)

最优化是一种寻找最优解的数学方法,它在各个领域都有广泛的应用。在Matlab中,有多种工具箱和函数库可以用来实现最优化,下面我们来介绍一下如何用Matlab实现最优化。 1. 定义目标函数 在开始最优化之前,需要定义一个目标函数。目…...

es下载历史的tar文件

第一步进入官网找到历史版本 第二步复制历史版本名称组合成下面的链接 直接get访问下载。如下链接所示只需要修改7.3.0这个版本号 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-linux-x86_64.tar.gz...

顺畅下载chatglm2-6b的模型文件

不管是从huggingface下,git下,wget下,都可能卡。 用推荐的清华源的url下,也卡,但url转换之后的,在windows下不了。 但是在linux上就几十兆每秒 wget https://cloud.tsinghua.edu.cn/seafhttp/files/0d8b273…...

go语言 socket: too many open files 错误分析

问题背景: 近期针对老的PHP接口做了迁移重构,用golang重新实现,在上线之前,测试进行了压测,压测的量级为:200请求/s, 连续请求10s,发现接口出现大量超时错误,查看日志发现错误信息为…...

分布式搜索--elasticsearch

一、初识 elasticsearch 1. 了解 ES ① elasticsearch 是一款非常强大的开源 搜索引擎,可以帮助我们从海量数据中 快速找到需要的内容 ② elasticsearch 结合 kibana、Logstash、 Beats,也就是 elastic stack (ELK),被 广泛应用在日志数据分…...

UE5《Electric Dreams》项目PCG技术解析 之 PCGCustomNodes详解(一)

《Electric Dreams》项目中提供了一些自定义节点和子图(文件位置:“/Content/PCG/Assets/PCGCustomNodes”),这些节点和子图在《Electric Dreams》被广泛使用,对于理解《Electric Dreams》非常重要,而且它们可以直接移…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...

测试markdown--肇兴

day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

Kafka入门-生产者

生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...