diff --git a/paddle/fluid/platform/device/xpu/xpu2_op_list.h b/paddle/fluid/platform/device/xpu/xpu2_op_list.h index 8f487cf6cd72eedd41f5b27dc112361171092151..73898354dc19d91934e5d8e5e4313941dfe375c3 100644 --- a/paddle/fluid/platform/device/xpu/xpu2_op_list.h +++ b/paddle/fluid/platform/device/xpu/xpu2_op_list.h @@ -178,7 +178,8 @@ XPUOpMap& get_kl2_ops() { pOpKernelType(vartype::FP16, XPUPlace())})}, {"elementwise_sub", XPUKernelSet({pOpKernelType(vartype::FP32, XPUPlace()), - pOpKernelType(vartype::FP16, XPUPlace())})}, + pOpKernelType(vartype::FP16, XPUPlace()), + pOpKernelType(vartype::INT64, XPUPlace())})}, {"elementwise_mod", XPUKernelSet({pOpKernelType(vartype::FP32, XPUPlace()), pOpKernelType(vartype::FP16, XPUPlace()), @@ -497,7 +498,8 @@ XPUOpMap& get_kl2_ops() { {"slice", XPUKernelSet({pOpKernelType(vartype::FP32, XPUPlace()), pOpKernelType(vartype::FP16, XPUPlace()), - pOpKernelType(vartype::INT32, XPUPlace())})}, + pOpKernelType(vartype::INT32, XPUPlace()), + pOpKernelType(vartype::INT64, XPUPlace())})}, {"softmax", XPUKernelSet({pOpKernelType(vartype::FP32, XPUPlace()), pOpKernelType(vartype::FP16, XPUPlace())})}, diff --git a/paddle/phi/kernels/elementwise_kernel.cc b/paddle/phi/kernels/elementwise_kernel.cc index ba58bae0035d15d2f88af06f1fe6775b67a0d0ae..88551b34109b6e6317a65c161be38b5270a12148 100644 --- a/paddle/phi/kernels/elementwise_kernel.cc +++ b/paddle/phi/kernels/elementwise_kernel.cc @@ -342,7 +342,8 @@ PD_REGISTER_KERNEL(subtract, ALL_LAYOUT, phi::SubtractKernel, float, - phi::dtype::float16) {} + phi::dtype::float16, + int64_t) {} #endif #if defined PADDLE_WITH_XPU diff --git a/paddle/phi/kernels/xpu/elementwise_subtract_kernel.cc b/paddle/phi/kernels/xpu/elementwise_subtract_kernel.cc index 299b5f80d7dde74e84d622dbbcf771e44b199344..4e18264d71343119d24b20a88a8ffa0b72d9c1c7 100644 --- a/paddle/phi/kernels/xpu/elementwise_subtract_kernel.cc +++ b/paddle/phi/kernels/xpu/elementwise_subtract_kernel.cc @@ -36,4 +36,5 @@ PD_REGISTER_KERNEL(subtract_raw, ALL_LAYOUT, phi::SubtractRawKernel, float, - phi::dtype::float16) {} + phi::dtype::float16, + int64_t) {} diff --git a/paddle/phi/kernels/xpu/slice_kernel.cc b/paddle/phi/kernels/xpu/slice_kernel.cc index 3d01fae33e1fefc381cfd43ff4e5daf0ac3cd66d..b30c6908357a50759e5de9cb4323a0aa54c47302 100644 --- a/paddle/phi/kernels/xpu/slice_kernel.cc +++ b/paddle/phi/kernels/xpu/slice_kernel.cc @@ -113,4 +113,5 @@ PD_REGISTER_KERNEL(slice, phi::SliceRawKernel, float, int, - phi::dtype::float16) {} + phi::dtype::float16, + int64_t) {}