安装带有 SYCL 支持的 TensorFlow
Posted
技术标签:
【中文标题】安装带有 SYCL 支持的 TensorFlow【英文标题】:Install Tensorflow with SYCL support 【发布时间】:2018-03-16 00:48:35 【问题描述】:我正在尝试使用 gdb 来跟踪具有 Eigen SYCL 支持的 Tensorflow 操作内核实现。
但是,当我尝试安装.whl
软件包时,会弹出一些关于fglrx
的错误消息。
错误信息
Compiling /tmp/pip-1vfYDJ-build/tensorflow-1.0.1.data/purelib/tensorflow/contrib/cudnn_rnn/ops/gen_cudnn_rnn_ops.py ...
File "/tmp/pip-1vfYDJ-build/tensorflow-1.0.1.data/purelib/tensorflow/contrib/cudnn_rnn/ops/gen_cudnn_rnn_ops.py", line 1
Error: Fail to load fglrx kernel module!
^
SyntaxError: invalid syntax ....
配置
CPU:英特尔酷睿 i7-4790 GPU:GeForce GT 630/PCIe/SSE2 操作系统:ubuntu 15.04 司机:Nvidia binary driver nvidia-352命令
这是我根据教程使用的命令。
https://www.codeplay.com/portal/03-30-17-setting-up-tensorflow-with-opencl-using-sycl
配置
Please specify the location of python. [Default is /usr/local/bin/python]:
Please specify optimization flags to use during compilation [Default is -march=native]:
Do you wish to use jemalloc as the malloc implementation? (Linux only) [Y/n]
jemalloc enabled on Linux
Do you wish to build TensorFlow with Google Cloud Platform support? [y/N]
No Google Cloud Platform support will be enabled for TensorFlow
Do you wish to build TensorFlow with Hadoop File System support? [y/N]
No Hadoop File System support will be enabled for TensorFlow
Do you wish to build TensorFlow with the XLA just-in-time compiler (experimental)? [y/N]
No XLA support will be enabled for TensorFlow
Found possible Python library paths: /usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
Please input the desired Python library path to use. Default is [/usr/local/lib/python2.7/dist-packages]
Using python library path: /usr/local/lib/python2.7/dist-packages
Do you wish to build TensorFlow with OpenCL support? [y/N] y
OpenCL support will be enabled for TensorFlow
Do you wish to build TensorFlow with CUDA support? [y/N]
No CUDA support will be enabled for TensorFlow
Please specify which C++ compiler should be used as the host C++ compiler. [Default is /usr/bin/clang++-3.6]:
Please specify which C compiler should be used as the host C compiler. [Default is /usr/bin/clang-3.6]:
bazel 构建:
构建 pip 包:bazel build -c dbg --config=sycl //tensorflow/tools/pip_package:build_pip_package
安装 pip 包bazel-bin/tensorflow/tools/pip_package/build_pip_package
sudo pip 安装: /tmp/tensorflow_pkg/tensorflow-1.0.1-cp27-none-linux_x86_64.whl
请帮我解决问题。
【问题讨论】:
【参考方案1】:您(目前)不能在英特尔 GPU 上将 SYCL 与 TensorFlow 结合使用。然而,它很快就会到来。您需要进行一些修复,然后它将正常工作。您需要等待新的 Intel OpenCL GPU 驱动程序,然后对 TensorFlow 进行一些兼容性提交,然后它才能在 Intel GPU 上运行。您可能还想再等一会以获得一些性能改进,因为我们一直更关注正确性,首先,性能会稍晚一些。
【讨论】:
是否有任何关于 SYCL/TensorFlow/Intel GPU 何时可用的预测,即使是 Beta 形式?您可以提供任何链接来关注进度吗?【参考方案2】:SYCL 变体目前需要支持 SPIR 或 SPIRV 的平台,例如 Intel 或 AMD。 NVIDIA 平台目前都不支持。
【讨论】:
我可以使用英特尔集成显卡运行支持 SYCL 的 Tensorflow 吗?如果是,我该怎么办? 免责声明:我为 ComputeCpp 中的 Codeplay 工作,这是 SYCL 实现之一。 ComputeCpp 适用于 Intel GPU 平台,因此您应该能够运行它。在将结构传递给内核时,有一些 Intel GPU 驱动程序问题会导致一些故障,这可能会影响某些 TF 内核(不确定)。无论如何,英特尔可能会尽快解决这些问题。以上是关于安装带有 SYCL 支持的 TensorFlow的主要内容,如果未能解决你的问题,请参考以下文章