最近一年多时间里,陆续安装了几块4090显卡。在不同的机器上下载CUDA驱动时,有时选择了11.8版本,大多数时候选择的是12.x的版本。平时开发大部分时间使用pytorch,偶而使用tensorflow。每次安装Tensorflow时都需要折腾很长时间。出现的问题要不是上面找不到某些cudart64_110.dll的错误,要不其它的一些问题。在Win11和WSL2上都存在问题。在网上查阅了一些资料,有的说需要将Tensorflow的版本降下来,有的说Tensorflow2.10版只支持Cuda11.2,也有说RTX4090需要Cuda12.x版本才能支持。今天把这个问题搞清楚,记录下。
关于Tensorflow支持的版本
网上的博文指的是在 Windows 环境中从源代码构建 | TensorFlow这篇文章中引用的兼容版本列表。这个列表比较早,不能说明现在的问题。随着时间的推移,目前可以不作参考。
关于Tensorflow自身的版本
出现上面的 问题不在于Tensorflow的安装版本,而在于Tensorflow与Cuda的兼容。经过测试,从2.0到2.10,都有可能出现上面的问题。
问题的解决
由于问题的根源是Cuda的版本问题。找到资料说RTX4090的硬件架构与Cuda11.8是兼容的,所以安装Cuda11.8是好的选择。记得之前安装时,Cuda11.8是可以正常运行的。对应Cuda11.8的cuDNN版本是8.5~8.9,不能超过9.0的版本。这个版本的对应关系在Nvidia的网站上有。按照这个思路重新安装,一次性解决了问题。
将Nivida的Cuda和cuDNN下载地址列出: