diff --git a/paddle/fluid/framework/new_executor/interpreter/interpreter_util.cc b/paddle/fluid/framework/new_executor/interpreter/interpreter_util.cc index 74e60fa1e36d4f..42fe6f6d84f1f0 100644 --- a/paddle/fluid/framework/new_executor/interpreter/interpreter_util.cc +++ b/paddle/fluid/framework/new_executor/interpreter/interpreter_util.cc @@ -55,7 +55,6 @@ static std::set OpsNeedSetOutputDtypeWhenRegisterPhiKernel = { "adamw", "any_raw", "arg_sort", - "atan2", "clip_by_norm", "eig", "eig_grad", diff --git a/paddle/phi/infermeta/binary.cc b/paddle/phi/infermeta/binary.cc index b00930064d3078..64ba5d7cbb3ac4 100644 --- a/paddle/phi/infermeta/binary.cc +++ b/paddle/phi/infermeta/binary.cc @@ -166,6 +166,8 @@ void Atan2InferMeta(const MetaTensor& x, const MetaTensor& y, MetaTensor* out) { if (x.dtype() == DataType::INT32 || x.dtype() == DataType::INT64 || y.dtype() == DataType::INT32 || y.dtype() == DataType::INT64) { out->set_dtype(DataType::FLOAT64); + } else { + out->set_dtype(x.dtype()); } } diff --git a/paddle/phi/kernels/cpu/atan2_kernel.cc b/paddle/phi/kernels/cpu/atan2_kernel.cc index 4cb96ad8b6c6cd..640e4f479e0fa5 100644 --- a/paddle/phi/kernels/cpu/atan2_kernel.cc +++ b/paddle/phi/kernels/cpu/atan2_kernel.cc @@ -24,4 +24,6 @@ PD_REGISTER_KERNEL(atan2, double, phi::dtype::float16, int, - int64_t) {} + int64_t) { + kernel->OutputAt(0).SetDataType(phi::DataType::UNDEFINED); +} diff --git a/paddle/phi/kernels/gpu/atan2_kernel.cu b/paddle/phi/kernels/gpu/atan2_kernel.cu index 887c11c7e7ff14..d77c21473b4c44 100644 --- a/paddle/phi/kernels/gpu/atan2_kernel.cu +++ b/paddle/phi/kernels/gpu/atan2_kernel.cu @@ -24,4 +24,6 @@ PD_REGISTER_KERNEL(atan2, double, phi::dtype::float16, int, - int64_t) {} + int64_t) { + kernel->OutputAt(0).SetDataType(phi::DataType::UNDEFINED); +}