关于CUDA11缺少cusolver64_10.dll文件

cusolver64_10.dll文件应该放到C:\program files\nvidia gpu computing toolkit\CUDA\v11.1\bin目录下(cuda的gpu的bin目录下)。

资源我也放到了CSDN上,大家免费下载。https://download.csdn.net/download/qq_40472613/15631170

CUDA11默认有的是cusolver64_11.dll的文件,但是代码运行的时候却是需要cusolver64_10.dll文件,所以将cusolver64_10.dll放到bin目录下即可。

cuda下载网站:https://developer.nvidia.com/cuda-toolkit-archive

cudnn下载网站:https://developer.nvidia.com/rdp/cudnn-archive

我的环境:CUDA11.1.1 + CUDNN 8.0.4 + tensorflow2.4.1 + tensorflow-gpu2.4.1,大家可以参考一下。

目前问题就是,代码使用的是cusolver64_10.dll,但是安装包里面只有cusolver64_11.dll。

应该属于CUDA的BUG,github上有人提出这个问题,去做了实验和探索,感觉还可以,翻译给大家看一下。

关于CUDA11缺少cusolver64_10.dll文件_第1张图片

虽然我感谢@gdrolet提供了一个“解决方案”,但我一点也不喜欢它,因为我不明白这是如何解决问题的,而且这也不是一个真正的“解决方案”,而是一个难以置信的肮脏的最好的一个。

我使用类似的设置作为问题启动器,但是我使用的RTX 3090,它应该与CUDA 10和更低的不兼容。
所以我安装了CUDA 11.1,最新的cuDnn版本(全部在Windows上),切换到python 3.8和最新的tf-nightl -gpu版本(从今天开始)。
11月10日)。

我遇到了与OP相同的问题,我考虑了类似问题中描述的不同方法(将*_11.dll文件重命名为“10”版本,尽管不应该工作,但进行了降级,等等),但我只是决定在新版本上安装10.2。

但是,这将把CUDA_PATH更改为10.2版本,而不是11.1版本。
没有安装cudnn的安装。
本质上,tensorflow应该有问题(它与RTX 3000系列gpu不兼容,缺少cudnn)。
但它仍然有效。
但我用几个简单的GAN训练循环测试了一切看起来都很正常。
我做了一些测试(删除需要加载的dll,有时从cuda 11,有时从version 10),因为我不知道如何加载必要的dll,因为我认为CUDA_PATH很重要。
有趣的是,事实并非如此。
我的TF安装仍然从CUDA 11.1 (CUDA_PATH_V11.1)加载DLL,然后自动进入10.2文件夹(CUDA_PATH_V10.2)加载求解器DLL。

为了方便起见,我将(正常的)CUDA_PATH设置为版本11.1,因为我担心我使用的其他工具可能使用了错误的版本。

还有@Saduf2019,你知道什么时候这个问题真正解决了,这意味着它会寻找正确的cusolver64_11.dll,而不是10版本?
这个解决方案不是一个干净的解决方案,它可能会导致问题。
当你有像在RTX 3000上与TF作斗争的博客文章时,你会担心他们的模型和计算不是100%正确的,或者可能产生乱七八糟的东西。

你可能感兴趣的:(Python,tensorflow,cuda,cudnn)