Tensorflow和CUDA版本

时间:2017-12-27 19:06:37

标签: python tensorflow cuda

根据我的理解,所有版本的CUDA都是向后兼容的,但在完成安装CUDA和设置TF的虚拟环境的整个过程后,当我import tensorflow

ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory

这显然意味着Tensorflow正在寻找CUDA 8.0,但没有找到CUDA 8.0因为我有CUDA 9.1但是如果它是向后兼容的,为什么要重要呢?令人惊讶的是,这样一个受欢迎的图书馆在设置说明上有点模糊,所以我希望这里有人可以提供一些知识。

我在安装CUDA 8.0时没有问题,但当然这不是一个选项,我只能通过NVIDIA网站获得最新版本。有什么办法解决这个问题?

1 个答案:

答案 0 :(得分:3)

如果您有一个与CUDA库(例如libcublas.so.8.0)链接的二进制文件(任何类型),您将无法通过替换另一个来满足共享对象动态加载时的要求libcublas.so.9.0之类的图书馆。 CUDA具有某种向前/向后兼容性,但这不是其中之一。您必须提供代码链接的确切库。

如果您想访问较旧的CUDA工具包版本,以便提供较旧的库,那么这些CUDA工具包版本通常可以在CUDA工具包存档页面here上找到。

如果您已经加载了一个较新的CUDA工具包并且工作正常,那么您应该能够加载旧工具包并使用它而无需更新/修改已安装的GPU驱动程序。

要解决此问题以便能够实际使用更新的库,您需要重新链接(至少)您正在使用的代码/二进制文件。