benoitsteiner / tensorflow-opencl

OpenCL support for TensorFlow
Apache License 2.0
472 stars 86 forks source link

Device not found by ComputeCpp #40

Closed grovina closed 6 years ago

grovina commented 7 years ago

Hello again,

Unfortunately I'm still unable to run tensorflow. A simple code like:

import tensorflow as tf
tf.Session()

gives me:

2017-01-30 00:17:17: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compi
led to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-01-30 00:17:17: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compi
led to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-01-30 00:17:17: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compi
led to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-01-30 00:17:17: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compi
led to use FMA instructions, but these are available on your machine and could speed up CPU computations.
terminate called after throwing an instance of 'cl::sycl::exception'
  what():  Error: [ComputeCpp:RT0106] Device not found
Aborted (core dumped)

This is the output of computecpp_info:

ComputeCpp Info (CE 0.1.2)

********************************************************************************

Toolchain information:

GLIBCXX: 20150426
This version of libstdc++ is supported.

********************************************************************************

Device Info:

Discovered 1 devices matching:
  platform    : <any>
  device type : <any>

--------------------------------------------------------------------------------
Device 0:

  Device is supported                     : NO - Device does not support SPIR
  CL_DEVICE_NAME                          : AMD TAHITI (DRM 2.43.0, LLVM 3.8.0)
  CL_DEVICE_VENDOR                        : AMD
  CL_DRIVER_VERSION                       : 11.2.0
  CL_DEVICE_TYPE                          : CL_DEVICE_TYPE_GPU

I believe Device does not support SPIR is bad news, although I hope not. Would you have any hints? Should I move this issue to ComputeCpp's repository instead?

I'm running Ubuntu 16.04 and the output of bazel version is:

Build label: 0.4.3
Build target: bazel-out/local-fastbuild/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Thu Dec 22 12:31:25 2016 (1482409885)
Build timestamp: 1482409885
Build timestamp as int: 1482409885

Thank you again :)

rodburns commented 7 years ago

Your hardware does not support SPIR and therefore is not supported by ComputeCpp. You can find a list of fully supported hardware in the Platform Support Notes in the ComputeCpp documentation.

grovina commented 7 years ago

:disappointed:

https://www.codeplay.com/products/computesuite/computecpp/reference/platform-support-notes/

grovina commented 7 years ago

https://github.com/KhronosGroup/SPIRV-LLVM Is this concevable?

DuncanMcBain commented 7 years ago

Hi Grovina, that tool will unfortunately not help in this instance. AMD's latest drivers do not support SPIR 1.2 which is unfortunately the only output format we support at this point. The drivers that AMD provide for Ubuntu 14.04 are the ones that we test internally (which support SPIR 1.2). Regrettably we do not have hardware matching your GPU in our testing infrastructure, and have not tested the exact combination of Ubuntu, Tahiti cards and the driver that supports SPIR 1.2.

grovina commented 7 years ago

@DuncanMcBain thanks for your answer. Does it mean that then I still have a hope changing to Ubuntu 14.04 [and fglrx]?

DuncanMcBain commented 7 years ago

Hi @grovina, sorry for the delayed response. The setup I have here is Ubuntu 14.04 with the drivers that correspond to my GPU from AMD's website, though since I haven't the same hardware as you I cannot promise that the same setup will work for you. That said, with my current configuration, I can run and pass the SDK tests (from our ComputeCpp-SDK repository).