在Ubuntu 18.04上使用OpenCL支持构建Tensorflow失败

时间:2018-08-04 19:22:09

标签: ubuntu tensorflow build opencl

尝试使用此configuration在Ubuntu 18.04上编译Tensorflow时,我遇到了以下错误:

ERROR: /home/joao/Documents/playground/tensorflow/tensorflow/contrib/tensor_forest/hybrid/BUILD:72:1: C++ compilation of rule '//tensorflow/contrib/tensor_forest/hybrid:utils' failed (Exit 1)
In file included from tensorflow/contrib/tensor_forest/hybrid/core/ops/utils.cc:15:
In file included from ./tensorflow/contrib/tensor_forest/hybrid/core/ops/utils.h:20:
In file included from ./tensorflow/core/framework/tensor.h:19:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:99:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:163:19: error: no matching member function for call to 'get_access'
    auto ptr =buf.get_access<cl::sycl::access::mode::discard_write, cl::sycl::access::target::host_buffer>().get_pointer();
              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:532:3: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'accessMode'
  get_access() {
  ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:550:53: note: candidate function template not viable: requires single argument 'cgh', but no arguments were provided
  accessor<T, dimensions, accessMode, accessTarget> get_access(
                                                    ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:572:53: note: candidate function template not viable: requires 3 arguments, but 0 were provided
  accessor<T, dimensions, accessMode, accessTarget> get_access(
                                                    ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:592:53: note: candidate function template not viable: requires at least 2 arguments, but 0 were provided
  accessor<T, dimensions, accessMode, accessTarget> get_access(
                                                    ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:609:68: note: candidate function template not viable: requires 2 arguments, but 0 were provided
  accessor<T, dimensions, accessMode, access::target::host_buffer> get_access(
                                                                   ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:623:68: note: candidate function template not viable: requires at least argument 'range', but no arguments were provided
  accessor<T, dimensions, accessMode, access::target::host_buffer> get_access(
                                                                   ^
In file included from tensorflow/contrib/tensor_forest/hybrid/core/ops/utils.cc:15:
In file included from ./tensorflow/contrib/tensor_forest/hybrid/core/ops/utils.h:20:
In file included from ./tensorflow/core/framework/tensor.h:19:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:99:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:195:61: error: no member named 'map_allocator' in namespace 'cl::sycl'
      auto src_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(static_cast<void*>(const_cast<Index*>(src))), cl::sycl::range<1>(n));
                                                  ~~~~~~~~~~^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:195:75: error: unexpected type name 'uint8_t': expected expression
      auto src_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(static_cast<void*>(const_cast<Index*>(src))), cl::sycl::range<1>(n));
                                                                          ^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:195:86: warning: expression result unused [-Wunused-value]
      auto src_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(static_cast<void*>(const_cast<Index*>(src))), cl::sycl::range<1>(n));
                                                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:198:31: error: expected unqualified-id
        auto src_acc =src_buf.template get_access<cl::sycl::access::mode::read, cl::sycl::access::target::global_buffer>(cgh);
                              ^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:198:107: error: nested name specifier 'cl::sycl::access::target::' for declaration does not refer into a class, class template or class template partial specialization
        auto src_acc =src_buf.template get_access<cl::sycl::access::mode::read, cl::sycl::access::target::global_buffer>(cgh);
                                                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:198:120: error: expected ';' at end of declaration
        auto src_acc =src_buf.template get_access<cl::sycl::access::mode::read, cl::sycl::access::target::global_buffer>(cgh);
                                                                                                                       ^
                                                                                                                       ;
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:217:62: error: no member named 'map_allocator' in namespace 'cl::sycl'
      auto dest_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(dst), cl::sycl::range<1>(n));
                                                   ~~~~~~~~~~^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:217:76: error: unexpected type name 'uint8_t': expected expression
      auto dest_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(dst), cl::sycl::range<1>(n));
                                                                           ^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:217:87: warning: expression result unused [-Wunused-value]
      auto dest_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(dst), cl::sycl::range<1>(n));
                                                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:220:32: error: expected unqualified-id
        auto dst_acc =dest_buf.template get_access<cl::sycl::access::mode::discard_write, cl::sycl::access::target::global_buffer>(cgh);
                               ^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:220:117: error: nested name specifier 'cl::sycl::access::target::' for declaration does not refer into a class, class template or class template partial specialization
        auto dst_acc =dest_buf.template get_access<cl::sycl::access::mode::discard_write, cl::sycl::access::target::global_buffer>(cgh);
                                                                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:220:130: error: expected ';' at end of declaration
        auto dst_acc =dest_buf.template get_access<cl::sycl::access::mode::discard_write, cl::sycl::access::target::global_buffer>(cgh);
                                                                                                                                 ^
                                                                                                                                 ;
