Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correct path and update version for ComputeCpp #32

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions tensorflow/core/framework/register_types_traits.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ limitations under the License.
typedef Eigen::ThreadPoolDevice CPUDevice;
typedef Eigen::GpuDevice GPUDevice;

#ifdef TENSORFLOW_USE_SYCL
typedef Eigen::SyclDevice SYCLDevice;
#endif // TENSORFLOW_USE_SYCL

#include "tensorflow/core/framework/numeric_types.h"
#include "tensorflow/core/platform/types.h"

Expand Down Expand Up @@ -66,6 +70,17 @@ struct proxy_type_pod<GPUDevice, 2> {
typedef Eigen::half type;
};

#ifdef TENSORFLOW_USE_SYCL
template <>
struct proxy_type_pod<SYCLDevice, 8> {
typedef double type;
};
template <>
struct proxy_type_pod<SYCLDevice, 4> {
typedef float type;
};
#endif // TENSORFLOW_USE_SYCL

/// If POD we use proxy_type_pod, otherwise this maps to identiy.
template <typename Device, typename T>
struct proxy_type {
Expand All @@ -81,6 +96,10 @@ struct proxy_type {
TF_CALL_int8(m) TF_CALL_complex128(m)
#define TF_CALL_GPU_PROXY_TYPES(m) \
TF_CALL_double(m) TF_CALL_float(m) TF_CALL_half(m) TF_CALL_int32(m)
#ifdef TENSORFLOW_USE_SYCL
#define TF_CALL_SYCL_PROXY_TYPES(m) \
TF_CALL_double(m) TF_CALL_float(m) TF_CALL_int32(m)
#endif // TENSORFLOW_USE_SYCL
} // namespace tensorflow

#endif // TENSORFLOW_FRAMEWORK_REGISTER_TYPES_TRAITS_H_
11 changes: 11 additions & 0 deletions tensorflow/core/kernels/concat_op.cc
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ typedef Eigen::ThreadPoolDevice CPUDevice;
#if GOOGLE_CUDA
typedef Eigen::GpuDevice GPUDevice;
#endif // GOOGLE_CUDA
#ifdef TENSORFLOW_USE_SYCL
typedef Eigen::SyclDevice SYCLDevice;
#endif // TENSORFLOW_USE_SYCL

enum AxisArgumentName { NAME_IS_AXIS, NAME_IS_CONCAT_DIM };

Expand Down Expand Up @@ -293,4 +296,12 @@ REGISTER_KERNEL_BUILDER(Name("ConcatOffset")
.HostMemory("offset"),
ConcatOffsetOp);

#ifdef TENSORFLOW_USE_SYCL
REGISTER_KERNEL_BUILDER(Name("ConcatOffset")
.Device(DEVICE_SYCL)
.HostMemory("concat_dim")
.HostMemory("shape")
.HostMemory("offset"),
ConcatOffsetOp);
#endif // TENSORFLOW_USE_SYCL
} // namespace tensorflow
17 changes: 16 additions & 1 deletion tensorflow/core/kernels/constant_op.cc
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ REGISTER_KERNEL_BUILDER(Name("Const").Device(DEVICE_CPU), ConstantOp);
REGISTER_KERNEL_BUILDER( \
Name("Const").Device(DEVICE_SYCL).TypeConstraint<TYPE>("dtype"), \
ConstantOp);
TF_CALL_NUMBER_TYPES(REGISTER_SYCL_KERNEL);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
REGISTER_SYCL_KERNEL(bool);
#undef REGISTER_SYCL_KERNEL
#endif

Expand Down Expand Up @@ -112,6 +114,17 @@ REGISTER_KERNEL_BUILDER(Name("Const")
HostConstantOp);
#endif

