diff --git a/paddle/fluid/operators/isfinite_op.cc b/paddle/fluid/operators/isfinite_op.cc index c4bc3a7fda154..7fdb0599ebfd1 100644 --- a/paddle/fluid/operators/isfinite_op.cc +++ b/paddle/fluid/operators/isfinite_op.cc @@ -132,4 +132,33 @@ namespace ops = paddle::operators; REGISTER_OP_MAKER(isinf, "isinf(X)"); REGISTER_OP_MAKER(isnan, "isnan(X)"); REGISTER_OP_MAKER(isfinite, "isfinite(X)"); -FOR_EACH_KERNEL_FUNCTOR(REGISTER_OVERFLOW_CPU_KERNEL); + +REGISTER_OP_CPU_KERNEL(isinf, + ops::OverflowKernel, + ops::OverflowKernel, + ops::OverflowKernel, + ops::OverflowKernel); + +REGISTER_OP_CPU_KERNEL(isnan, + ops::OverflowKernel, + ops::OverflowKernel, + ops::OverflowKernel, + ops::OverflowKernel); + +REGISTER_OP_CPU_KERNEL(isfinite, + ops::OverflowKernel, + ops::OverflowKernel, + ops::OverflowKernel, + ops::OverflowKernel); diff --git a/paddle/fluid/operators/isfinite_op.cu b/paddle/fluid/operators/isfinite_op.cu index 995969cd42f08..e233e37136490 100644 --- a/paddle/fluid/operators/isfinite_op.cu +++ b/paddle/fluid/operators/isfinite_op.cu @@ -17,15 +17,32 @@ namespace ops = paddle::operators; namespace plat = paddle::platform; -#define REGISTER_OVERFLOW_CUDA_KERNEL(op_type, functor) \ - REGISTER_OP_CUDA_KERNEL( \ - op_type, ops::OverflowKernel, \ - ops::OverflowKernel, \ - ops::OverflowKernel, \ - ops::OverflowKernel); +REGISTER_OP_CUDA_KERNEL( + isinf, ops::OverflowKernel, + ops::OverflowKernel, + ops::OverflowKernel, + ops::OverflowKernel); -FOR_EACH_KERNEL_FUNCTOR(REGISTER_OVERFLOW_CUDA_KERNEL); +REGISTER_OP_CUDA_KERNEL(isnan, + ops::OverflowKernel, + ops::OverflowKernel, + ops::OverflowKernel, + ops::OverflowKernel); + +REGISTER_OP_CUDA_KERNEL( + isfinite, ops::OverflowKernel, + ops::OverflowKernel, + ops::OverflowKernel, + ops::OverflowKernel); diff --git a/paddle/fluid/operators/isfinite_op.h b/paddle/fluid/operators/isfinite_op.h index abed0e6903dd3..7f59af1be0efa 100644 --- a/paddle/fluid/operators/isfinite_op.h +++ b/paddle/fluid/operators/isfinite_op.h @@ -73,8 +73,3 @@ class OverflowKernel : public framework::OpKernel { } // namespace operators } // namespace paddle - -#define FOR_EACH_KERNEL_FUNCTOR(__macro) \ - __macro(isinf, InfinityFunctor); \ - __macro(isnan, NANFunctor); \ - __macro(isfinite, IsfiniteFunctor); diff --git a/paddle/pten/kernels/gpu/trace_kernel.cu b/paddle/pten/kernels/gpu/trace_kernel.cu index b0bfb3a8a5186..155bfbd02af17 100644 --- a/paddle/pten/kernels/gpu/trace_kernel.cu +++ b/paddle/pten/kernels/gpu/trace_kernel.cu @@ -33,9 +33,8 @@ void TraceKernel(const Context& ctx, auto stream = ctx.stream(); std::vector reduce_dims; reduce_dims.push_back(out->dims().size()); - kernels:: - TensorReduceFunctorImpl>( - ctx, diag, out, kps::IdentityFunctor(), reduce_dims, stream); + kernels::TensorReduceImpl>( + ctx, diag, out, kps::IdentityFunctor(), reduce_dims, stream); } else { paddle::operators::math::SetConstant functor; functor(ctx, out, static_cast(0));