2 warnings and 11 errors generated.
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 170.920s, Critical Path: 39.24s
INFO: 2976 processes: 2976 local.
FAILED: Build did NOT complete successfully

如果有人能帮助我,我将非常感谢,我已经尝试解决这个问题已有一段时间了,而且似乎没有任何效果。我也尝试过使用triSYCL进行编译,但问题仍然存在,我还确认了没有OpenCL支持的编译可以按预期工作,没有任何错误。

2 个答案:

答案 0 :(得分:1)

最近,SYCL规范中的界面发生了变化,因此您需要确保TensorFlow源代码与ComputeCpp版本匹配。

按照指南here进行操作,并确保您已下载最新版本的ComputeCpp并具有来自GitHub的最新版本的源代码。请注意,您需要使用Codeplay分支here,因为更改需要一些时间才能传播到主要的TensorFlow信息库中,本指南对此进行了概述。

答案 1 :(得分:0)

自从我从全新安装Ubuntu开始就遵循链接指南以来,接受的答案实际上并没有帮助。

我从eieigen_sycl分支上的tensorflow的代码播放git repo开始使用Bazel和ComputeCpp的最新版本,但是在没有Bazel降级和引入以下情况的情况下提出了不同的错误:

--incompatible_load_argument_is_label=false
--incompatible_disallow_uncalled_set_constructor=false
  

编辑

     

我试图将ComputeCpp从1.0.1逐步降级到0.6.1>,而没有进行改进(更多/更少警告,相同的错误)。

