triSYCL / triSYCL

Generic system-wide modern C++ for heterogeneous platforms with SYCL from Khronos Group
Other
437 stars 98 forks source link

tensorflow build fails against triSYCL #150

Open airlied opened 6 years ago

airlied commented 6 years ago

Not really sure who's fault this is, but I tried tensorflow master against trisycl master, on a gcc 8.1.1 Fedora 28 system.

external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorSyclExprConstructor.h:68:1: error: request for member 'get' in '(& utility::tuple::get<2, cl::sycl::accessor<unsigned char, 1, (cl::sycl::access::mode)44, (cl::sycl::access::target)2014>, cl::sycl::accessor<unsigned char, 1, (cl::sycl::access::mode)42, (cl::sycl::access::target)2014>, cl::sycl::accessor<unsigned char, 1, (cl::sycl::access::mode)42, (cl::sycl::access::target)2014> >(( & t)))->cl::sycl::accessor<unsigned char, 1, (cl::sycl::access::mode)42, (cl::sycl::access::target)2014>::get_pointer()', which is of non-class type 'unsigned char'

I'm just not far enough into this stuff you debug where it might be going wrong yet.

keryell commented 6 years ago

I first thought that we did not implement get_pointer(), but surprising we do... :-)

I have not looked again at TensorFlow since last year. In the meantime SYCL switched from 1.2 to 1.2.1 and TensorFlow evolved a lot... I know that they are using now the new placeholder accessors from 1.2.1. Perhaps it is the reason? Are you in contact with Codeplay to be sure you are at least using the right TensorFlow version? I have heard that the upstreamed version is lagging behind because of some limited review bandwidth.

keryell commented 6 years ago

Somehow related to https://github.com/triSYCL/triSYCL/issues/157