diff options
Diffstat (limited to 'tensorflow/core/kernels/split_op_gpu.cu.cc')
-rw-r--r-- | tensorflow/core/kernels/split_op_gpu.cu.cc | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tensorflow/core/kernels/split_op_gpu.cu.cc b/tensorflow/core/kernels/split_op_gpu.cu.cc new file mode 100644 index 0000000000..f8931d6a89 --- /dev/null +++ b/tensorflow/core/kernels/split_op_gpu.cu.cc @@ -0,0 +1,31 @@ +#if GOOGLE_CUDA + +#define EIGEN_USE_GPU + +#include <stdio.h> + +#include "tensorflow/core/kernels/split_op.h" + +#include "tensorflow/core/framework/register_types.h" +#include "tensorflow/core/framework/tensor_types.h" + +namespace tensorflow { +namespace functor { + +template <typename Device, typename T> +void Split<Device, T>::operator()( + const Device& d, typename TTypes<T, 3>::Tensor output, + typename TTypes<T, 3>::ConstTensor input, + const Eigen::DSizes<ptrdiff_t, 3>& slice_indices, + const Eigen::DSizes<ptrdiff_t, 3>& slice_sizes) { + output.device(d) = input.slice(slice_indices, slice_sizes); +} + +#define DEFINE_GPU_KERNELS(T) template struct Split<Eigen::GpuDevice, T>; + +TF_CALL_GPU_NUMBER_TYPES(DEFINE_GPU_KERNELS); + +} // namespace functor +} // namespace tensorflow + +#endif // GOOGLE_CUDA |