我也尝试使用这种替代git repo(https://github.com/lukeiwanski/tensorflow/tree/dev/amd_gpu),但没有运气(如此处所述:https://www.reddit.com/r/tensorflow/comments/8hwntf/tensorflow_on_ubuntu_1804_with_amd_gpu_tips/),同样的问题。

现在使用 Bazel 0.11.0 ,并通过以下命令:

bazel build -c opt --config=sycl --incompatible_load_argument_is_label=false --incompatible_disallow_uncalled_set_constructor=false //tensorflow/tools/pip_package:build_pip_package

这是我的构建输出:

INFO: Found 1 target...
ERROR: /home/mlnode/tf2/tensorflow/tensorflow/core/BUILD:2024:1: C++ compilation of rule '//tensorflow/core:lib_internal_impl' failed (Exit 1)
In file included from tensorflow/core/lib/random/random_distributions.cc:16:
In file included from ./tensorflow/core/lib/random/distribution_sampler.h:38:
In file included from ./tensorflow/core/lib/random/simple_philox.h:24:
In file included from ./tensorflow/core/lib/random/random_distributions.h:28:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:99:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:163:19: error: no matching member function for call to 'get_access'
    auto ptr =buf.get_access<cl::sycl::access::mode::discard_write, cl::sycl::access::target::host_buffer>().get_pointer();
              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:624:3: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'accessMode'
  get_access() {
  ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:642:53: note: candidate function template not viable: requires single argument 'cgh', but no arguments were provided
  accessor<T, dimensions, accessMode, accessTarget> get_access(
                                                    ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:664:53: note: candidate function template not viable: requires 3 arguments, but 0 were provided
  accessor<T, dimensions, accessMode, accessTarget> get_access(
                                                    ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:684:53: note: candidate function template not viable: requires at least 2 arguments, but 0 were provided
  accessor<T, dimensions, accessMode, accessTarget> get_access(
                                                    ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:701:68: note: candidate function template not viable: requires 2 arguments, but 0 were provided
  accessor<T, dimensions, accessMode, access::target::host_buffer> get_access(
                                                                   ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/buffer.h:715:68: note: candidate function template not viable: requires at least argument 'range', but no arguments were provided
  accessor<T, dimensions, accessMode, access::target::host_buffer> get_access(
                                                                   ^
In file included from tensorflow/core/lib/random/random_distributions.cc:16:
In file included from ./tensorflow/core/lib/random/distribution_sampler.h:38:
In file included from ./tensorflow/core/lib/random/simple_philox.h:24:
In file included from ./tensorflow/core/lib/random/random_distributions.h:28:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:99:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:195:61: error: no member named 'map_allocator' in namespace 'cl::sycl'
      auto src_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(static_cast<void*>(const_cast<Index*>(src))), cl::sycl::range<1>(n));
                                                  ~~~~~~~~~~^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:195:75: error: unexpected type name 'uint8_t': expected expression
      auto src_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(static_cast<void*>(const_cast<Index*>(src))), cl::sycl::range<1>(n));
                                                                          ^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:195:86: warning: expression result unused [-Wunused-value]
      auto src_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(static_cast<void*>(const_cast<Index*>(src))), cl::sycl::range<1>(n));
                                                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:198:31: error: expected unqualified-id
        auto src_acc =src_buf.template get_access<cl::sycl::access::mode::read, cl::sycl::access::target::global_buffer>(cgh);
                              ^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:198:107: error: nested name specifier 'cl::sycl::access::target::' for declaration does not refer into a class, class template or class template partial specialization
        auto src_acc =src_buf.template get_access<cl::sycl::access::mode::read, cl::sycl::access::target::global_buffer>(cgh);
                                                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:198:120: error: expected ';' at end of declaration
        auto src_acc =src_buf.template get_access<cl::sycl::access::mode::read, cl::sycl::access::target::global_buffer>(cgh);
                                                                                                                       ^
                                                                                                                       ;
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:217:62: error: no member named 'map_allocator' in namespace 'cl::sycl'
      auto dest_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(dst), cl::sycl::range<1>(n));
                                                   ~~~~~~~~~~^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:217:76: error: unexpected type name 'uint8_t': expected expression
      auto dest_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(dst), cl::sycl::range<1>(n));
                                                                           ^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:217:87: warning: expression result unused [-Wunused-value]
      auto dest_buf = cl::sycl::buffer<uint8_t, 1, cl::sycl::map_allocator<uint8_t> >(static_cast<uint8_t*>(dst), cl::sycl::range<1>(n));
                                                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:220:32: error: expected unqualified-id
        auto dst_acc =dest_buf.template get_access<cl::sycl::access::mode::discard_write, cl::sycl::access::target::global_buffer>(cgh);
                               ^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:220:117: error: nested name specifier 'cl::sycl::access::target::' for declaration does not refer into a class, class template or class template partial specialization
        auto dst_acc =dest_buf.template get_access<cl::sycl::access::mode::discard_write, cl::sycl::access::target::global_buffer>(cgh);
                                                                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h:220:130: error: expected ';' at end of declaration
        auto dst_acc =dest_buf.template get_access<cl::sycl::access::mode::discard_write, cl::sycl::access::target::global_buffer>(cgh);
                                                                                                                                 ^
                                                                                                                                 ;
In file included from tensorflow/core/lib/random/random_distributions.cc:16:
In file included from ./tensorflow/core/lib/random/distribution_sampler.h:38:
In file included from ./tensorflow/core/lib/random/simple_philox.h:24:
In file included from ./tensorflow/core/lib/random/random_distributions.h:28:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:146:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorSycl.h:110:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h:54:47: warning: 'get_local' is deprecated: SYCL 1.2.1 revision 3 replaces nd_item::get_local with nd_item::get_local_id. [-Wdeprecated-declarations]
    const size_t plane_kernel_offset = itemID.get_local(1) * num_x_input;
                                              ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/item.h:308:3: note: 'get_local' has been explicitly marked deprecated here
  COMPUTECPP_DEPRECATED_API(
  ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/predefines.h:475:45: note: expanded from macro 'COMPUTECPP_DEPRECATED_API'
#define COMPUTECPP_DEPRECATED_API(reason) [[deprecated(reason)]]
                                            ^
In file included from tensorflow/core/lib/random/random_distributions.cc:16:
In file included from ./tensorflow/core/lib/random/distribution_sampler.h:38:
In file included from ./tensorflow/core/lib/random/simple_philox.h:24:
In file included from ./tensorflow/core/lib/random/random_distributions.h:28:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:146:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorSycl.h:110:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h:56:95: warning: 'get_global' is deprecated: SYCL 1.2.1 revision 3 replaces nd_item::get_global with nd_item::get_global_id. [-Wdeprecated-declarations]
    const size_t plane_tensor_offset =indexMapper.mapCudaInputPlaneToTensorInputOffset(itemID.get_global(1));
                                                                                              ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/item.h:272:3: note: 'get_global' has been explicitly marked deprecated here
  COMPUTECPP_DEPRECATED_API(
  ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/predefines.h:475:45: note: expanded from macro 'COMPUTECPP_DEPRECATED_API'
#define COMPUTECPP_DEPRECATED_API(reason) [[deprecated(reason)]]
                                            ^
In file included from tensorflow/core/lib/random/random_distributions.cc:16:
In file included from ./tensorflow/core/lib/random/distribution_sampler.h:38:
In file included from ./tensorflow/core/lib/random/simple_philox.h:24:
In file included from ./tensorflow/core/lib/random/random_distributions.h:28:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:146:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorSycl.h:110:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h:58:28: warning: 'get_local' is deprecated: SYCL 1.2.1 revision 3 replaces nd_item::get_local with nd_item::get_local_id. [-Wdeprecated-declarations]
    for (size_t i = itemID.get_local(0); i < num_x_input ; i += itemID.get_local_range()[0]) {
                           ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/item.h:308:3: note: 'get_local' has been explicitly marked deprecated here
  COMPUTECPP_DEPRECATED_API(
  ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/predefines.h:475:45: note: expanded from macro 'COMPUTECPP_DEPRECATED_API'
#define COMPUTECPP_DEPRECATED_API(reason) [[deprecated(reason)]]
                                            ^
In file included from tensorflow/core/lib/random/random_distributions.cc:16:
In file included from ./tensorflow/core/lib/random/distribution_sampler.h:38:
In file included from ./tensorflow/core/lib/random/simple_philox.h:24:
In file included from ./tensorflow/core/lib/random/random_distributions.h:28:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:146:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorSycl.h:110:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h:61:72: warning: 'get_global' is deprecated: SYCL 1.2.1 revision 3 replaces nd_item::get_global with nd_item::get_global_id. [-Wdeprecated-declarations]
      if(((i + first_input_start) < (range_x +kernelSize-1)) && itemID.get_global(1)< range_y){
                                                                       ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/item.h:272:3: note: 'get_global' has been explicitly marked deprecated here
  COMPUTECPP_DEPRECATED_API(
  ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/predefines.h:475:45: note: expanded from macro 'COMPUTECPP_DEPRECATED_API'
#define COMPUTECPP_DEPRECATED_API(reason) [[deprecated(reason)]]
                                            ^
In file included from tensorflow/core/lib/random/random_distributions.cc:16:
In file included from ./tensorflow/core/lib/random/distribution_sampler.h:38:
In file included from ./tensorflow/core/lib/random/simple_philox.h:24:
In file included from ./tensorflow/core/lib/random/random_distributions.h:28:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:146:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorSycl.h:110:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h:71:15: warning: 'get_global' is deprecated: SYCL 1.2.1 revision 3 replaces nd_item::get_global with nd_item::get_global_id. [-Wdeprecated-declarations]
    if(itemID.get_global(0)< range_x && itemID.get_global(1)< range_y){
              ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/item.h:272:3: note: 'get_global' has been explicitly marked deprecated here
  COMPUTECPP_DEPRECATED_API(
  ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/predefines.h:475:45: note: expanded from macro 'COMPUTECPP_DEPRECATED_API'
#define COMPUTECPP_DEPRECATED_API(reason) [[deprecated(reason)]]
                                            ^
In file included from tensorflow/core/lib/random/random_distributions.cc:16:
In file included from ./tensorflow/core/lib/random/distribution_sampler.h:38:
In file included from ./tensorflow/core/lib/random/simple_philox.h:24:
In file included from ./tensorflow/core/lib/random/random_distributions.h:28:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:146:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorSycl.h:110:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h:71:48: warning: 'get_global' is deprecated: SYCL 1.2.1 revision 3 replaces nd_item::get_global with nd_item::get_global_id. [-Wdeprecated-declarations]
    if(itemID.get_global(0)< range_x && itemID.get_global(1)< range_y){
                                               ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/item.h:272:3: note: 'get_global' has been explicitly marked deprecated here
  COMPUTECPP_DEPRECATED_API(
  ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/predefines.h:475:45: note: expanded from macro 'COMPUTECPP_DEPRECATED_API'
#define COMPUTECPP_DEPRECATED_API(reason) [[deprecated(reason)]]
                                            ^
In file included from tensorflow/core/lib/random/random_distributions.cc:16:
In file included from ./tensorflow/core/lib/random/distribution_sampler.h:38:
In file included from ./tensorflow/core/lib/random/simple_philox.h:24:
In file included from ./tensorflow/core/lib/random/random_distributions.h:28:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:146:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorSycl.h:110:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h:73:56: warning: 'get_local' is deprecated: SYCL 1.2.1 revision 3 replaces nd_item::get_local with nd_item::get_local_id. [-Wdeprecated-declarations]
      const size_t index = plane_kernel_offset+ itemID.get_local(0);
                                                       ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/item.h:308:3: note: 'get_local' has been explicitly marked deprecated here
  COMPUTECPP_DEPRECATED_API(
  ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/predefines.h:475:45: note: expanded from macro 'COMPUTECPP_DEPRECATED_API'
#define COMPUTECPP_DEPRECATED_API(reason) [[deprecated(reason)]]
                                            ^
In file included from tensorflow/core/lib/random/random_distributions.cc:16:
In file included from ./tensorflow/core/lib/random/distribution_sampler.h:38:
In file included from ./tensorflow/core/lib/random/simple_philox.h:24:
In file included from ./tensorflow/core/lib/random/random_distributions.h:28:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:146:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorSycl.h:110:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h:77:93: warning: 'get_global' is deprecated: SYCL 1.2.1 revision 3 replaces nd_item::get_global with nd_item::get_global_id. [-Wdeprecated-declarations]
      const size_t tensor_index = indexMapper.mapCudaOutputPlaneToTensorOutputOffset(itemID.get_global(1))
                                                                                            ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/item.h:272:3: note: 'get_global' has been explicitly marked deprecated here
  COMPUTECPP_DEPRECATED_API(
  ^

[剪切的重复输出]

external/local_config_sycl/crosstool/../sycl/include/SYCL/predefines.h:475:45: note: expanded from macro 'COMPUTECPP_DEPRECATED_API'
#define COMPUTECPP_DEPRECATED_API(reason) [[deprecated(reason)]]
                                            ^
In file included from tensorflow/core/lib/random/random_distributions.cc:16:
In file included from ./tensorflow/core/lib/random/distribution_sampler.h:38:
In file included from ./tensorflow/core/lib/random/simple_philox.h:24:
In file included from ./tensorflow/core/lib/random/random_distributions.h:28:
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:146:
In file included from external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorSycl.h:117:
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h:230:43: warning: 'get_local' is deprecated: SYCL 1.2.1 revision 3 replaces nd_item::get_local with nd_item::get_local_id. [-Wdeprecated-declarations]
      const Index nLocalThreadId = itemID.get_local(1); // Local ID col
                                          ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/item.h:308:3: note: 'get_local' has been explicitly marked deprecated here
  COMPUTECPP_DEPRECATED_API(
  ^
external/local_config_sycl/crosstool/../sycl/include/SYCL/predefines.h:475:45: note: expanded from macro 'COMPUTECPP_DEPRECATED_API'
#define COMPUTECPP_DEPRECATED_API(reason) [[deprecated(reason)]]
                                            ^
40 warnings and 11 errors generated.
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 4.762s, Critical Path: 4.35s
FAILED: Build did NOT complete successfully

由于最低版本检查不正确,我还不得不修复Bazel工作区文件,但是在禁用控件之后,似乎没有其他缺点。