Tensorflow-gpu为什么要绑定到特定版本的Nvidia CUDA Toolkit上?当前版本似乎只支持9.0,而不支持任何更高版本。例如,我安装了最新的Toolkit 9.2并将其添加到路径中,但Tensorflow-gpu无法使用它,并抱怨它正在寻找9.0版本。
我可以理解不支持主要版本更新,但是连小版本更新也不支持吗?
我可以理解不支持主要版本更新,但是连小版本更新也不支持吗?
这是一个好问题。根据NVidia的网站,
CUDA驱动程序向后兼容,这意味着针对特定版本CUDA编译的应用程序将继续在随后(更晚)的驱动程序发布版上工作。
因此,从技术上讲,支持后续迭代的CUDA驱动程序不应该是一个问题。实际上,您会在网络上找到使用较新版本CUDA和CuDNN的非官方预编译二进制文件[1], [2]。更容易安装的是,从conda安装的tensorflow-gpu
软件包目前捆绑了CUDA 9.2。
当被问及此话题时,一位开发者回答道,
答案是驱动程序问题,这些问题是由9.1所需的驱动程序引起的,我们不需要太多新功能在cuda 9.1中,还有一些较小的问题。因此,原因看起来相当模糊 - 他可能意味着CUDA 9.1(和9.2)需要的显卡驱动程序可能有点太新了,不太方便,但这只是一个不成熟的猜测。如果NVidia关于二进制兼容性的说法是正确的,您可以尝试将CUDA 9.2库重命名或链接为CUDA 9.0库,那么它应该可以工作。但在尝试之前,我会保存所有的工作......而且人们甚至重新编译tensorflow以支持更高版本的CUDA,这可能是如何结束的提示。(我只写了我用过的TF版本,也许旧的TF版本也使用旧版的CUDA)