From d763a91a38aa5f5c671fd49b979263b7ddeb810c Mon Sep 17 00:00:00 2001 From: Chen Weihang Date: Fri, 11 Feb 2022 15:59:00 +0800 Subject: [PATCH] [PTen] Remove pten core's dependency on fluid xxx_info.h (#39401) * ermove xxx_info include * fix namespace error * resolve conflict * skip xpu context in registry * fix macro error * resolve conflict * resolve conflict * revert xpu convert * remove trans to fluid place * remove useless headers --- paddle/fluid/framework/custom_kernel_test.cc | 4 +- paddle/fluid/framework/operator.cc | 6 +- paddle/fluid/framework/pten_utils.cc | 8 +- paddle/fluid/framework/pten_utils.h | 1 + paddle/fluid/imperative/prepared_operator.h | 4 +- paddle/pten/api/lib/api_utils.h | 4 +- paddle/pten/api/lib/data_transform.cc | 6 +- paddle/pten/api/lib/kernel_dispatch.cc | 2 +- paddle/pten/api/lib/manual_api.cc | 4 +- paddle/pten/api/lib/sparse_api.cc | 12 +- paddle/pten/api/lib/utils/tensor_utils.cc | 6 +- paddle/pten/core/compat/CMakeLists.txt | 8 +- paddle/pten/core/compat/convert_utils.cc | 112 +++++++++---------- paddle/pten/core/compat/convert_utils.h | 14 +-- paddle/pten/core/kernel_registry.h | 3 + paddle/pten/tests/api/scale_api.h | 4 +- paddle/pten/tests/api/test_data_transform.cc | 2 +- 17 files changed, 97 insertions(+), 103 deletions(-) diff --git a/paddle/fluid/framework/custom_kernel_test.cc b/paddle/fluid/framework/custom_kernel_test.cc index 623ad6e5600..29072551c80 100644 --- a/paddle/fluid/framework/custom_kernel_test.cc +++ b/paddle/fluid/framework/custom_kernel_test.cc @@ -230,7 +230,7 @@ TEST(CustomKernel, custom_kernel_dot) { pten::dtype::float16 fake_attr_f16 = pten::dtype::float16(5); pten::DataType fake_attr_dtype = pten::DataType::UINT32; paddle::framework::LoDTensor tmp_tensor; - tmp_tensor.mutable_data({1}, pten::TransToFluidPlace(backend)); + tmp_tensor.mutable_data({1}, pten::TransToPtenPlace(backend)); pten::Scalar fake_attr_scalar = paddle::experimental::MakePtenScalar(tmp_tensor); pten::ScalarArray fake_attr_scalar_array; @@ -251,7 +251,7 @@ TEST(CustomKernel, custom_kernel_dot) { auto dense_out = std::make_shared( pten::make_intrusive( - pten::TransToFluidPlace(backend)), + pten::TransToPtenPlace(backend)), pten::DenseTensorMeta()); pten::MetaTensor meta_out(dense_out.get()); diff --git a/paddle/fluid/framework/operator.cc b/paddle/fluid/framework/operator.cc index 3993ae842cb..754a0947ae4 100644 --- a/paddle/fluid/framework/operator.cc +++ b/paddle/fluid/framework/operator.cc @@ -605,7 +605,7 @@ bool OpSupportGPU(const std::string& op_type) { kernel_factory.SelectKernelMap(pten::TransToPtenKernelName(op_type)); for (auto& kernel : kernel_key_map) { if (platform::is_gpu_place( - pten::TransToFluidPlace(kernel.first.backend()))) { + pten::TransToPtenPlace(kernel.first.backend()))) { return true; } } @@ -1949,7 +1949,7 @@ Scope* OperatorWithKernel::PreparePtenData( continue; } - auto expected_place = pten::TransToFluidPlace(in_def.backend); + auto expected_place = pten::TransToPtenPlace(in_def.backend); if (platform::is_same_place(tensor_in->place(), expected_place)) { continue; } @@ -2079,7 +2079,7 @@ void OperatorWithKernel::BuildPtenKernelContext( experimental::ResetTensorDtypeAndLayoutByArgDef(tensor_out, output_defs.at(i)); SetAllocationForOutputTenosr( - tensor_out, pten::TransToFluidPlace(output_defs.at(i).backend)); + tensor_out, pten::TransToPtenPlace(output_defs.at(i).backend)); pt_kernel_context->EmplaceBackOutputWithoutSetRange(tensor_out); } diff --git a/paddle/fluid/framework/pten_utils.cc b/paddle/fluid/framework/pten_utils.cc index 265bd99593d..ccf7752f2c2 100644 --- a/paddle/fluid/framework/pten_utils.cc +++ b/paddle/fluid/framework/pten_utils.cc @@ -15,15 +15,15 @@ limitations under the License. */ #include #include "paddle/fluid/framework/pten_utils.h" -#include "paddle/pten/core/compat/convert_utils.h" -#include "paddle/pten/core/compat/op_utils.h" -#include "paddle/pten/core/kernel_factory.h" #include "paddle/fluid/framework/lod_tensor.h" #include "paddle/fluid/framework/op_info.h" #include "paddle/fluid/framework/selected_rows_utils.h" #include "paddle/fluid/framework/variable.h" #include "paddle/fluid/string/string_helper.h" +#include "paddle/pten/core/compat/convert_utils.h" +#include "paddle/pten/core/compat/op_utils.h" +#include "paddle/pten/core/kernel_factory.h" namespace paddle { namespace framework { @@ -61,7 +61,7 @@ OpKernelType TransPtenKernelKeyToOpKernelType( proto::VarType::Type data_type = pten::TransToProtoVarType(kernel_key.dtype()); // no need to set current device id here - platform::Place place = pten::TransToFluidPlace(kernel_key.backend(), false); + platform::Place place = pten::TransToPtenPlace(kernel_key.backend(), false); DataLayout data_layout = kernel_key.layout(); LibraryType library_type = LibraryType::kPlain; if (kernel_key.backend() == pten::Backend::MKLDNN) { diff --git a/paddle/fluid/framework/pten_utils.h b/paddle/fluid/framework/pten_utils.h index 44f5ee9f9d8..7157c778ff5 100644 --- a/paddle/fluid/framework/pten_utils.h +++ b/paddle/fluid/framework/pten_utils.h @@ -27,6 +27,7 @@ limitations under the License. */ #include "paddle/fluid/framework/operator.h" #include "paddle/pten/api/lib/utils/tensor_utils.h" +#include "paddle/pten/common/backend.h" #include "paddle/pten/core/compat/arg_map_context.h" #include "paddle/pten/core/kernel_factory.h" #include "paddle/utils/flat_hash_map.h" diff --git a/paddle/fluid/imperative/prepared_operator.h b/paddle/fluid/imperative/prepared_operator.h index 2efe808a8a3..90b75680ef7 100644 --- a/paddle/fluid/imperative/prepared_operator.h +++ b/paddle/fluid/imperative/prepared_operator.h @@ -326,7 +326,7 @@ void BuildDygraphPtenKernelContext( experimental::ResetTensorDtypeAndLayoutByArgDef(tensor_out, output_defs.at(i)); framework::SetAllocationForOutputTenosr( - tensor_out, pten::TransToFluidPlace(output_defs.at(i).backend)); + tensor_out, pten::TransToPtenPlace(output_defs.at(i).backend)); kernel_ctx->EmplaceBackOutputWithoutSetRange(tensor_out); } @@ -467,7 +467,7 @@ void PreparePtenData(const pten::Kernel& pt_kernel, auto var = ins_vector[offset]; const auto* tensor_in = GetTensorFromVar(var->Var()); if (tensor_in && tensor_in->IsInitialized()) { - auto expected_place = pten::TransToFluidPlace(in_def.backend); + auto expected_place = pten::TransToPtenPlace(in_def.backend); if (platform::is_same_place(tensor_in->place(), expected_place)) { continue; } diff --git a/paddle/pten/api/lib/api_utils.h b/paddle/pten/api/lib/api_utils.h index 3d18cc611cf..765a81b726f 100644 --- a/paddle/pten/api/lib/api_utils.h +++ b/paddle/pten/api/lib/api_utils.h @@ -63,7 +63,7 @@ inline std::vector MakeMetaTensor( inline pten::DenseTensor* SetKernelOutput(Backend backend, Tensor* out) { auto dense_tensor = std::make_shared( - pten::make_intrusive(pten::TransToFluidPlace(backend)), + pten::make_intrusive(pten::TransToPtenPlace(backend)), pten::DenseTensorMeta()); out->set_impl(dense_tensor); return dense_tensor.get(); @@ -75,7 +75,7 @@ inline std::vector SetKernelOutput( std::vector results(out_size); for (size_t i = 0; i < out_size; ++i) { auto tensor_ptr = std::make_shared( - pten::make_intrusive(pten::TransToFluidPlace(backend)), + pten::make_intrusive(pten::TransToPtenPlace(backend)), pten::DenseTensorMeta()); results[i] = tensor_ptr.get(); out->emplace_back(); diff --git a/paddle/pten/api/lib/data_transform.cc b/paddle/pten/api/lib/data_transform.cc index bbef8247368..be357759ff8 100644 --- a/paddle/pten/api/lib/data_transform.cc +++ b/paddle/pten/api/lib/data_transform.cc @@ -38,7 +38,7 @@ inline bool NeedTransformPlace(const paddle::platform::Place& input, const TransformFlag& transform_flag) { bool ret = transform_flag.need_trans_backend() && target != Backend::ALL_BACKEND && - !platform::is_same_place(input, pten::TransToFluidPlace(target)); + !platform::is_same_place(input, pten::TransToPtenPlace(target)); return ret; } @@ -168,10 +168,10 @@ pten::DenseTensor TransformData(const pten::DenseTensor& tensor, out.place(), target_args_def.backend, transform_flag)) { pten::DenseTensor result( pten::make_intrusive( - pten::TransToFluidPlace(target_args_def.backend)), + pten::TransToPtenPlace(target_args_def.backend)), {out.dtype(), out.dims(), out.layout()}); framework::TransDataDevice( - out, pten::TransToFluidPlace(target_args_def.backend), &result); + out, pten::TransToPtenPlace(target_args_def.backend), &result); out = result; } return out; diff --git a/paddle/pten/api/lib/kernel_dispatch.cc b/paddle/pten/api/lib/kernel_dispatch.cc index 831d01b7cf5..a918e0b6d0b 100644 --- a/paddle/pten/api/lib/kernel_dispatch.cc +++ b/paddle/pten/api/lib/kernel_dispatch.cc @@ -53,7 +53,7 @@ std::size_t CountLeadingZeros(uint64_t val) { pten::DeviceContext* GetDeviceContextByBackend(pten::Backend backend) { auto& pool = paddle::platform::DeviceContextPool::Instance(); - return pool.Get(pten::TransToFluidPlace(backend)); + return pool.Get(pten::TransToPtenPlace(backend)); } DataType ParseDataType(DataType dtype) { return dtype; } diff --git a/paddle/pten/api/lib/manual_api.cc b/paddle/pten/api/lib/manual_api.cc index 5b697c3ff76..1af5150b4ae 100644 --- a/paddle/pten/api/lib/manual_api.cc +++ b/paddle/pten/api/lib/manual_api.cc @@ -60,11 +60,11 @@ PADDLE_API Tensor copy_to(const Tensor& x, Backend backend, bool blocking) { // 4. Prepare outputs & InferMeta auto dense_out = std::make_shared( pten::make_intrusive( - pten::TransToFluidPlace(backend)), + pten::TransToPtenPlace(backend)), pten::DenseTensorMeta()); pten::MetaTensor meta_out(dense_out.get()); pten::UnchangedInferMeta(*dense_x, &meta_out); - dense_out->mutable_data(pten::TransToFluidPlace(backend)); + dense_out->mutable_data(pten::TransToPtenPlace(backend)); kernel_context.EmplaceBackOutput(dense_out.get()); Tensor out; out.set_impl(dense_out); diff --git a/paddle/pten/api/lib/sparse_api.cc b/paddle/pten/api/lib/sparse_api.cc index d6df7de71ed..cbe3cb77ed6 100644 --- a/paddle/pten/api/lib/sparse_api.cc +++ b/paddle/pten/api/lib/sparse_api.cc @@ -86,11 +86,11 @@ PADDLE_API Tensor to_sparse_coo(const Tensor& x, // create empty SparseCooTensor pten::DenseTensor non_zero_indices( pten::make_intrusive( - pten::TransToFluidPlace(backend)), + pten::TransToPtenPlace(backend)), std::move(indices_meta)); pten::DenseTensor non_zero_elements( pten::make_intrusive( - pten::TransToFluidPlace(backend)), + pten::TransToPtenPlace(backend)), std::move(elements_meta)); auto coo = std::make_shared( non_zero_indices, non_zero_elements, x.dims()); @@ -148,15 +148,15 @@ PADDLE_API Tensor to_sparse_csr(const Tensor& x, Backend backend) { // create empty SparseCooTensor pten::DenseTensor non_zero_crows( pten::make_intrusive( - pten::TransToFluidPlace(backend)), + pten::TransToPtenPlace(backend)), std::move(crows_meta)); pten::DenseTensor non_zero_cols( pten::make_intrusive( - pten::TransToFluidPlace(backend)), + pten::TransToPtenPlace(backend)), std::move(cols_meta)); pten::DenseTensor non_zero_elements( pten::make_intrusive( - pten::TransToFluidPlace(backend)), + pten::TransToPtenPlace(backend)), std::move(elements_meta)); auto csr = std::make_shared( non_zero_crows, non_zero_cols, non_zero_elements, x.dims()); @@ -211,7 +211,7 @@ PADDLE_API Tensor to_dense(const Tensor& x, Backend backend) { // create empty SparseCooTensor auto dense_out = std::make_shared( pten::make_intrusive( - pten::TransToFluidPlace(backend)), + pten::TransToPtenPlace(backend)), std::move(dense_meta)); kernel_context.EmplaceBackOutput(dense_out.get()); diff --git a/paddle/pten/api/lib/utils/tensor_utils.cc b/paddle/pten/api/lib/utils/tensor_utils.cc index e4c20aa971b..c0d72452501 100644 --- a/paddle/pten/api/lib/utils/tensor_utils.cc +++ b/paddle/pten/api/lib/utils/tensor_utils.cc @@ -76,7 +76,7 @@ pten::Scalar MakePtenScalar(const paddle::framework::Tensor& src) { } pten::Scalar MakePtenScalarFromVar(const framework::Variable& variable) { - auto expected_place = pten::TransToFluidPlace(pten::Backend::CPU); + auto expected_place = pten::TransToPtenPlace(pten::Backend::CPU); if (variable.IsType()) { const auto& tensor = variable.Get(); if (!platform::is_same_place(tensor.place(), expected_place)) { @@ -110,7 +110,7 @@ pten::ScalarArray MakePtenScalarArray(const paddle::framework::Tensor& src) { pten::ScalarArray MakePtenScalarArrayFromVar( const framework::Variable& variable) { - auto expected_place = pten::TransToFluidPlace(pten::Backend::CPU); + auto expected_place = pten::TransToPtenPlace(pten::Backend::CPU); if (variable.IsType()) { const auto& tensor = variable.Get(); if (!platform::is_same_place(tensor.place(), expected_place)) { @@ -133,7 +133,7 @@ pten::ScalarArray MakePtenScalarArrayFromVarList( if (variable_list.size() == 0) { return pten::ScalarArray(); } - auto expected_place = pten::TransToFluidPlace(pten::Backend::CPU); + auto expected_place = pten::TransToPtenPlace(pten::Backend::CPU); paddle::framework::proto::VarType::Type data_type; auto* first_var = variable_list.front(); diff --git a/paddle/pten/core/compat/CMakeLists.txt b/paddle/pten/core/compat/CMakeLists.txt index 6d1529d94fd..efdb53c512a 100644 --- a/paddle/pten/core/compat/CMakeLists.txt +++ b/paddle/pten/core/compat/CMakeLists.txt @@ -1,13 +1,11 @@ cc_library(arg_map_context SRCS arg_map_context.cc DEPS pten_enforce) cc_library(op_utils SRCS op_utils.cc DEPS arg_map_context enforce) if(WITH_GPU) - cc_library(convert_utils SRCS convert_utils.cc DEPS data_type place op_utils gpu_info) + cc_library(convert_utils SRCS convert_utils.cc DEPS data_type place op_utils pten_gpu_info) elseif(WITH_ROCM) - cc_library(convert_utils SRCS convert_utils.cc DEPS data_type place op_utils gpu_info) + cc_library(convert_utils SRCS convert_utils.cc DEPS data_type place op_utils pten_gpu_info) elseif(WITH_XPU) - cc_library(convert_utils SRCS convert_utils.cc DEPS data_type place op_utils xpu_info) -elseif(WITH_ASCEND_CL) - cc_library(convert_utils SRCS convert_utils.cc DEPS data_type place op_utils npu_info) + cc_library(convert_utils SRCS convert_utils.cc DEPS data_type place op_utils pten_xpu_info) else() cc_library(convert_utils SRCS convert_utils.cc DEPS data_type place op_utils) endif() diff --git a/paddle/pten/core/compat/convert_utils.cc b/paddle/pten/core/compat/convert_utils.cc index 355a67601dd..191f2c6c4b5 100644 --- a/paddle/pten/core/compat/convert_utils.cc +++ b/paddle/pten/core/compat/convert_utils.cc @@ -13,26 +13,14 @@ See the License for the specific language governing permissions and limitations under the License. */ #include "paddle/pten/core/compat/convert_utils.h" -#include "paddle/pten/core/compat/op_utils.h" -// See Note [ Why still include the fluid headers? ] -#include "paddle/fluid/platform/device/gpu/gpu_info.h" -#include "paddle/fluid/platform/device/npu/npu_info.h" -#include "paddle/fluid/platform/device/xpu/xpu_info.h" +#include "paddle/pten/backends/gpu/gpu_info.h" +#include "paddle/pten/backends/xpu/xpu_info.h" +#include "paddle/pten/common/place.h" +#include "paddle/pten/core/compat/op_utils.h" namespace pten { -// TODO(chenweihang): Add other place trans cases later -Backend TransToPtenBackend(const paddle::platform::Place& place) { - if (paddle::platform::is_cpu_place(place)) { - return Backend::CPU; - } else if (paddle::platform::is_gpu_place(place)) { - return Backend::GPU; - } else { - return Backend::UNDEFINED; - } -} - paddle::experimental::DataType TransToPtenDataType( const paddle::framework::proto::VarType::Type& dtype) { // Set the order of case branches according to the frequency with @@ -67,45 +55,6 @@ paddle::experimental::DataType TransToPtenDataType( } } -paddle::platform::Place TransToFluidPlace(const Backend& backend, - bool set_device_id) { - // NOTE(zhiqiu): GetCurrentDeviceId not always success, and device id is not - // always needed. - // So, add set_device_id parameter here. - switch (backend) { - case pten::Backend::CPU: - return paddle::platform::CPUPlace(); -#if defined(PADDLE_WITH_CUDA) || defined(PADDLE_WITH_HIP) - case pten::Backend::GPU: - return paddle::platform::CUDAPlace( - set_device_id ? paddle::platform::GetCurrentDeviceId() : 0); -#endif -#ifdef PADDLE_WITH_MKLDNN - case pten::Backend::MKLDNN: - return paddle::platform::CPUPlace(); -#endif -#if defined(PADDLE_WITH_CUDA) || defined(PADDLE_WITH_HIP) - case pten::Backend::CUDNN: - return paddle::platform::CUDAPlace( - set_device_id ? paddle::platform::GetCurrentDeviceId() : 0); -#endif -#if defined(PADDLE_WITH_XPU) - case pten::Backend::XPU: - return paddle::platform::XPUPlace( - set_device_id ? paddle::platform::GetXPUCurrentDeviceId() : 0); -#endif -#if defined(PADDLE_WITH_ASCEND_CL) - case pten::Backend::NPU: - return paddle::platform::NPUPlace( - set_device_id ? paddle::platform::GetCurrentNPUDeviceId() : 0); -#endif - default: - PADDLE_THROW(paddle::platform::errors::Unimplemented( - "Unsupported backend `%s` when casting it to paddle place type.", - backend)); - } -} - paddle::framework::proto::VarType::Type TransToProtoVarType( const paddle::experimental::DataType& dtype) { // Set the order of case branches according to the frequency with @@ -136,13 +85,56 @@ paddle::framework::proto::VarType::Type TransToProtoVarType( case DataType::BOOL: return paddle::framework::proto::VarType::BOOL; default: - PADDLE_THROW(paddle::platform::errors::Unimplemented( + PADDLE_THROW(pten::errors::Unimplemented( "Unsupported data type `%s` when casting it into " "paddle data type.", dtype)); } } +Backend TransToPtenBackend(const pten::Place& place) { + if (place.GetType() == pten::AllocationType::CPU) { + return Backend::CPU; + } else if (place.GetType() == pten::AllocationType::GPU) { + return Backend::GPU; + } else { + return Backend::UNDEFINED; + } +} + +pten::Place TransToPtenPlace(const Backend& backend, bool set_device_id) { + // NOTE(zhiqiu): GetCurrentDeviceId not always success, and device id is not + // always needed. + // So, add set_device_id parameter here. + switch (backend) { + case pten::Backend::CPU: + return pten::CPUPlace(); +#if defined(PADDLE_WITH_CUDA) || defined(PADDLE_WITH_HIP) + case pten::Backend::GPU: + return pten::GPUPlace( + set_device_id ? pten::backends::gpu::GetCurrentDeviceId() : 0); +#endif +#ifdef PADDLE_WITH_MKLDNN + case pten::Backend::MKLDNN: + return pten::CPUPlace(); +#endif +#if defined(PADDLE_WITH_CUDA) || defined(PADDLE_WITH_HIP) + case pten::Backend::CUDNN: + return pten::GPUPlace( + set_device_id ? pten::backends::gpu::GetCurrentDeviceId() : 0); +#endif +#if defined(PADDLE_WITH_XPU) + case pten::Backend::XPU: + return pten::XPUPlace( + set_device_id ? pten::backends::xpu::GetXPUCurrentDeviceId() : 0); +#endif + default: + PADDLE_THROW(pten::errors::Unimplemented( + "Unsupported backend `%s` when casting it to paddle place type.", + backend)); + } +} + size_t DataTypeSize(DataType dtype) { switch (dtype) { case DataType::UNDEFINED: @@ -160,15 +152,15 @@ size_t DataTypeSize(DataType dtype) { case DataType::INT64: return sizeof(int64_t); case DataType::FLOAT16: - return sizeof(paddle::platform::float16); + return sizeof(pten::dtype::float16); case DataType::FLOAT32: return sizeof(float); case DataType::FLOAT64: return sizeof(double); case DataType::COMPLEX64: - return sizeof(paddle::platform::complex); + return sizeof(pten::dtype::complex); case DataType::COMPLEX128: - return sizeof(paddle::platform::complex); + return sizeof(pten::dtype::complex); default: return 0; } @@ -227,7 +219,7 @@ std::string DataType2String(DataType dtype) { case DataType::COMPLEX128: return "complex128"; default: - PADDLE_THROW(paddle::platform::errors::InvalidArgument( + PADDLE_THROW(pten::errors::InvalidArgument( "Unknow pten::DataType, the int value = %d.", static_cast(dtype))); return ""; diff --git a/paddle/pten/core/compat/convert_utils.h b/paddle/pten/core/compat/convert_utils.h index 1d241c5ad40..3e6672e8c94 100644 --- a/paddle/pten/core/compat/convert_utils.h +++ b/paddle/pten/core/compat/convert_utils.h @@ -27,18 +27,18 @@ limitations under the License. */ namespace pten { -std::string TransToPtenKernelName(const std::string& fluid_op_name); -const std::string& TransToFluidOpName(const std::string& pten_kernel_name); - -Backend TransToPtenBackend(const pten::Place& place); +// dtype convert function still relay on fluid proto DataType TransToPtenDataType( const paddle::framework::proto::VarType::Type& dtype); - -paddle::platform::Place TransToFluidPlace(const Backend& backend, - bool set_device_id = true); paddle::framework::proto::VarType::Type TransToProtoVarType( const DataType& dtype); +std::string TransToPtenKernelName(const std::string& fluid_op_name); +const std::string& TransToFluidOpName(const std::string& pten_kernel_name); + +Backend TransToPtenBackend(const pten::Place& place); +pten::Place TransToPtenPlace(const Backend& backend, bool set_device_id = true); + size_t DataTypeSize(DataType dtype); DataType String2DataType(const std::string& str); std::string DataType2String(DataType dtype); diff --git a/paddle/pten/core/kernel_registry.h b/paddle/pten/core/kernel_registry.h index 9e8778bdb39..25523204015 100644 --- a/paddle/pten/core/kernel_registry.h +++ b/paddle/pten/core/kernel_registry.h @@ -59,6 +59,9 @@ struct KernelArgsParseFunctor { #if defined(PADDLE_WITH_CUDA) || defined(PADDLE_WITH_HIP) || arg_type == std::type_index(typeid(const GPUContext&))) { +#elif defined(PADDLE_WITH_XPU) + || + arg_type == std::type_index(typeid(const XPUContext&))) { #else ) { #endif diff --git a/paddle/pten/tests/api/scale_api.h b/paddle/pten/tests/api/scale_api.h index b3b8b8f77c1..f4f9ec3c847 100644 --- a/paddle/pten/tests/api/scale_api.h +++ b/paddle/pten/tests/api/scale_api.h @@ -71,7 +71,7 @@ PADDLE_API Tensor scale_kernel_context(const Tensor& x, auto dense_out = std::make_shared( pten::make_intrusive( - pten::TransToFluidPlace(kernel_backend)), + pten::TransToPtenPlace(kernel_backend)), pten::DenseTensorMeta()); pten::MetaTensor meta_out(dense_out.get()); pten::UnchangedInferMeta(*dense_x, &meta_out); @@ -238,7 +238,7 @@ Tensor scale_switch_case(const Tensor& x, auto dense_out = std::make_shared( pten::make_intrusive( - pten::TransToFluidPlace(kernel_backend)), + pten::TransToPtenPlace(kernel_backend)), pten::DenseTensorMeta()); pten::MetaTensor meta_out(dense_out.get()); pten::UnchangedInferMeta(*dense_x, &meta_out); diff --git a/paddle/pten/tests/api/test_data_transform.cc b/paddle/pten/tests/api/test_data_transform.cc index ce3d19b8845..434607df794 100644 --- a/paddle/pten/tests/api/test_data_transform.cc +++ b/paddle/pten/tests/api/test_data_transform.cc @@ -84,7 +84,7 @@ TEST(Tensor, data_transform_diff_place) { ASSERT_EQ(out.layout(), pten::DataLayout::NCHW); ASSERT_EQ(out.initialized(), true); ASSERT_EQ(out.impl()->place(), - pten::TransToFluidPlace(experimental::Backend::GPU)); + pten::TransToPtenPlace(experimental::Backend::GPU)); auto ref_out = experimental::copy_to(out, experimental::Backend::CPU, true); -- GitLab