#ifdef TENSORFLOW_USE_SYCL
// A special GPU kernel for int32.
// TODO(b/25387198): Also enable int32 in device memory. This kernel
// registration requires all int32 inputs and outputs to be in host memory.
REGISTER_KERNEL_BUILDER(Name("Const")
.Device(DEVICE_SYCL)
.HostMemory("output")
.TypeConstraint<int32>("dtype"),
HostConstantOp);
#endif // TENSORFLOW_USE_SYCL

typedef Eigen::ThreadPoolDevice CPUDevice;
typedef Eigen::GpuDevice GPUDevice;
#ifdef TENSORFLOW_USE_SYCL
Expand Down Expand Up @@ -186,6 +199,7 @@ REGISTER_KERNEL(CPU, quint8);

#ifdef TENSORFLOW_USE_SYCL
REGISTER_KERNEL(SYCL, float)
REGISTER_KERNEL(SYCL, double)
REGISTER_KERNEL_BUILDER(Name("Fill")
.Device(DEVICE_SYCL)
.TypeConstraint<int32>("T")
Expand Down Expand Up @@ -245,6 +259,7 @@ TF_CALL_POD_STRING_TYPES(REGISTER_CPU);

#ifdef TENSORFLOW_USE_SYCL
REGISTER_KERNEL(float, SYCL);
REGISTER_KERNEL(bool, SYCL);
REGISTER_KERNEL_BUILDER(Name("ZerosLike")
.Device(DEVICE_SYCL)
.TypeConstraint<int32>("T")
Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_acos.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ REGISTER2(UnaryOp, CPU, "Acos", functor::acos, float, double);
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::acos<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

Expand Down
5 changes: 3 additions & 2 deletions tensorflow/core/kernels/cwise_op_add_1.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ limitations under the License.
namespace tensorflow {
REGISTER5(BinaryOp, CPU, "Add", functor::add, float, Eigen::half, double, int32,
int64);

#if TENSORFLOW_USE_SYCL
#define REGISTER_SYCL_KERNEL(TYPE) \
REGISTER_KERNEL_BUILDER( \
Expand All @@ -27,9 +27,10 @@ REGISTER5(BinaryOp, CPU, "Add", functor::add, float, Eigen::half, double, int32,
.TypeConstraint<TYPE>("T"), \
BinaryOp<SYCLDevice, functor::add<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

#if GOOGLE_CUDA
REGISTER3(BinaryOp, GPU, "Add", functor::add, float, Eigen::half, double);

Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_asin.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ REGISTER2(UnaryOp, CPU, "Asin", functor::asin, float, double);
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::asin<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_atan.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ REGISTER2(UnaryOp, CPU, "Atan", functor::atan, float, double);
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::atan<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_ceil.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ REGISTER3(UnaryOp, CPU, "Ceil", functor::ceil, float, Eigen::half, double);
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::ceil<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_cos.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ REGISTER5(UnaryOp, CPU, "Cos", functor::cos, float, Eigen::half, double,
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::cos<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_div.cc
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ REGISTER5(BinaryOp, CPU, "RealDiv", functor::div, float, Eigen::half, double,
.TypeConstraint<TYPE>("T"), \
BinaryOp<SYCLDevice, functor::div<TYPE>>);
REGISTER_SYCL_KERNEL(float)
REGISTER_SYCL_KERNEL(double)
REGISTER_SYCL_KERNEL(int32)
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL
Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_floor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ REGISTER3(UnaryOp, CPU, "Floor", functor::floor, float, Eigen::half, double);
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::floor<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

Expand Down
11 changes: 0 additions & 11 deletions tensorflow/core/kernels/cwise_op_floor_div.cc
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,6 @@ REGISTER5(BinaryOp, CPU, "FloorDiv", functor::safe_floor_div, uint8, uint16,
REGISTER3(BinaryOp, CPU, "FloorDiv", functor::floor_div_real, float,
Eigen::half, double);

#if TENSORFLOW_USE_SYCL
#define REGISTER_SYCL_KERNEL(TYPE) \
REGISTER_KERNEL_BUILDER( \
Name("FloorDiv") \
.Device(DEVICE_SYCL) \
.TypeConstraint<TYPE>("T"), \
BinaryOp<SYCLDevice, functor::floor_div_real<TYPE>>);
REGISTER_SYCL_KERNEL(float)
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

#if GOOGLE_CUDA
REGISTER4(BinaryOp, GPU, "FloorDiv", functor::floor_div, uint8, uint16, int16,
int64);
Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_isfinite.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ REGISTER3(UnaryOp, CPU, "IsFinite", functor::isfinite, float, Eigen::half,
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::isfinite<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_isinf.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ REGISTER3(UnaryOp, CPU, "IsInf", functor::isinf, float, Eigen::half, double);
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::isinf<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_isnan.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ REGISTER3(UnaryOp, CPU, "IsNan", functor::isnan, float, Eigen::half, double);
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::isnan<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_log.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ REGISTER5(UnaryOp, CPU, "Log", functor::log, float, Eigen::half, double,
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::log<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_log1p.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ REGISTER5(UnaryOp, CPU, "Log1p", functor::log1p, float, Eigen::half, double,
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::log1p<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

Expand Down
8 changes: 8 additions & 0 deletions tensorflow/core/kernels/cwise_op_mul_1.cc
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,15 @@ REGISTER5(BinaryOp, CPU, "Mul", functor::mul, float, Eigen::half, double,
.TypeConstraint<TYPE>("T"), \
BinaryOp<SYCLDevice, functor::mul<TYPE>>);
REGISTER_SYCL_KERNEL(float)
REGISTER_SYCL_KERNEL(double)
#undef REGISTER_SYCL_KERNEL
REGISTER_KERNEL_BUILDER(Name("Mul")
.Device(DEVICE_SYCL)
.HostMemory("x")
.HostMemory("y")
.HostMemory("z")
.TypeConstraint<int32>("T"),
BinaryOp<CPUDevice, functor::mul<int32>>);
#endif // TENSORFLOW_USE_SYCL
#if GOOGLE_CUDA
REGISTER4(BinaryOp, GPU, "Mul", functor::mul, float, Eigen::half, double,
Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_pow.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ REGISTER7(BinaryOp, CPU, "Pow", functor::pow, float, Eigen::half, double, int32,
.TypeConstraint<TYPE>("T"), \
BinaryOp<SYCLDevice, functor::pow<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

Expand Down
4 changes: 2 additions & 2 deletions tensorflow/core/kernels/cwise_op_round.cc
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ REGISTER5(UnaryOp, CPU, "Round", functor::round, Eigen::half, float, double,
int32, int64);

#ifdef TENSORFLOW_USE_SYCL
REGISTER(UnaryOp, SYCL, "Round", functor::round, float);
REGISTER2(UnaryOp, SYCL, "Round", functor::round, float, double);
namespace functor {
DEFINE_UNARY1(round, float);
DEFINE_UNARY2(round, float, double);
} // namespace functor
#endif

Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_rsqrt.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ REGISTER5(UnaryOp, CPU, "Rsqrt", functor::rsqrt, float, Eigen::half, double,
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::rsqrt<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYCL

Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_sin.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ REGISTER5(UnaryOp, CPU, "Sin", functor::sin, float, Eigen::half, double,
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::sin<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYC

Expand Down
3 changes: 2 additions & 1 deletion tensorflow/core/kernels/cwise_op_sqrt.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,9 @@ REGISTER5(UnaryOp, CPU, "Sqrt", functor::sqrt, float, Eigen::half, double,
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::sqrt<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYC
#endif // TENSORFLOW_USE_SYCL

#if GOOGLE_CUDA
REGISTER3(UnaryOp, GPU, "Sqrt", functor::sqrt, float, Eigen::half, double);
Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_square.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ REGISTER7(UnaryOp, CPU, "Square", functor::square, float, Eigen::half, double,
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::square<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYC

Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_tan.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ REGISTER2(UnaryOp, CPU, "Tan", functor::tan, float, double);
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::tan<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYC

Expand Down
1 change: 1 addition & 0 deletions tensorflow/core/kernels/cwise_op_tanh.cc
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ REGISTER5(UnaryOp, CPU, "Tanh", functor::tanh, float, Eigen::half, double,
.TypeConstraint<TYPE>("T"), \
UnaryOp<SYCLDevice, functor::tanh<TYPE>>);
REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif // TENSORFLOW_USE_SYC

Expand Down
2 changes: 2 additions & 0 deletions tensorflow/core/kernels/debug_ops.cc
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ REGISTER_GPU_DEBUG_NAN_COUNT(double);
.TypeConstraint<type>("T"), \
DebugNanCountOp<type>);
REGISTER_GPU_DEBUG_NAN_COUNT(float);
REGISTER_GPU_DEBUG_NAN_COUNT(double);
#endif // TENSORFLOW_USE_SYCL

// Register debug numeric summary ops.
Expand Down Expand Up @@ -129,6 +130,7 @@ REGISTER_GPU_DEBUG_NUMERIC_SUMMARY_COUNT(double);
.TypeConstraint<type>("T"), \
DebugNumericSummaryOp<type>);
REGISTER_GPU_DEBUG_NUMERIC_SUMMARY_COUNT(float);
REGISTER_GPU_DEBUG_NUMERIC_SUMMARY_COUNT(double);
#endif // TENSORFLOW_USE_SYCL

} // namespace tensorflow
1 change: 1 addition & 0 deletions tensorflow/core/kernels/dense_update_ops.cc
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ typedef Eigen::SyclDevice SYCLDevice;
DenseUpdateOp<SYCLDevice, type, DenseUpdateType::SUB>);

REGISTER_SYCL_KERNEL(float);
REGISTER_SYCL_KERNEL(double);
#undef REGISTER_SYCL_KERNEL
#endif

Expand Down
2 changes: 2 additions & 0 deletions tensorflow/core/kernels/fill_functor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ void SetZeroFunctor<Eigen::SyclDevice, T>::operator()(
#define DEFINE_SETZERO_SYCL(T) \
template struct SetZeroFunctor<Eigen::SyclDevice, T>;
DEFINE_SETZERO_SYCL(float);
DEFINE_SETZERO_SYCL(bool);
DEFINE_SETZERO_SYCL(double);
#undef DEFINE_SETZERO_SYCL
#endif // TENSORFLOW_USE_SYCL

Expand Down
28 changes: 28 additions & 0 deletions tensorflow/core/kernels/function_ops.cc
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,34 @@ REGISTER_KERNEL_BUILDER(Name("_ArrayToList")
.TypeConstraint<int32>("T"),
PassOn);

#ifdef TENSORFLOW_USE_SYCL
#define REGISTER_SYCL_KERNELS(type) \
REGISTER_KERNEL_BUILDER( \
Name("_ListToArray").Device(DEVICE_SYCL).TypeConstraint<type>("T"),\
PassOn); \
REGISTER_KERNEL_BUILDER( \
Name("_ArrayToList").Device(DEVICE_SYCL).TypeConstraint<type>("T"),\
PassOn);

REGISTER_SYCL_KERNELS(float);
REGISTER_SYCL_KERNELS(double);

#undef REGISTER_SYCL_KERNELS

REGISTER_KERNEL_BUILDER(Name("_ListToArray")
.Device(DEVICE_SYCL)
.HostMemory("input")
.HostMemory("output")
.TypeConstraint<int32>("T"),
PassOn);
REGISTER_KERNEL_BUILDER(Name("_ArrayToList")
.Device(DEVICE_SYCL)
.HostMemory("input")
.HostMemory("output")
.TypeConstraint<int32>("T"),
PassOn);
#endif // TENSORFLOW_USE_SYCL

class SymbolicGradientOp : public AsyncOpKernel {
public:
SymbolicGradientOp(OpKernelConstruction* ctx)
Expand Down
Loading