1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > CUDA驱动版本与运行版本不匹配问题详解

CUDA驱动版本与运行版本不匹配问题详解

时间:2022-12-14 18:13:39

相关推荐

CUDA驱动版本与运行版本不匹配问题详解

CUDA驱动版本与运行版本不匹配问题详解

报错内容:CUDA driver version is insufficient for CUDA runtime version

1 如何查看自己的cuda驱动版本和cuda运行版本

1.1 查看CUDA驱动版本

命令行输入:nvidia-smi

以我的电脑为例,输出中显示Driver Version: 430.34,此为驱动版本。

1.2 查看CUDA运行版本

命令行输入:nvcc -V

我的电脑输出10.2.89版本。

在网上查到很多文章说利用conda list或者pip list查看cudatoolkit和cudnn程序包版本,但是我用这两个查看的结果发现我的电脑并没有这两个包。

2 为什么会分驱动版本和运行版本?

2.1 驱动版本

在讲驱动版本之前,先来明晰几个概念:GPU、显卡和显卡驱动。

这里大家最熟悉的可能就是显卡。显卡顾名思义,就是用来“显示”的卡,在计算机中主要承担的是显示图形的任务。显卡越好,显示的效果就越好,所以爱打游戏的人和从事专业图形设计的人对显卡就额外重视。

而我们常说的GPU(Graphics Processing Unit),中文全称图形处理器,你听这个名字,就是用来处理图形的东西,所以 GPU也是显卡的主要处理单元。GPU和显卡,都能归在硬件的范畴之中。

显卡驱动则是一个软件,顾名思义,用于“驱动”显卡,就好像一辆车(GPU),需要一个司机(显卡驱动)来发动它,一个硬件能够正常运行,也需要程序去“驱动”它。因此,显卡驱动的版本是与GPU硬件有关的,根据硬件的不同,下载的显卡驱动也不同。

我们刚刚用来查看自己的驱动版本的命令行nvidia-smi中的smi是System Management Interface的缩写,用于管理GPU设备。所以这个命令行输出的信息与其管理的硬件有关。再回看上面的输出:

可以得到,我们的驱动版本是430.34,其能兼容的最高CUDA版本也贴心地写在一旁:10.1。

2.2 运行版本

要说运行版本,我们就要先从CUDA说起。

CUDA的全称是Compute Unified Device Architecture,按照NVIDIA官方的说法,CUDA是一个并行计算平台和编程模型,能够使得使用GPU进行通用计算变得简单和优雅

翻译一下也就是说,CUDA是NVIDIA为了帮助大家更好地使用他们生产的GPU而开发的一个辅助工具。好像汽车厂商(NVIDIA)卖给你了车(GPU),帮你请了司机(显卡驱动),又负责教司机如何开车开得简单又优雅(CUDA)。这里的CUDA,一般指的是CUDA Toolkit,也就是我们的运行版本。

2.3 问题成因

但是呢,问题就在这儿了。有好老师(CUDA Toolkit)不一定能教出好学生(驱动)。

官网上有一张CUDA工具包和其最低可兼容驱动版本的表格

如图所示,像我们的这个驱动430.34,它只能学会使用CUDA10.1以下的工具包。更高级的CUDA工具包只有更高级别的驱动才会用,所以才导致了这个问题。就像报错信息说的那样:CUDA driver version is insufficient for CUDA runtime version. 我们的问题就是:对于我们的CUDA运行版本来说,驱动版本太低了!

那么要解决这个问题,有两种方法:

升级驱动降级CUDA工具包

因为我用的是学校的电脑,没(懒)办(得)法升级驱动了,所以这里我只降级了CUDA工具包。有(勤)条(劳)件的小伙伴可以升级一下自己的驱动。

3 解决方法:降级CUDA工具包

由于我这个新建的虚拟环境没有CUDA Toolkit,所以直接conda install cudatoolkit=10.1就行了。本来就有安装toolkit的小伙伴可以uninstall一下再装更低版本。

有的时候可能会报错The following packages are not available from current channels,说明你这个源里现在没有这个版本的toolkit了。这里贴一个网址,大家可以把包下到本地,再走本地路径安装,例如conda install C:/xxxxx

由于我这边的电脑是无图形化界面windows,所以只能提供这两种命令行能实现的解法。如果大家是在自己的电脑上跑,有图形化界面的话,感觉还是升级驱动比较快哦。

CUDA工具包降级了之后再次运行代码,报错消失了,但又报了别的错,修bug真是条漫漫长路(远目

参考

显卡百度百科GPU百度百科显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么?关于cuda驱动版本以及cuda运行版本不匹配的问题

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。