是否有可能为GTX 1070构建TensorFlow?

时间:2016-08-22 12:39:20

标签: ubuntu machine-learning tensorflow

我有一个带有Nvidia显卡的Ubuntu 14.04 LTS 64位--GTX 1070(第10代)。我正在尝试构建TensorFlow。

我尝试使用CUDA 7.5和CuDNN 5构建它,但事实证明我安装的CUDA 7.5需要352.63.0视频驱动程序,而我从Nvidia for GTX 1070下载的视频驱动程序是367.35 - 较新版本。 / p>

TensorFlow设法构建,但是当我运行该示例时,运行时出现了问题:

boyko@boyko-pc:~/Desktop/tensorflow/tensorflow/models/image/mnist$ LD_LIBRARY_PATH=/usr/local/cuda-7.5/targets/x86_64-linux/lib python3 convolutional.py

由于驱动程序不匹配而无法找到CUDA:

E tensorflow/stream_executor/cuda/cuda_driver.cc:491] failed call to cuInit: CUDA_ERROR_NO_DEVICE
E tensorflow/stream_executor/cuda/cuda_diagnostics.cc:296] kernel version 367.35.0 does not match DSO version 352.63.0 -- cannot find working devices in this configuration

完整日志 - http://pastebin.com/xiYtNsHk

CUDA 7.5需要驱动352.63视频驱动程序,但GTX 1070需要367.35。问题是TensorFlow官方仅支持CUDA 7.5。因此要求有点矛盾。

我需要做什么?是否可以在GTX 1070上使用352.63驱动程序,它是否会运行,即使它启用了有限的功能集?或者是否有针对此驱动程序构建的CUDA 7.5版本,或者是否有办法针对CUDA 8.0构建TensorFlow?

这是我发现的相关问题 - Tensorflow Bazel 0.3.0 build CUDA 8.0 GTX 1070 fails

3 个答案:

答案 0 :(得分:2)

您现在需要加入https://connect.facebook.net/en_US/all.js才能获得CUDA 8.0候选版本,因为官方版本尚未发布。你应该可以在你的1070上安装这个(我有它在1080上工作)。较旧的驱动程序和CUDA版本甚至不支持Pascal架构,因此您必须走这条路。

然后你需要从NVIDIA developer program建立张量流,这次它应该有效。

答案 1 :(得分:2)

  

我需要做什么?是否可以在GTX 1070上使用352.63驱动程序,它是否会运行,即使它启用了有限的功能集?或者是否有针对此驱动程序构建的CUDA 7.5版本,或者是否有办法针对CUDA 8.0构建TensorFlow?

您可以针对CUDA 8.0进行构建。我已经成功地使用了GTX 1070.具体来说,我能够在Ubuntu 14.04上使用以下内容构建和安装张量流:NVIDIA驱动程序367.35,CUDA 8.0 RC,cuDNN 5.1。这将使用Pascal GPU和CUDA 8.0提供的所有功能构建具有最大功能的TensorFlow。

答案 2 :(得分:1)

我设法构建张量流,它似乎正常工作。 正如其他答案所暗示的那样,使用GTX 10xx的最低版本正确是cuDNN 5和CUDA 8.0,但不是CUDA 8.0附带的视频驱动程序。 以下是我使用的步骤:

配置设置

  • 安装Ubuntu 14.04 LTS
  • 安装CUDA 8.0 RC(“是”以“更新”视频驱动程序 - 361.77,将.run文件用于/usr/local/cuda-8.0)。
  • 安装支持Pascal GPU的视频驱动程序(我使用的是367.35)
  • 安装cuDNN 5(进入/ usr / local / cuda)
  • 安装Bazel(此处未记录详细信息)

构建张量流

  • 如果/ usr / local / cuda是符号链接,我建议删除它。
  • 从master分支下载tensorflow源(commit ca. 22/8/2016)
  • 编辑tensorflow / third_party / gpus / crosstool / CROSSTOL并添加: cxx_builtin_include_directory:“/ usr / local / cuda-8.0”(注意:符号链接不起作用,使用实际路径link (Bazel未能打开CUDA包括)
  • ./配置
  • bazel build -c opt --config = cuda // tensorflow / tools / pip_package:build_pip_package
  • cd bazel-bin
  • tensorflow / tools / pip-package / build_pip_package [outfilename]
  • pip或pip3 install [outfilename]

测试张量流

  • export LD_LIBRARY_PATH =“/ usr / local / cuda-8.0 / lib64:LD_LIBRARY_PATH”
  • [python或python3] [python-libs-path] /tensorflow/models/image/mnist/convolutional.py
  • 测试错误:0.7%。

*如果测试错误很大,则可能意味着您需要升级cuDNN。

*不是构建tensorflow,而是可以使用cuDNN 4,CUDA 7.5和最新的视频驱动程序安装tensorflow的二进制版本。像matmul这样的东西会起作用,而其他像conv2d的东西则不会,在10xx GPU下。目前,tensorflow的二进制版本不支持这种硬件,但我相信这会改变。