lukeiwanski / tensorflow

OpenCL support for TensorFlow via SYCL
Apache License 2.0
65 stars 14 forks source link

FAIL: //tensorflow/python/kernel_tests:shape_ops_test #118

Closed jwlawson closed 7 years ago

jwlawson commented 7 years ago

The recent update to Tile ops (https://github.com/tensorflow/tensorflow/commit/26cb8a192914a05d02a078729db6f4b26439ad0c) fails the SYCL tests.

System Info

  Name:                      Fiji
  Vendor:                    Advanced Micro Devices, Inc.
  Device OpenCL C version:           OpenCL C 2.0 
  Driver version:                1912.5 (VM)
  Profile:                   FULL_PROFILE
  Version:                   OpenCL 2.0 AMD-APP (1912.5)
  Extensions:                    cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_khr_gl_depth_images cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_image2d_from_buffer cl_khr_spir cl_khr_subgroups cl_khr_gl_event cl_khr_depth_images cl_khr_mipmap_image cl_khr_mipmap_image_writes

ComputeCpp 0.2.1

To reproduce

bazel test --config=opt --config=sycl --test_lang_filters=cc,py --action_env=LD_PRELOAD=/usr/lib/libOpenCL.so.1 --test_timeout 300,750,1200,3600 //tensorflow/python/kernel_tests:shape_ops_test

Error

FAIL: testRandom (__main__.TileTest)

...
Arrays are not equal
x and y nan location mismatch:
 x: array([[[[[[[[[[  5.931653e-01,   1.427206e-01,   9.919387e-01,
                  5.931653e-01,   1.427206e-01,   9.919387e-01],
               [  7.969127e-01,   8.957416e-01,   5.251474e-01,...
 y: array([[[[[[[[[[  0.000000e+00,   0.000000e+00,   0.000000e+00,
                  0.000000e+00,   0.000000e+00,   0.000000e+00],
               [  0.000000e+00,   0.000000e+00,   0.000000e+00,...

Caused when TileOp is called on 10 dimensional tensors, where the Eigen operation is not used and the fallback is to a CPU operation (but the tensor is still on the device not host).

lukeiwanski commented 7 years ago

Closing