diff --git a/paddle/phi/backends/xpu/xpu2_op_list.cc b/paddle/phi/backends/xpu/xpu2_op_list.cc index add1d7eca7d360c185b373097983db77c20f4d58..7a287c99339a007a053e66a3af45a92b39267c34 100644 --- a/paddle/phi/backends/xpu/xpu2_op_list.cc +++ b/paddle/phi/backends/xpu/xpu2_op_list.cc @@ -140,6 +140,7 @@ XPUOpMap& get_kl2_ops() { XPUKernelSet({phi::DataType::FLOAT32, phi::DataType::FLOAT16})}, {"clip", XPUKernelSet({phi::DataType::FLOAT32, + phi::DataType::FLOAT16, phi::DataType::INT64, phi::DataType::INT32})}, {"clip_by_norm", XPUKernelSet({phi::DataType::FLOAT32})}, @@ -188,7 +189,8 @@ XPUOpMap& get_kl2_ops() { {"deformable_conv_v1_grad", XPUKernelSet({phi::DataType::FLOAT32})}, {"deformable_conv_v1", XPUKernelSet({phi::DataType::FLOAT32})}, {"depthwise_conv2d_grad", XPUKernelSet({phi::DataType::FLOAT32})}, - {"depthwise_conv2d", XPUKernelSet({phi::DataType::FLOAT32})}, + {"depthwise_conv2d", + XPUKernelSet({phi::DataType::FLOAT32, phi::DataType::FLOAT16})}, {"depthwise_conv2d_transpose_grad", XPUKernelSet({phi::DataType::FLOAT32})}, {"depthwise_conv2d_transpose", @@ -599,7 +601,7 @@ XPUOpMap& get_kl2_ops() { phi::DataType::INT32, phi::DataType::INT8, phi::DataType::FLOAT32})}, - {"relu6", XPUKernelSet({phi::DataType::FLOAT32})}, + {"relu6", XPUKernelSet({phi::DataType::FLOAT32, phi::DataType::FLOAT16})}, {"relu6_grad", XPUKernelSet({phi::DataType::FLOAT32})}, {"relu_grad", XPUKernelSet({phi::DataType::FLOAT32, phi::DataType::FLOAT16})}, diff --git a/paddle/phi/kernels/activation_kernel.cc b/paddle/phi/kernels/activation_kernel.cc index ab367a672696f1656998d4b5fd19b8a5c6980aa7..068fd9b575a72fd6e6e6f441d37d0362c6938bfc 100644 --- a/paddle/phi/kernels/activation_kernel.cc +++ b/paddle/phi/kernels/activation_kernel.cc @@ -62,7 +62,8 @@ PD_REGISTER_KERNEL(swish, #endif #if defined PADDLE_WITH_XPU -PD_REGISTER_KERNEL(relu6, XPU, ALL_LAYOUT, phi::Relu6Kernel, float) {} +PD_REGISTER_KERNEL( + relu6, XPU, ALL_LAYOUT, phi::Relu6Kernel, float, phi::dtype::float16) {} PD_REGISTER_KERNEL( swish, XPU, ALL_LAYOUT, phi::SwishKernel, float, phi::dtype::float16) {} #endif diff --git a/paddle/phi/kernels/xpu/activation_kernel.cc b/paddle/phi/kernels/xpu/activation_kernel.cc index 1d1f33204bc5dc40f4b03f4a0ad5f84accb030e4..dd8d483a8b5dd1ae3614719d60d07eff81b55971 100644 --- a/paddle/phi/kernels/xpu/activation_kernel.cc +++ b/paddle/phi/kernels/xpu/activation_kernel.cc @@ -572,6 +572,13 @@ PD_REGISTER_KERNEL( PD_REGISTER_KERNEL( log, XPU, ALL_LAYOUT, phi::LogKernel, float, phi::dtype::float16) {} +PD_REGISTER_KERNEL(relu6_raw, + XPU, + ALL_LAYOUT, + phi::Relu6RawKernel, + float, + phi::dtype::float16) {} + #define PD_REGISTER_ACTIVATION_KERNEL(name, func) \ PD_REGISTER_KERNEL(name, XPU, ALL_LAYOUT, phi::func, float) {} @@ -581,7 +588,6 @@ PD_REGISTER_ACTIVATION_KERNEL(hardswish, HardSwishKernel) PD_REGISTER_ACTIVATION_KERNEL(mish, MishKernel) PD_REGISTER_ACTIVATION_KERNEL(pow, PowKernel) PD_REGISTER_ACTIVATION_KERNEL(reciprocal, ReciprocalKernel) -PD_REGISTER_ACTIVATION_KERNEL(relu6_raw, Relu6RawKernel) PD_REGISTER_ACTIVATION_KERNEL(softplus, SoftplusKernel) PD_REGISTER_ACTIVATION_KERNEL(sin, SinKernel) PD_REGISTER_ACTIVATION_KERNEL(cos, CosKernel) diff --git a/paddle/phi/kernels/xpu/clip_kernel.cc b/paddle/phi/kernels/xpu/clip_kernel.cc index 820c85f7ea99786dfbb07b444a56892fcda38a8b..8b01c06c2450c090900aa6e7f6b9f44420ceb189 100644 --- a/paddle/phi/kernels/xpu/clip_kernel.cc +++ b/paddle/phi/kernels/xpu/clip_kernel.cc @@ -13,6 +13,9 @@ // limitations under the License. #include "paddle/phi/kernels/clip_kernel.h" + +#include "glog/logging.h" + #include "paddle/phi/backends/xpu/xpu_context.h" #include "paddle/phi/backends/xpu/xpu_header.h" #include "paddle/phi/core/kernel_registry.h" @@ -33,8 +36,8 @@ void ClipKernel(const Context& dev_ctx, x_data, out_data, x.numel(), - min.to(), - max.to()); + static_cast(min.to()), + static_cast(max.to())); PADDLE_ENFORCE_EQ(r, XPU_SUCCESS, @@ -46,5 +49,11 @@ void ClipKernel(const Context& dev_ctx, } // namespace phi -PD_REGISTER_KERNEL( - clip, XPU, ALL_LAYOUT, phi::ClipKernel, float, int64_t, int) {} +PD_REGISTER_KERNEL(clip, + XPU, + ALL_LAYOUT, + phi::ClipKernel, + float, + phi::dtype::float16, + int64_t, + int) {} diff --git a/paddle/phi/kernels/xpu/conv_kernel.cc b/paddle/phi/kernels/xpu/conv_kernel.cc index 7f24268041429b00f0bec0fe736734dce70d23a2..e8148602d13f4673852c365a0d5e2a768ec7d9d1 100644 --- a/paddle/phi/kernels/xpu/conv_kernel.cc +++ b/paddle/phi/kernels/xpu/conv_kernel.cc @@ -310,7 +310,11 @@ void Conv3DKernel(const Context& dev_ctx, PD_REGISTER_KERNEL( conv2d, XPU, ALL_LAYOUT, phi::ConvKernel, float, phi::dtype::float16) {} -PD_REGISTER_KERNEL( - depthwise_conv2d, XPU, ALL_LAYOUT, phi::DepthwiseConvKernel, float) {} +PD_REGISTER_KERNEL(depthwise_conv2d, + XPU, + ALL_LAYOUT, + phi::DepthwiseConvKernel, + float, + phi::dtype::float16) {} PD_REGISTER_KERNEL( conv3d, XPU, ALL_LAYOUT, phi::Conv3DKernel, float, phi::dtype::float16) {}