#include "tensorflow/core/kernels/reduction_ops_common.h" namespace tensorflow { #define REGISTER_CPU_KERNELS(type) \ REGISTER_KERNEL_BUILDER( \ Name("Sum").Device(DEVICE_CPU).TypeConstraint("T"), \ ReductionOp>); TF_CALL_REAL_NUMBER_TYPES(REGISTER_CPU_KERNELS); #undef REGISTER_CPU_KERNELS // NOTE: We should have mean(complex64,int32), too. But that needs to // change Eigen::internal::MeanReducer to cast int to complex. // We don't see immediate need of mean(complex64,int32) anyway. REGISTER_KERNEL_BUILDER( Name("Sum").Device(DEVICE_CPU).TypeConstraint("T"), ReductionOp>); #if GOOGLE_CUDA #define REGISTER_GPU_KERNELS(type) \ REGISTER_KERNEL_BUILDER( \ Name("Sum") \ .Device(DEVICE_GPU) \ .TypeConstraint("T") \ .HostMemory("reduction_indices"), \ ReductionOp>); REGISTER_GPU_KERNELS(float); #undef REGISTER_GPU_KERNELS REGISTER_KERNEL_BUILDER( Name("Sum").Device(DEVICE_GPU).TypeConstraint("T"), ReductionOp>); #endif } // namespace tensorflow