关于cuda驱动版本以及cuda运行版本不匹配的问题

前言

运行之前运行没有报错过的基于tf1.13.1的程序,报错:CUDA driver version is insufficient for CUDA runtime version
网上搜索了一下,是因为cuda的驱动版本与cuda的运行版本不匹配导致的。后面询问,原来是组里其他人在全局进行了操作,导致此项问题出现。

关于cuda驱动版本与运行版本

在命令行中输入:nvidia-smi,在右上角会出现Driver Version:384.130,此为cuda驱动版本。而cudatoolkit以及cudnn为运行版本,查看请输入conda list
在这里插入图片描述


以下是网上搜索到的运行版本与驱动版本对应的列表:
运行时版本 驱动版本
CUDA 9.1 387.xx
CUDA 9.0 384.xx
CUDA 8.0 375.xx (GA2)
CUDA 8.0 367.4x
CUDA 7.5 352.xx
CUDA 7.0 346.xx
可以看到,如果通过conda list(查看本环境下已安装的包)看到的cuda运行版本为10.0的话,是不匹配Driver Version:384.130的,实际上,应该匹配运行版本为9.0的cudatoolkit。
要注意的是,在使用conda新建一个虚拟环境后,使用conda install tensorflow或者pytorch的时候,是会自动给你安装cudatoolkit以及cudnn的,但是版本不一定匹配。这里注意看安装的时候,会有具体文字显示的。
运行报错之后,我试着重新创建一个完全全新的虚拟环境,试图运行,仍旧出错。

解决

此时,使用conda uninstall cudnn以及conda uninstall cudatoolkit删除这两个文件,再安装指定的匹配版本即可。
使用:conda install cudatoolkit=9.0,然后就y继续即可。这里没有再conda install cudnn,因为上一个指令顺带地将cudnn安装了,如果使用pip可能需要多安装以下cudnn。
之后使用conda list查看:
在这里插入图片描述
呀,这时候的运行版本与驱动版本就匹配上了,重新运行以下tf程序(此时已经将tf1.13.1的版本换成新建的1.10版本),发现未报错,正常运行。如果此时换回1.13.1应该也是没问题的。
参考:https://blog.csdn.net/li57681522/article/details/82491617

你可能感兴趣的:(Linux,python,tensorflow,python,cuda,linux,tensorflow,pytorch)