diff --git a/paddle/cinn/hlir/framework/new_ir_compiler.cc b/paddle/cinn/hlir/framework/new_ir_compiler.cc index 094e1873e8739c3b6ac948443bb5dc86de094cd8..f9f2cb460bf5aed505156f83a5beb923025d1a63 100644 --- a/paddle/cinn/hlir/framework/new_ir_compiler.cc +++ b/paddle/cinn/hlir/framework/new_ir_compiler.cc @@ -19,7 +19,7 @@ #include "paddle/cinn/lang/lower.h" #include "paddle/cinn/lang/placeholder.h" #include "paddle/cinn/utils/attribute_util.h" -#include "paddle/fluid/ir/dialect/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" #include "paddle/ir/core/builtin_type.h" namespace cinn { diff --git a/paddle/cinn/utils/attribute_util.h b/paddle/cinn/utils/attribute_util.h index 02e7fc1bf28235f22718137257077b2007e98bc4..aaffed7085c7bf358ee36d5afd8c90987b010da1 100644 --- a/paddle/cinn/utils/attribute_util.h +++ b/paddle/cinn/utils/attribute_util.h @@ -18,7 +18,7 @@ #include "paddle/cinn/common/type.h" #include "paddle/cinn/utils/type_defs.h" -#include "paddle/fluid/ir/dialect/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" #include "paddle/ir/core/builtin_type.h" #include "paddle/phi/common/data_type.h" diff --git a/paddle/fluid/framework/new_executor/instruction/legacy_kernel_instruction.cc b/paddle/fluid/framework/new_executor/instruction/legacy_kernel_instruction.cc index 7250d3cd04d9e6acdc9ca13da6716a5152243ab0..8b937ed322efa449319e1da2152054a55828e030 100644 --- a/paddle/fluid/framework/new_executor/instruction/legacy_kernel_instruction.cc +++ b/paddle/fluid/framework/new_executor/instruction/legacy_kernel_instruction.cc @@ -18,10 +18,10 @@ #include "paddle/fluid/framework/new_executor/interpreter/interpreter_util.h" #include "paddle/fluid/framework/new_executor/interpreter/stream_analyzer.h" #include "paddle/fluid/framework/scope.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/interface/infermeta.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" -#include "paddle/fluid/ir/interface/op_yaml_info_parser.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/infermeta.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.h" #include "paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_util.h" #include "paddle/fluid/platform/device_context.h" diff --git a/paddle/fluid/framework/new_executor/instruction/phi_kernel_instruction.cc b/paddle/fluid/framework/new_executor/instruction/phi_kernel_instruction.cc index d5b7b5affc5d4b6553220824721f9668bf656bf4..093435f8b98a2f1787924d8ac1e2e8a62f786fef 100644 --- a/paddle/fluid/framework/new_executor/instruction/phi_kernel_instruction.cc +++ b/paddle/fluid/framework/new_executor/instruction/phi_kernel_instruction.cc @@ -17,10 +17,10 @@ #include "paddle/fluid/framework/new_executor/interpreter/interpreter_util.h" #include "paddle/fluid/framework/new_executor/interpreter/stream_analyzer.h" #include "paddle/fluid/framework/scope.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/interface/infermeta.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" -#include "paddle/fluid/ir/interface/op_yaml_info_parser.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/infermeta.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.h" #include "paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_util.h" #include "paddle/fluid/platform/collective_helper.h" #include "paddle/fluid/platform/device_context.h" diff --git a/paddle/fluid/framework/new_executor/interpreter/interpreter_util.cc b/paddle/fluid/framework/new_executor/interpreter/interpreter_util.cc index 2b909b401de911b8120d4a1e190318944112dcbd..01f63b30197812974a56b90a96d4a343ddf9129c 100644 --- a/paddle/fluid/framework/new_executor/interpreter/interpreter_util.cc +++ b/paddle/fluid/framework/new_executor/interpreter/interpreter_util.cc @@ -23,9 +23,9 @@ #include "paddle/fluid/framework/new_executor/interpreter/data_transfer.h" #include "paddle/fluid/framework/new_executor/interpreter/execution_config.h" #include "paddle/fluid/framework/new_executor/interpreter/static_build.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" -#include "paddle/fluid/ir/interface/op_yaml_info_parser.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.h" #include "paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_util.h" #include "paddle/fluid/memory/stats.h" #include "paddle/fluid/operators/controlflow/conditional_block_op_helper.h" diff --git a/paddle/fluid/framework/new_executor/new_executor_defs.h b/paddle/fluid/framework/new_executor/new_executor_defs.h index 032c3ffc231cc26a63680a6b7f2450d2b0920968..edce1554b0a90f3472ad4d650b4882420273d48e 100644 --- a/paddle/fluid/framework/new_executor/new_executor_defs.h +++ b/paddle/fluid/framework/new_executor/new_executor_defs.h @@ -20,7 +20,7 @@ #include "paddle/fluid/framework/operator.h" #include "paddle/fluid/framework/variable_helper.h" -#include "paddle/fluid/ir/interface/infermeta.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/infermeta.h" #include "paddle/fluid/platform/device_event_base.h" #include "paddle/fluid/platform/event.h" #include "paddle/phi/core/utils/rw_lock.h" diff --git a/paddle/fluid/framework/new_executor/new_ir_interpreter.cc b/paddle/fluid/framework/new_executor/new_ir_interpreter.cc index 5d9f22aa3e06d1a8e795efe27717a677e17acab1..9587511af77284602211aca6caff35ecfb631b2a 100644 --- a/paddle/fluid/framework/new_executor/new_ir_interpreter.cc +++ b/paddle/fluid/framework/new_executor/new_ir_interpreter.cc @@ -41,7 +41,7 @@ #endif #include "paddle/fluid/framework/new_executor/instruction/legacy_kernel_instruction.h" #include "paddle/fluid/framework/new_executor/instruction/phi_kernel_instruction.h" -#include "paddle/fluid/ir/dialect/utils.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" #include "paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_util.h" #include "paddle/ir/core/builtin_attribute.h" diff --git a/paddle/fluid/ir/CMakeLists.txt b/paddle/fluid/ir/CMakeLists.txt index 6186c2df6336fc12689d33b7246c6aafcd0f07ce..655c6c2c8d0127df9ea9f54405408a0cc997fcee 100644 --- a/paddle/fluid/ir/CMakeLists.txt +++ b/paddle/fluid/ir/CMakeLists.txt @@ -1,5 +1,3 @@ -add_subdirectory(interface) -add_subdirectory(trait) add_subdirectory(dialect) add_subdirectory(transforms) add_subdirectory(phi_kernel_adaptor) diff --git a/paddle/fluid/ir/dialect/CMakeLists.txt b/paddle/fluid/ir/dialect/CMakeLists.txt index 9e2713f3ab346067d2d85625c50cb28a0e2d63a4..7500642867f30f56d1abb89a3b3b0b46e5563d3f 100644 --- a/paddle/fluid/ir/dialect/CMakeLists.txt +++ b/paddle/fluid/ir/dialect/CMakeLists.txt @@ -1,86 +1,2 @@ -set(PD_DIALECT_SOURCE_DIR "${PADDLE_SOURCE_DIR}/paddle/fluid/ir/dialect") -set(PD_DIALECT_BINARY_DIR "${PADDLE_BINARY_DIR}/paddle/fluid/ir/dialect") - -# Generate pd_dialect files defining op using op_gen_file -set(op_gen_file - ${PADDLE_SOURCE_DIR}/paddle/fluid/ir/dialect/op_generator/op_gen.py) -set(op_compat_yaml_file ${PADDLE_SOURCE_DIR}/paddle/phi/api/yaml/op_compat.yaml) -set(op_forward_yaml_file1 - ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/ops.parsed.yaml -) -set(op_forward_yaml_file2 - ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/legacy_ops.parsed.yaml -) -set(op_backward_yaml_file1 - ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/backward_ops.parsed.yaml -) -set(op_backward_yaml_file2 - ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/legacy_backward_ops.parsed.yaml -) -set(op_yaml_file3 ${PADDLE_SOURCE_DIR}/paddle/fluid/ir/dialect/pd_op.yaml) - -set(op_yaml_files - ${op_forward_yaml_file1},${op_forward_yaml_file2},${op_backward_yaml_file1},${op_backward_yaml_file2},${op_yaml_file3} -) -set(op_namespace paddle,dialect) -set(dialect_name pd) -set(op_header_file ${PD_DIALECT_BINARY_DIR}/pd_op.h) -set(op_source_file ${PD_DIALECT_BINARY_DIR}/pd_op.cc) -set(op_header_file_tmp ${op_header_file}.tmp) -set(op_source_file_tmp ${op_source_file}.tmp) - -add_custom_command( - OUTPUT ${op_header_file} ${op_source_file} - COMMAND - ${PYTHON_EXECUTABLE} ${op_gen_file} --op_yaml_files ${op_yaml_files} - --op_compat_yaml_file ${op_compat_yaml_file} --namespaces ${op_namespace} - --dialect_name ${dialect_name} --op_def_h_file ${op_header_file_tmp} - --op_def_cc_file ${op_source_file_tmp} - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${op_header_file_tmp} - ${op_header_file} - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${op_source_file_tmp} - ${op_source_file} - COMMENT "copy_if_different ${op_header_file} ${op_source_file}" - DEPENDS ${op_gen_file} ${op_forward_yaml_file1} ${op_forward_yaml_file2} - ${op_backward_yaml_file1} ${op_backward_yaml_file2} - ${op_compat_yaml_file} - VERBATIM) - -set(api_gen_file - ${PADDLE_SOURCE_DIR}/paddle/fluid/ir/dialect/op_generator/api_gen.py) -set(api_header_file ${PD_DIALECT_BINARY_DIR}/pd_api.h) -set(api_source_file ${PD_DIALECT_BINARY_DIR}/pd_api.cc) -set(api_header_file_tmp ${api_header_file}.tmp) -set(api_source_file_tmp ${api_source_file}.tmp) - -add_custom_command( - OUTPUT ${api_header_file} ${api_source_file} - COMMAND - ${PYTHON_EXECUTABLE} ${api_gen_file} --op_yaml_files ${op_yaml_files} - --op_compat_yaml_file ${op_compat_yaml_file} --namespaces ${op_namespace} - --api_def_h_file ${api_header_file_tmp} --api_def_cc_file - ${api_source_file_tmp} - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${api_header_file_tmp} - ${api_header_file} - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${api_source_file_tmp} - ${api_source_file} - COMMENT "copy_if_different ${api_header_file} ${api_source_file}" - DEPENDS ${api_gen_file} ${op_forward_yaml_file1} ${op_forward_yaml_file2} - ${op_backward_yaml_file1} ${op_backward_yaml_file2} - ${op_compat_yaml_file} - VERBATIM) - -# All source files of pd_dialect, except for the source file of op, which is generated in the compilation directory. -file(GLOB PD_DIALECT_SRCS "*.cc") - -cc_library( - pd_dialect - SRCS ${PD_DIALECT_SRCS} ${op_source_file} ${api_source_file} - DEPS phi - phi_utils - pd_interface - pd_trait - ir - primitive_vjp_experimental - type_info) -target_include_directories(pd_dialect PRIVATE ${PD_DIALECT_BINARY_DIR}) +add_subdirectory(paddle_dialect) +add_subdirectory(paddle_kernel_dialect) diff --git a/paddle/fluid/ir/dialect/op_generator/api_gen.py b/paddle/fluid/ir/dialect/op_generator/api_gen.py index 8180723b3c85e9a163621f836e8269e17663e7f9..8432ebf2fade9706b72e3fe78d9ee9fa19d06e29 100644 --- a/paddle/fluid/ir/dialect/op_generator/api_gen.py +++ b/paddle/fluid/ir/dialect/op_generator/api_gen.py @@ -29,7 +29,7 @@ H_FILE_TEMPLATE = """ #include "paddle/phi/common/data_type.h" #include "paddle/phi/common/place.h" #include "paddle/phi/common/scalar.h" -#include "paddle/fluid/ir/dialect/pd_manual_api.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_api.h" {body} @@ -37,9 +37,9 @@ H_FILE_TEMPLATE = """ CPP_FILE_TEMPLATE = """ -#include "paddle/fluid/ir/dialect/pd_api.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_api.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/api_builder.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" #include "paddle/ir/core/builder.h" #include "paddle/ir/core/builtin_op.h" diff --git a/paddle/fluid/ir/dialect/op_generator/op_gen.py b/paddle/fluid/ir/dialect/op_generator/op_gen.py index 423b47ae44ed0c81413c540b36b79bc6ac54ac71..75a025b5fb79eed66977e8aac0a0e6fa5f20d819 100644 --- a/paddle/fluid/ir/dialect/op_generator/op_gen.py +++ b/paddle/fluid/ir/dialect/op_generator/op_gen.py @@ -47,15 +47,15 @@ H_FILE_TEMPLATE = """#ifdef GET_OP_LIST #include "paddle/ir/core/builder.h" #include "paddle/ir/core/operation_utils.h" #include "paddle/ir/core/op_base.h" -#include "paddle/fluid/ir/dialect/utils.h" -#include "paddle/fluid/ir/dialect/op_yaml_info_util.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" -#include "paddle/fluid/ir/interface/infermeta.h" -#include "paddle/fluid/ir/interface/vjp.h" -#include "paddle/fluid/ir/trait/inplace.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_util.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/infermeta.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/vjp.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/trait/inplace.h" #include "paddle/fluid/framework/infershape_utils.h" #include "paddle/phi/core/infermeta_utils.h" -#include "paddle/fluid/ir/dialect/pd_manual_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_op.h" {input} @@ -98,8 +98,8 @@ op_n_attribute_declare_str = ( # ===================================== CC_FILE_TEMPLATE = """// This file is generated by "paddle/fluid/ir/dialect/op_generator/op_gen.py" #include "{h_file}" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" #include "paddle/ir/core/builtin_attribute.h" #include "paddle/ir/core/builtin_type.h" #include "paddle/ir/core/builtin_op.h" diff --git a/paddle/fluid/ir/dialect/paddle_dialect/CMakeLists.txt b/paddle/fluid/ir/dialect/paddle_dialect/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..9db8b7f326e3e90e733999011460dc9e705ad86c --- /dev/null +++ b/paddle/fluid/ir/dialect/paddle_dialect/CMakeLists.txt @@ -0,0 +1,5 @@ +add_subdirectory(ir) +add_subdirectory(interface) +add_subdirectory(trait) +add_subdirectory(utils) +add_subdirectory(transforms) diff --git a/paddle/fluid/ir/interface/CMakeLists.txt b/paddle/fluid/ir/dialect/paddle_dialect/interface/CMakeLists.txt similarity index 84% rename from paddle/fluid/ir/interface/CMakeLists.txt rename to paddle/fluid/ir/dialect/paddle_dialect/interface/CMakeLists.txt index 8812bc3675a32bcf2a0264308b7c984bce103b21..5ee2f3510ca93e83ae17f614bac9f6f9a423e995 100644 --- a/paddle/fluid/ir/interface/CMakeLists.txt +++ b/paddle/fluid/ir/dialect/paddle_dialect/interface/CMakeLists.txt @@ -4,4 +4,4 @@ file(GLOB PD_INTERFACE_SRCS "*.cc") cc_library( pd_interface SRCS ${PD_INTERFACE_SRCS} - DEPS ir framework_proto phi_utils) + DEPS ir_core phi_utils) diff --git a/paddle/fluid/ir/interface/infermeta.h b/paddle/fluid/ir/dialect/paddle_dialect/interface/infermeta.h similarity index 100% rename from paddle/fluid/ir/interface/infermeta.h rename to paddle/fluid/ir/dialect/paddle_dialect/interface/infermeta.h diff --git a/paddle/fluid/ir/interface/interface.cc b/paddle/fluid/ir/dialect/paddle_dialect/interface/interface.cc similarity index 79% rename from paddle/fluid/ir/interface/interface.cc rename to paddle/fluid/ir/dialect/paddle_dialect/interface/interface.cc index ce43e4478286767c1a70c88f456f27f54ea18bc2..12b14de308640f265cfce0ca4006e86c8923659a 100644 --- a/paddle/fluid/ir/interface/interface.cc +++ b/paddle/fluid/ir/dialect/paddle_dialect/interface/interface.cc @@ -12,9 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "paddle/fluid/ir/interface/infermeta.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" -#include "paddle/fluid/ir/interface/vjp.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/infermeta.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/vjp.h" IR_DEFINE_EXPLICIT_TYPE_ID(paddle::dialect::InferMetaInterface) IR_DEFINE_EXPLICIT_TYPE_ID(paddle::dialect::OpYamlInfoInterface) diff --git a/paddle/fluid/ir/interface/op_yaml_info.h b/paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h similarity index 95% rename from paddle/fluid/ir/interface/op_yaml_info.h rename to paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h index 2440bd2170febd36ef00c2d8763cef2b2e864e75..2069d19dd3202543ddbec15d0f6598d8a90b9682 100644 --- a/paddle/fluid/ir/interface/op_yaml_info.h +++ b/paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h @@ -14,7 +14,7 @@ #pragma once -#include "paddle/fluid/ir/dialect/op_yaml_info_util.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_util.h" #include "paddle/ir/core/op_base.h" using OpInfoTuple = std::tuple, diff --git a/paddle/fluid/ir/interface/vjp.h b/paddle/fluid/ir/dialect/paddle_dialect/interface/vjp.h similarity index 100% rename from paddle/fluid/ir/interface/vjp.h rename to paddle/fluid/ir/dialect/paddle_dialect/interface/vjp.h diff --git a/paddle/fluid/ir/dialect/paddle_dialect/ir/CMakeLists.txt b/paddle/fluid/ir/dialect/paddle_dialect/ir/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..ee84abd7f32704ba4782701686fd438a627d343a --- /dev/null +++ b/paddle/fluid/ir/dialect/paddle_dialect/ir/CMakeLists.txt @@ -0,0 +1,97 @@ +set(PD_DIALECT_BINARY_DIR + "${PADDLE_BINARY_DIR}/paddle/fluid/ir/dialect/paddle_dialect/ir") + +# Generate pd_dialect files defining op using op_gen_file +set(op_gen_file + ${PADDLE_SOURCE_DIR}/paddle/fluid/ir/dialect/op_generator/op_gen.py) +set(op_compat_yaml_file ${PADDLE_SOURCE_DIR}/paddle/phi/api/yaml/op_compat.yaml) +set(op_forward_yaml_file1 + ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/ops.parsed.yaml +) +set(op_forward_yaml_file2 + ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/legacy_ops.parsed.yaml +) +set(op_backward_yaml_file1 + ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/backward_ops.parsed.yaml +) +set(op_backward_yaml_file2 + ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/legacy_backward_ops.parsed.yaml +) +set(op_yaml_file3 + ${PADDLE_SOURCE_DIR}/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.yaml) + +set(op_yaml_files + ${op_forward_yaml_file1},${op_forward_yaml_file2},${op_backward_yaml_file1},${op_backward_yaml_file2},${op_yaml_file3} +) +set(op_namespace paddle,dialect) +set(dialect_name pd) +set(op_header_file ${PD_DIALECT_BINARY_DIR}/pd_op.h) +set(op_source_file ${PD_DIALECT_BINARY_DIR}/pd_op.cc) +set(op_header_file_tmp ${op_header_file}.tmp) +set(op_source_file_tmp ${op_source_file}.tmp) + +add_custom_command( + OUTPUT ${op_header_file} ${op_source_file} + COMMAND + ${PYTHON_EXECUTABLE} ${op_gen_file} --op_yaml_files ${op_yaml_files} + --op_compat_yaml_file ${op_compat_yaml_file} --namespaces ${op_namespace} + --dialect_name ${dialect_name} --op_def_h_file ${op_header_file_tmp} + --op_def_cc_file ${op_source_file_tmp} + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${op_header_file_tmp} + ${op_header_file} + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${op_source_file_tmp} + ${op_source_file} + COMMENT "copy_if_different ${op_header_file} ${op_source_file}" + DEPENDS ${op_gen_file} ${op_forward_yaml_file1} ${op_forward_yaml_file2} + ${op_backward_yaml_file1} ${op_backward_yaml_file2} + ${op_compat_yaml_file} + VERBATIM) + +set(api_gen_file + ${PADDLE_SOURCE_DIR}/paddle/fluid/ir/dialect/op_generator/api_gen.py) +set(api_header_file ${PD_DIALECT_BINARY_DIR}/pd_api.h) +set(api_source_file ${PD_DIALECT_BINARY_DIR}/pd_api.cc) +set(api_header_file_tmp ${api_header_file}.tmp) +set(api_source_file_tmp ${api_source_file}.tmp) + +add_custom_command( + OUTPUT ${api_header_file} ${api_source_file} + COMMAND + ${PYTHON_EXECUTABLE} ${api_gen_file} --op_yaml_files ${op_yaml_files} + --op_compat_yaml_file ${op_compat_yaml_file} --namespaces ${op_namespace} + --api_def_h_file ${api_header_file_tmp} --api_def_cc_file + ${api_source_file_tmp} + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${api_header_file_tmp} + ${api_header_file} + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${api_source_file_tmp} + ${api_source_file} + COMMENT "copy_if_different ${api_header_file} ${api_source_file}" + DEPENDS ${api_gen_file} ${op_forward_yaml_file1} ${op_forward_yaml_file2} + ${op_backward_yaml_file1} ${op_backward_yaml_file2} + ${op_compat_yaml_file} + VERBATIM) + +cc_library( + pd_dialect_core + SRCS pd_attribute.cc pd_type.cc + DEPS phi pd_interface pd_trait type_info) +cc_library( + pd_dialect_op + SRCS ${op_source_file} pd_manual_op.cc + DEPS pd_dialect_core) +cc_library( + api_builder + SRCS api_builder.cc + DEPS ir_core) +cc_library( + pd_dialect_api + SRCS ${api_source_file} pd_manual_api.cc + DEPS api_builder pd_dialect_op) + +target_include_directories(pd_dialect_api PRIVATE ${PD_DIALECT_BINARY_DIR}) + +cc_library( + pd_dialect + SRCS pd_dialect.cc pd_op_vjp_manual.cc + DEPS pd_dialect_api param_to_variable primitive_vjp_experimental + pd_dialect_utils op_yaml_info_parser) diff --git a/paddle/fluid/ir/dialect/paddle_dialect/ir/api_builder.cc b/paddle/fluid/ir/dialect/paddle_dialect/ir/api_builder.cc new file mode 100644 index 0000000000000000000000000000000000000000..c72ee0b6b2f994eb4ce82ffc5f56e3628305b0d4 --- /dev/null +++ b/paddle/fluid/ir/dialect/paddle_dialect/ir/api_builder.cc @@ -0,0 +1,54 @@ +// Copyright (c) 2023 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/api_builder.h" +#include "paddle/ir/core/enforce.h" +#include "paddle/ir/core/ir_context.h" +// #include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" + +namespace paddle { +namespace dialect { + +APIBuilder::APIBuilder() : builder_(nullptr) { + ctx_ = ir::IrContext::Instance(); + // ctx_->GetOrRegisterDialect(); +} + +void APIBuilder::SetProgram(ir::Program* program) { + builder_ = std::make_shared(ctx_, program->block()); +} + +void APIBuilder::SetInsertionPoint(ir::Operation* op) { + IR_ENFORCE(builder_ != nullptr, + "builder doesn't hold program, please call SetProgram for " + "initialization."); + builder_->SetInsertionPoint(op); +} + +void APIBuilder::ResetInsertionPointToStart() { + IR_ENFORCE(builder_ != nullptr, + "builder doesn't hold program, please call SetProgram for " + "initialization."); + builder_->SetInsertionPointToStart(builder_->block()); +} + +void APIBuilder::ResetInsertionPointToEnd() { + IR_ENFORCE(builder_ != nullptr, + "builder doesn't hold program, please call SetProgram for " + "initialization."); + builder_->SetInsertionPointToEnd(builder_->block()); +} + +} // namespace dialect +} // namespace paddle diff --git a/paddle/fluid/ir/dialect/paddle_dialect/ir/api_builder.h b/paddle/fluid/ir/dialect/paddle_dialect/ir/api_builder.h new file mode 100644 index 0000000000000000000000000000000000000000..029c79c2110c08c4dc98aadf3f1894ce53e975bf --- /dev/null +++ b/paddle/fluid/ir/dialect/paddle_dialect/ir/api_builder.h @@ -0,0 +1,55 @@ +// Copyright (c) 2023 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once +#include + +#include "paddle/ir/core/builder.h" +#include "paddle/ir/core/macros.h" +#include "paddle/ir/core/program.h" + +namespace paddle { +namespace dialect { +/// +/// \brief APIBuilder is used in IR API for building op +/// +class APIBuilder { + public: + static APIBuilder& Instance() { + static APIBuilder api_builder; + return api_builder; + } + void SetProgram(ir::Program* program); + + /// Set the insertion point to the specified operation, which will cause + /// subsequent insertions to go right before it. + void SetInsertionPoint(ir::Operation* op); + + void ResetInsertionPointToStart(); + + void ResetInsertionPointToEnd(); + + std::shared_ptr GetBuilder() { return builder_; } + + private: + APIBuilder(); + + DISABLE_COPY_AND_ASSIGN(APIBuilder); + + ir::IrContext* ctx_; + std::shared_ptr builder_; +}; + +} // namespace dialect +} // namespace paddle diff --git a/paddle/fluid/ir/dialect/pd_attribute.cc b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.cc similarity index 96% rename from paddle/fluid/ir/dialect/pd_attribute.cc rename to paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.cc index 8ccad0cf98185cfa13f20cf1e1d36aab6b670651..3b566edf03c0e9c64ced95235e80137f8ecdc169 100644 --- a/paddle/fluid/ir/dialect/pd_attribute.cc +++ b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.cc @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "paddle/fluid/ir/dialect/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" namespace paddle { namespace dialect { diff --git a/paddle/fluid/ir/dialect/pd_attribute.h b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h similarity index 97% rename from paddle/fluid/ir/dialect/pd_attribute.h rename to paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h index 05514705efe14cfc9cb0cb1e143465202c99ddb1..d192916c57aee9ae0db831138ec7a2905da7f8eb 100644 --- a/paddle/fluid/ir/dialect/pd_attribute.h +++ b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h @@ -14,7 +14,7 @@ #pragma once -#include "paddle/fluid/ir/dialect/pd_attribute_storage.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute_storage.h" #include "paddle/ir/core/attribute.h" #include "paddle/ir/core/builtin_attribute.h" #include "paddle/phi/common/scalar.h" diff --git a/paddle/fluid/ir/dialect/pd_attribute_storage.h b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute_storage.h similarity index 100% rename from paddle/fluid/ir/dialect/pd_attribute_storage.h rename to paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute_storage.h diff --git a/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.cc b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.cc new file mode 100644 index 0000000000000000000000000000000000000000..ddc117cb22c192a5f3ee5c024f05512f748651b1 --- /dev/null +++ b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.cc @@ -0,0 +1,103 @@ +// Copyright (c) 2023 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" +// NOTE(zhangbo9674): File pd_op.h is generated by op_gen.py, see details in +// paddle/fluid/ir/dialect/CMakeLists.txt. +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type_storage.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/transforms/param_to_variable.h" +#include "paddle/ir/core/utils.h" + +namespace paddle { +namespace dialect { + +PaddleDialect::PaddleDialect(ir::IrContext *context) + : ir::Dialect(name(), context, ir::TypeId::get()) { + initialize(); +} + +void PaddleDialect::initialize() { + RegisterTypes(); + RegisterTypes(); + + RegisterAttributes(); + + // NOTE(zhangbo9674): GET_OP_LIST is defined in pd_op.h which is + // generated by op_gen.py, see details in + // paddle/fluid/ir/dialect/CMakeLists.txt. + // NOTE(Ruting)GET_MANUAL_OP_LIST is define in pd_manual_op.h" + // use RegisterOps when list has more than two ops. + RegisterOps< +#define GET_OP_LIST +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" // NOLINT + >(); + RegisterOp(); + + RegisterInterfaces(); +} + +void PaddleDialect::PrintType(ir::Type type, std::ostream &os) const { + os << type.dialect().name(); + os << '.'; + if (auto tensor_type = type.dyn_cast()) { + os << "tensor<"; + for (auto d : phi::vectorize(tensor_type.dims())) { + os << d; + os << "x"; + } + tensor_type.dtype().Print(os); + os << ">"; + } else if (auto selected_rows_type = type.dyn_cast()) { + os << "selectedrows<"; + for (auto d : phi::vectorize(selected_rows_type.dims())) { + os << d; + os << "x"; + } + selected_rows_type.dtype().Print(os); + os << ">"; + } +} + +void PaddleDialect::PrintAttribute(ir::Attribute attr, std::ostream &os) const { + if (auto int_array_attr = attr.dyn_cast()) { + phi::IntArray data = int_array_attr.data(); + os << "IntArray["; + const auto &inner_data = data.GetData(); + ir::PrintInterleave( + inner_data.begin(), + inner_data.end(), + [&os](int64_t i) { os << i; }, + [&os]() { os << ","; }); + os << "]"; + } else if (auto data_type_attr = attr.dyn_cast()) { + os << data_type_attr.data(); + } else if (auto place_type_attr = attr.dyn_cast()) { + os << place_type_attr.data(); + } else if (auto data_layout_attr = attr.dyn_cast()) { + os << data_layout_attr.data(); + } else { + os << "<#AttrNotImplemented>"; + } +} + +} // namespace dialect +} // namespace paddle + +IR_DEFINE_EXPLICIT_TYPE_ID(paddle::dialect::PaddleDialect) diff --git a/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h new file mode 100644 index 0000000000000000000000000000000000000000..5a3d46afb4394d1730f15a44e70559c2033354d6 --- /dev/null +++ b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h @@ -0,0 +1,38 @@ +// Copyright (c) 2023 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once + +#include "paddle/ir/core/dialect.h" + +namespace paddle { +namespace dialect { + +class PaddleDialect : public ir::Dialect { + public: + explicit PaddleDialect(ir::IrContext* context); + + static const char* name() { return "pd"; } + + void PrintType(ir::Type type, std::ostream& os) const; + void PrintAttribute(ir::Attribute type, std::ostream& os) const; + + private: + void initialize(); +}; + +} // namespace dialect +} // namespace paddle + +IR_DECLARE_EXPLICIT_TYPE_ID(paddle::dialect::PaddleDialect) diff --git a/paddle/fluid/ir/dialect/pd_manual_api.cc b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_api.cc similarity index 87% rename from paddle/fluid/ir/dialect/pd_manual_api.cc rename to paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_api.cc index 10e25ea883b91445c8ab2c24d8b916e8e3a825ac..985e896d6e073e6c78093946b72b548b693adaba 100644 --- a/paddle/fluid/ir/dialect/pd_manual_api.cc +++ b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_api.cc @@ -12,10 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "paddle/fluid/ir/dialect/pd_manual_api.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_op.h" -#include "paddle/ir/core/builder.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_api.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/api_builder.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" #include "paddle/ir/core/builtin_op.h" namespace paddle { diff --git a/paddle/fluid/ir/dialect/pd_manual_api.h b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_api.h similarity index 100% rename from paddle/fluid/ir/dialect/pd_manual_api.h rename to paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_api.h diff --git a/paddle/fluid/ir/dialect/pd_manual_op.cc b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_op.cc similarity index 96% rename from paddle/fluid/ir/dialect/pd_manual_op.cc rename to paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_op.cc index 7f95a6fdf3d3d09bf197f0300fede76ee25b2c1f..2bcc9045e893b48dcfb35fa790b8b3ce6e9048f3 100644 --- a/paddle/fluid/ir/dialect/pd_manual_op.cc +++ b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_op.cc @@ -12,9 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "paddle/fluid/ir/dialect/pd_manual_op.h" -#include "paddle/fluid/ir/dialect/pd_attribute.h" -#include "paddle/fluid/ir/dialect/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" #include "paddle/ir/core/builtin_attribute.h" #include "paddle/ir/core/builtin_op.h" #include "paddle/ir/core/builtin_type.h" diff --git a/paddle/fluid/ir/dialect/pd_manual_op.h b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_op.h similarity index 85% rename from paddle/fluid/ir/dialect/pd_manual_op.h rename to paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_op.h index ff055ea6edf8aee3fca299ec19f98245891bb4bf..e3814a535ccf0c66d199739bcb6a7fa9347826d7 100644 --- a/paddle/fluid/ir/dialect/pd_manual_op.h +++ b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_manual_op.h @@ -22,10 +22,10 @@ paddle::dialect::AddNOp #include #include "paddle/fluid/framework/infershape_utils.h" -#include "paddle/fluid/ir/dialect/op_yaml_info_util.h" -#include "paddle/fluid/ir/dialect/utils.h" -#include "paddle/fluid/ir/interface/infermeta.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/infermeta.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_util.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" #include "paddle/ir/core/builder.h" #include "paddle/ir/core/op_base.h" #include "paddle/ir/core/operation_utils.h" diff --git a/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.yaml b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.yaml new file mode 100644 index 0000000000000000000000000000000000000000..30bb41cddb9bb3bbc87efc1e98a203eaa96b652c --- /dev/null +++ b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.yaml @@ -0,0 +1,357 @@ +- name: assign_value + inputs: [] + attrs: + - {typename: 'int[]', name: shape} + - {typename: DataType, name: dtype} + - {typename: 'Scalar[]', name: values, data_type: 'std::vector'} + - {typename: Place, name: place, default_value: '{}'} + outputs: + - {typename: Tensor, name: out, optional: false, intermediate: false} + no_need_buffer: null + data_transform: null + infer_meta: + func: AssignValueInferMeta + param: [shape, dtype] + kernel: + func: [assign_value] + param: [shape, dtype, values] + backend: + ordered: true + candidates: [place] + layout: null + data_type: + ordered: false + candidates: [dtype] + to_complex_flag: [false] + dispatch: {assign_value: null} + force_backend: null + inplace: null + view: null + backward: null + +- name: feed + inputs: [] + attrs: + - {typename: str, name: name} + - {typename: int, name: col} + outputs: + - {typename: Tensor, name: out, optional: false, intermediate: false} + no_need_buffer: null + data_transform: null + inplace: null + backward: null + +- name: fetch + inputs: + - typename: Tensor + name: x + optional: false + no_need_buffer: false + data_transform: {} + attrs: + - {typename: str, name: name} + - {typename: int, name: col} + outputs: + - {typename: Tensor, name: out, optional: false, intermediate: false} + no_need_buffer: null + data_transform: null + infer_meta: + func: UnchangedInferMeta + param: [x] + kernel: + func: [fetch] + param: [x] + backend: null + layout: null + data_type: null + dispatch: {fetch: null} + force_backend: null + inplace: null + backward: null + +- name: save_combine + inputs: + - typename: Tensor[] + name: X + optional: false + no_need_buffer: false + data_transform: {} + attrs: + - {typename: str, name: file_path} + - {typename: bool, name: overwrite} + - {typename: bool, name: save_as_fp16} + - {typename: bool, name: save_to_memory} + outputs: + - {typename: Tensor, name: out, optional: true, intermediate: false} + no_need_buffer: null + data_transform: null + kernel: + func: [save_combine_tensor] + param: [X, file_path, overwrite, save_as_fp16, save_to_memory] + backend: null + layout: null + data_type: null + dispatch: {fetch: null} + force_backend: null + inplace: null + backward: null + +- name: load_combine + inputs: [] + attrs: + - {typename: str, name: file_path} + - {typename: bool, name: load_as_fp16} + - {typename: bool, name: model_from_memory} + outputs: + - {typename: 'Tensor[]', name: Out, optional: true, intermediate: false} + no_need_buffer: null + data_transform: null + kernel: + func: [load_combine] + param: [file_path, load_as_fp16, model_from_memory] + backend: null + layout: null + data_type: null + dispatch: {fetch: null} + force_backend: null + inplace: null + backward: null + +- name: share_buffer_ + inputs: + - typename: Tensor[] + name: x + optional: false + no_need_buffer: false + data_transform: {} + attrs: + - {typename: 'bool[]', name: share_dims_and_dtype, default_value: '{}'} + outputs: + - {typename: 'Tensor[]', name: out, size: x.size(), optional: false, intermediate: false} + - {typename: 'Tensor[]', name: xout, size: x.size(), optional: false, intermediate: false} + no_need_buffer: null + data_transform: null + inplace: null + backward: null + +- name: assert + inputs: + - typename: Tensor + name: cond + optional: false + no_need_buffer: false + data_transform: {} + - typename: Tensor[] + name: data + optional: false + no_need_buffer: false + data_transform: {} + attrs: + - {typename: 'int64_t', name: summarize, default_value: '-1'} + outputs: [] + no_need_buffer: null + data_transform: null + kernel: + func: [assert] + param: [cond, data, summarize] + backend: null + layout: null + data_type: + ordered: false + candidates: [cond] + to_complex_flag: [false] + dispatch: {assert: null} + force_backend: null + inplace: null + backward: null + +- name: print + inputs: + - typename: Tensor + name: in + optional: false + no_need_buffer: false + data_transform: {} + attrs: + - {typename: 'int', name: first_n} + - {typename: 'str', name: message} + - {typename: 'int', name: summarize} + - {typename: 'bool', name: print_tensor_name, default_value: 'true'} + - {typename: 'bool', name: print_tensor_type, default_value: 'true'} + - {typename: 'bool', name: print_tensor_shape, default_value: 'true'} + - {typename: 'bool', name: print_tensor_layout, default_value: 'true'} + - {typename: 'bool', name: print_tensor_lod, default_value: 'true'} + - {typename: 'str', name: print_phase, default_value: '"BOTH"'} + - {typename: 'bool', name: is_forward, default_value: 'true'} + outputs: + - typename: Tensor + name: out + optional: false + no_need_buffer: false + data_transform: {} + infer_meta: + func: UnchangedInferMeta + param: [in] + kernel: + func: [print_kernel] + param: [in, first_n, message, summarize, print_tensor_name, print_tensor_type, print_tensor_shape, print_tensor_layout, print_tensor_lod, print_phase, is_forward ] + backend: null + layout: null + data_type: null + dispatch: {print: null} + force_backend: null + no_need_buffer: null + data_transform: null + inplace: null + backward: null + +- name: add_n_ + inputs: + - typename: Tensor[] + name: inputs + optional: false + no_need_buffer: false + data_transform: {} + attrs: [] + outputs: + - {typename: Tensor, name: out, optional: false, intermediate: false} + no_need_buffer: null + data_transform: null + infer_meta: + func: AddNInferMeta + param: [inputs] + kernel: + func: [add_n] + param: [inputs] + backend: null + layout: null + data_type: null + dispatch: {fetch: null} + force_backend: null + backward: add_n_grad + +- name: add_n_with_kernel + inputs: + - typename: Tensor[] + name: inputs + optional: false + no_need_buffer: false + data_transform: {} + attrs: [] + outputs: + - {typename: Tensor, name: out, optional: false, intermediate: false} + no_need_buffer: null + data_transform: null + infer_meta: + func: AddNInferMeta + param: [inputs] + kernel: + func: [add_n] + param: [inputs] + backend: null + layout: null + data_type: null + dispatch: {fetch: null} + force_backend: null + backward: add_n_grad + +- name: write_to_array + inputs: + - typename: Tensor + name: i + optional: false + no_need_buffer: false + data_transform: {} + - typename: Tensor + name: x + optional: false + no_need_buffer: false + data_transform: {} + attrs: [] + outputs: + - {typename: 'Tensor[]', name: out, optional: false, intermediate: false} + no_need_buffer: null + data_transform: null + backward: write_to_array_grad + +- name: lod_array_length + inputs: + - typename: Tensor[] + name: x + optional: false + no_need_buffer: false + data_transform: {} + attrs: [] + outputs: + - {typename: 'Tensor', name: out, optional: false, intermediate: false} + no_need_buffer: null + data_transform: null + +- name: embedding_grad_sparse + inputs: + - typename: Tensor + name: x + optional: false + no_need_buffer: false + data_transform: {} + - typename: Tensor + name: weight + optional: false + no_need_buffer: false + data_transform: {} + - typename: Tensor + name: out_grad + optional: false + no_need_buffer: false + data_transform: {} + attrs: + - {typename: int64_t, name: padding_idx, default_value: '-1'} + - {typename: bool, name: sparse, default_value: 'false'} + outputs: + - {typename: SelectedRows, name: weight_grad, optional: false, intermediate: false} + no_need_buffer: null + data_transform: null + infer_meta: + func: EmbeddingGradSparseInferMeta + param: [weight] + kernel: + func: [embedding_sparse_grad] + param: [x, weight, out_grad, padding_idx, sparse] + backend: null + layout: null + data_type: + ordered: false + candidates: [weight] + to_complex_flag: [false] + dispatch: {embedding_sparse_grad: null} + force_backend: null + inplace: null + view: null + backward: null + + +- name: shadow_feed + inputs: + - typename: Tensor + name: x + optional: false + no_need_buffer: false + data_transform: {} + attrs: [] + outputs: + - {typename: Tensor, name: out, optional: false, intermediate: false} + no_need_buffer: null + data_transform: null + infer_meta: + func: UnchangedInferMeta + param: [x] + kernel: + func: [shadow_feed] + param: [x] + backend: null + layout: null + data_type: null + dispatch: {fetch: null} + force_backend: null + inplace: null + backward: null diff --git a/paddle/fluid/ir/dialect/pd_op_vjp_manual.cc b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op_vjp_manual.cc similarity index 96% rename from paddle/fluid/ir/dialect/pd_op_vjp_manual.cc rename to paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op_vjp_manual.cc index a68d0ee505816bc51d83d715820e42648677384c..f1ea245d562deee6ed3ad223e1774af878a71b14 100644 --- a/paddle/fluid/ir/dialect/pd_op_vjp_manual.cc +++ b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op_vjp_manual.cc @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "paddle/fluid/ir/dialect/pd_attribute.h" -#include "paddle/fluid/ir/dialect/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" #include "paddle/fluid/primitive/rule/vjp/vjp.h" #include "paddle/fluid/primitive/type/lazy_tensor.h" #include "paddle/ir/core/builtin_op.h" diff --git a/paddle/fluid/ir/dialect/pd_type.cc b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.cc similarity index 96% rename from paddle/fluid/ir/dialect/pd_type.cc rename to paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.cc index caef537e6cf37c14f6b5c05b7b81440edebba32c..ce0f393200c87c85245a340e15e474725a82e78c 100644 --- a/paddle/fluid/ir/dialect/pd_type.cc +++ b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.cc @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "paddle/fluid/ir/dialect/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" namespace paddle { namespace dialect { diff --git a/paddle/fluid/ir/dialect/pd_type.h b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h similarity index 95% rename from paddle/fluid/ir/dialect/pd_type.h rename to paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h index 249fc018690196133c528d0dc3a7c54e93a46ec5..640e4ab2392385f956acd19ebda963adcd29600c 100644 --- a/paddle/fluid/ir/dialect/pd_type.h +++ b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h @@ -14,7 +14,7 @@ #pragma once -#include "paddle/fluid/ir/dialect/pd_type_storage.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type_storage.h" #include "paddle/ir/core/type.h" namespace paddle { diff --git a/paddle/fluid/ir/dialect/pd_type_storage.h b/paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type_storage.h similarity index 100% rename from paddle/fluid/ir/dialect/pd_type_storage.h rename to paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type_storage.h diff --git a/paddle/fluid/ir/trait/CMakeLists.txt b/paddle/fluid/ir/dialect/paddle_dialect/trait/CMakeLists.txt similarity index 84% rename from paddle/fluid/ir/trait/CMakeLists.txt rename to paddle/fluid/ir/dialect/paddle_dialect/trait/CMakeLists.txt index 949c44bf53ed103f817d14cc72da1d131bc1089c..53c3060d6f182a9df3541617771b9567b7b82ad5 100644 --- a/paddle/fluid/ir/trait/CMakeLists.txt +++ b/paddle/fluid/ir/dialect/paddle_dialect/trait/CMakeLists.txt @@ -3,4 +3,4 @@ file(GLOB PD_INTERFACE_SRCS "*.cc") cc_library( pd_trait SRCS ${PD_INTERFACE_SRCS} - DEPS ir) + DEPS ir_core) diff --git a/paddle/fluid/ir/trait/inplace.h b/paddle/fluid/ir/dialect/paddle_dialect/trait/inplace.h similarity index 100% rename from paddle/fluid/ir/trait/inplace.h rename to paddle/fluid/ir/dialect/paddle_dialect/trait/inplace.h diff --git a/paddle/fluid/ir/trait/trait.cc b/paddle/fluid/ir/dialect/paddle_dialect/trait/trait.cc similarity index 91% rename from paddle/fluid/ir/trait/trait.cc rename to paddle/fluid/ir/dialect/paddle_dialect/trait/trait.cc index e20e25cda9e16a87449c504c929671ad3d90942e..c086b98e34bc7034a00eb70c0c34787c73224288 100644 --- a/paddle/fluid/ir/trait/trait.cc +++ b/paddle/fluid/ir/dialect/paddle_dialect/trait/trait.cc @@ -12,6 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "paddle/fluid/ir/trait/inplace.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/trait/inplace.h" IR_DEFINE_EXPLICIT_TYPE_ID(paddle::dialect::InplaceTrait) diff --git a/paddle/fluid/ir/dialect/paddle_dialect/transforms/CMakeLists.txt b/paddle/fluid/ir/dialect/paddle_dialect/transforms/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..8d90edd3feb74816f94b40f7ef7f07d2702ffa8d --- /dev/null +++ b/paddle/fluid/ir/dialect/paddle_dialect/transforms/CMakeLists.txt @@ -0,0 +1,4 @@ +cc_library( + param_to_variable + SRCS param_to_variable.cc + DEPS pd_dialect_core) diff --git a/paddle/fluid/ir/dialect/pd_dialect.cc b/paddle/fluid/ir/dialect/paddle_dialect/transforms/param_to_variable.cc similarity index 52% rename from paddle/fluid/ir/dialect/pd_dialect.cc rename to paddle/fluid/ir/dialect/paddle_dialect/transforms/param_to_variable.cc index 5ebdf7611a8dcd55138cd264fe678cc247ece3f7..0113e38b8fd5e6a6f64578a7933343bf2d925cb2 100644 --- a/paddle/fluid/ir/dialect/pd_dialect.cc +++ b/paddle/fluid/ir/dialect/paddle_dialect/transforms/param_to_variable.cc @@ -12,18 +12,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "paddle/fluid/ir/dialect/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/transforms/param_to_variable.h" + #include "paddle/fluid/framework/convert_utils.h" #include "paddle/fluid/framework/data_type.h" -#include "paddle/fluid/ir/dialect/pd_attribute.h" -// NOTE(zhangbo9674): File pd_op.h is generated by op_gen.py, see details in -// paddle/fluid/ir/dialect/CMakeLists.txt. -#include "paddle/fluid/ir/dialect/pd_op.h" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/pd_type_storage.h" -#include "paddle/fluid/ir/dialect/utils.h" -#include "paddle/ir/core/dialect_interface.h" -#include "paddle/ir/core/utils.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" #include "paddle/phi/common/data_type.h" #include "paddle/phi/core/dense_tensor.h" @@ -85,80 +79,7 @@ std::unique_ptr ParameterConvertInterface::VariableToParameter( } } -PaddleDialect::PaddleDialect(ir::IrContext *context) - : ir::Dialect(name(), context, ir::TypeId::get()) { - initialize(); -} - -void PaddleDialect::initialize() { - RegisterTypes(); - RegisterTypes(); - - RegisterAttributes(); - - // NOTE(zhangbo9674): GET_OP_LIST is defined in pd_op.h which is - // generated by op_gen.py, see details in - // paddle/fluid/ir/dialect/CMakeLists.txt. - // NOTE(Ruting)GET_MANUAL_OP_LIST is define in pd_manual_op.h" - // use RegisterOps when list has more than two ops. - RegisterOps< -#define GET_OP_LIST -#include "paddle/fluid/ir/dialect/pd_op.h" // NOLINT - >(); - RegisterOp(); - - RegisterInterfaces(); -} - -void PaddleDialect::PrintType(ir::Type type, std::ostream &os) const { - os << type.dialect().name(); - os << '.'; - if (auto tensor_type = type.dyn_cast()) { - os << "tensor<"; - for (auto d : phi::vectorize(tensor_type.dims())) { - os << d; - os << "x"; - } - tensor_type.dtype().Print(os); - os << ">"; - } else if (auto selected_rows_type = type.dyn_cast()) { - os << "selectedrows<"; - for (auto d : phi::vectorize(selected_rows_type.dims())) { - os << d; - os << "x"; - } - selected_rows_type.dtype().Print(os); - os << ">"; - } -} - -void PaddleDialect::PrintAttribute(ir::Attribute attr, std::ostream &os) const { - if (auto int_array_attr = attr.dyn_cast()) { - phi::IntArray data = int_array_attr.data(); - os << "IntArray["; - const auto &inner_data = data.GetData(); - ir::PrintInterleave( - inner_data.begin(), - inner_data.end(), - [&os](int64_t i) { os << i; }, - [&os]() { os << ","; }); - os << "]"; - } else if (auto data_type_attr = attr.dyn_cast()) { - os << data_type_attr.data(); - } else if (auto place_type_attr = attr.dyn_cast()) { - os << place_type_attr.data(); - } else if (auto data_layout_attr = attr.dyn_cast()) { - os << data_layout_attr.data(); - } else { - os << "<#AttrNotImplemented>"; - } -} - } // namespace dialect } // namespace paddle -IR_DEFINE_EXPLICIT_TYPE_ID(paddle::dialect::PaddleDialect) IR_DEFINE_EXPLICIT_TYPE_ID(paddle::dialect::ParameterConvertInterface) diff --git a/paddle/fluid/ir/dialect/paddle_dialect/transforms/param_to_variable.h b/paddle/fluid/ir/dialect/paddle_dialect/transforms/param_to_variable.h new file mode 100644 index 0000000000000000000000000000000000000000..4194cbae53ddf9cd55d77d7a5e1d7470b8c5d8ba --- /dev/null +++ b/paddle/fluid/ir/dialect/paddle_dialect/transforms/param_to_variable.h @@ -0,0 +1,38 @@ +// Copyright (c) 2023 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once +#include "paddle/fluid/framework/variable.h" +#include "paddle/ir/core/dialect_interface.h" +#include "paddle/ir/core/parameter.h" + +namespace paddle { +namespace dialect { +class ParameterConvertInterface + : public ir::DialectInterface::Base { + public: + explicit ParameterConvertInterface(ir::Dialect* dialect) : Base(dialect) {} + + // NOTE(zhangbo): Only support new a CPU Variable. + std::shared_ptr ParameterToVariable( + ir::Parameter* parameter); + + std::unique_ptr VariableToParameter( + paddle::framework::Variable* var); +}; + +} // namespace dialect +} // namespace paddle + +IR_DECLARE_EXPLICIT_TYPE_ID(paddle::dialect::ParameterConvertInterface) diff --git a/paddle/fluid/ir/dialect/paddle_dialect/utils/CMakeLists.txt b/paddle/fluid/ir/dialect/paddle_dialect/utils/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..325f13f619b516825f002bc99937523f19ee0187 --- /dev/null +++ b/paddle/fluid/ir/dialect/paddle_dialect/utils/CMakeLists.txt @@ -0,0 +1,5 @@ +cc_library(op_yaml_info_parser SRCS op_yaml_info_parser.cc) +cc_library( + pd_dialect_utils + SRCS utils.cc + DEPS pd_dialect_core) diff --git a/paddle/fluid/ir/interface/op_yaml_info_parser.cc b/paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.cc similarity index 98% rename from paddle/fluid/ir/interface/op_yaml_info_parser.cc rename to paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.cc index 44453c160aedef277e89b09889efb3a4e47e6df5..4df7140452a8964861fbfdfe752a26b7a609da1b 100644 --- a/paddle/fluid/ir/interface/op_yaml_info_parser.cc +++ b/paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.cc @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "paddle/fluid/ir/interface/op_yaml_info_parser.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.h" namespace paddle { namespace dialect { diff --git a/paddle/fluid/ir/interface/op_yaml_info_parser.h b/paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.h similarity index 97% rename from paddle/fluid/ir/interface/op_yaml_info_parser.h rename to paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.h index 8aae9ef10ee2499d3bccbead1511a9d9bf2ef4ad..939f3f9d0275e806b5176b3e751ee55013fd154e 100644 --- a/paddle/fluid/ir/interface/op_yaml_info_parser.h +++ b/paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.h @@ -14,7 +14,7 @@ #pragma once -#include "paddle/fluid/ir/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" namespace paddle { namespace dialect { diff --git a/paddle/fluid/ir/dialect/op_yaml_info_util.h b/paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_util.h similarity index 97% rename from paddle/fluid/ir/dialect/op_yaml_info_util.h rename to paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_util.h index 802659847d6d652ee7ac0ccdf54a462159b6a5fa..5dd319c69fddc0402e93bfda586b88335b1a855b 100644 --- a/paddle/fluid/ir/dialect/op_yaml_info_util.h +++ b/paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_util.h @@ -14,7 +14,7 @@ #pragma once -#include "paddle/fluid/ir/dialect/pd_type_storage.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type_storage.h" #include "paddle/ir/core/builtin_attribute.h" #include "paddle/ir/core/builtin_type.h" diff --git a/paddle/fluid/ir/dialect/utils.cc b/paddle/fluid/ir/dialect/paddle_dialect/utils/utils.cc similarity index 96% rename from paddle/fluid/ir/dialect/utils.cc rename to paddle/fluid/ir/dialect/paddle_dialect/utils/utils.cc index 4e22d243faa0a536b104e02624b06307caeda7a0..6b1b16ce36c9a3b05595761db95b2c7eedef4a0c 100644 --- a/paddle/fluid/ir/dialect/utils.cc +++ b/paddle/fluid/ir/dialect/paddle_dialect/utils/utils.cc @@ -12,13 +12,17 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "paddle/fluid/ir/dialect/utils.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" namespace paddle { namespace dialect { const std::unordered_set LegacyOpList = { - "pd.load_combine", "pd.c_concat", "pd.c_broadcast_"}; + "pd.fused_softmax_mask_upper_triangle", + "pd.fused_softmax_mask_upper_triangle_grad", + "pd.load_combine", + "pd.c_concat", + "pd.load_combine"}; enum class AttrType { UNDEFINED = 0, diff --git a/paddle/fluid/ir/dialect/utils.h b/paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h similarity index 97% rename from paddle/fluid/ir/dialect/utils.h rename to paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h index 9b5a79c7a4433f4d24c5a19798a8fef7395439be..cb0c59671827cff09cb47dfbf11e83d42b55ebe8 100644 --- a/paddle/fluid/ir/dialect/utils.h +++ b/paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h @@ -16,8 +16,8 @@ // #include "paddle/fluid/framework/convert_utils.h" #include "paddle/fluid/framework/data_type.h" -#include "paddle/fluid/ir/dialect/pd_attribute.h" -#include "paddle/fluid/ir/dialect/pd_type_storage.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type_storage.h" #include "paddle/ir/core/builtin_attribute.h" #include "paddle/ir/core/builtin_type.h" #include "paddle/phi/common/int_array.h" diff --git a/paddle/fluid/ir/dialect/paddle_kernel_dialect/CMakeLists.txt b/paddle/fluid/ir/dialect/paddle_kernel_dialect/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..dd1b708ce9fe44723c60d9aeabf9be9d64a2351d --- /dev/null +++ b/paddle/fluid/ir/dialect/paddle_kernel_dialect/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(ir) diff --git a/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/CMakeLists.txt b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..af5e5c4fc9016144d93b9d89deb6f090ceb70b5d --- /dev/null +++ b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/CMakeLists.txt @@ -0,0 +1,5 @@ +file(GLOB PADDLE_KERNEL_DIALECT_SRCS "*.cc") +cc_library( + pd_kernel_dialect + SRCS ${PADDLE_KERNEL_DIALECT_SRCS} + DEPS pd_dialect_core) diff --git a/paddle/fluid/ir/dialect/kernel_attribute.cc b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute.cc similarity index 89% rename from paddle/fluid/ir/dialect/kernel_attribute.cc rename to paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute.cc index 3109df139359572e102870a51cd6acb90f4328b3..43ed52ffc67017eb6ec915b3dcf779ef3a8a6438 100644 --- a/paddle/fluid/ir/dialect/kernel_attribute.cc +++ b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute.cc @@ -12,6 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "paddle/fluid/ir/dialect/kernel_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute.h" IR_DEFINE_EXPLICIT_TYPE_ID(paddle::dialect::KernelAttribute) diff --git a/paddle/fluid/ir/dialect/kernel_attribute.h b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute.h similarity index 93% rename from paddle/fluid/ir/dialect/kernel_attribute.h rename to paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute.h index c01326d41932faa7b294df6397cd2f246fbbee3f..fa17b823f027846b7443128664092ddbba55f250 100644 --- a/paddle/fluid/ir/dialect/kernel_attribute.h +++ b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute.h @@ -14,7 +14,7 @@ #pragma once -#include "paddle/fluid/ir/dialect/kernel_attribute_storage.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute_storage.h" #include "paddle/ir/core/attribute.h" #include "paddle/phi/core/enforce.h" diff --git a/paddle/fluid/ir/dialect/kernel_attribute_storage.h b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute_storage.h similarity index 100% rename from paddle/fluid/ir/dialect/kernel_attribute_storage.h rename to paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute_storage.h diff --git a/paddle/fluid/ir/dialect/kernel_dialect.cc b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_dialect.cc similarity index 72% rename from paddle/fluid/ir/dialect/kernel_dialect.cc rename to paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_dialect.cc index f3b1a6e36ab7441606fd267cc1e36f53d217c769..4d91c350722250d3cddfe24028595b29563545fc 100644 --- a/paddle/fluid/ir/dialect/kernel_dialect.cc +++ b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_dialect.cc @@ -12,22 +12,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "paddle/fluid/ir/dialect/kernel_dialect.h" -#include "paddle/fluid/ir/dialect/kernel_op.h" -#include "paddle/fluid/ir/dialect/pd_attribute.h" -// NOTE(zhangbo9674): File pd_op.h is generated by op_gen.py, see details in -// paddle/fluid/ir/dialect/CMakeLists.txt. -#include "paddle/fluid/framework/convert_utils.h" -#include "paddle/fluid/framework/data_type.h" -#include "paddle/fluid/ir/dialect/kernel_attribute.h" -#include "paddle/fluid/ir/dialect/kernel_type.h" -#include "paddle/fluid/ir/dialect/kernel_type_storage.h" -#include "paddle/fluid/ir/dialect/op_yaml_info_util.h" -#include "paddle/fluid/ir/dialect/pd_op.h" -#include "paddle/fluid/ir/dialect/utils.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_op.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type.h" #include "paddle/fluid/platform/init_phi.h" -#include "paddle/ir/core/dialect_interface.h" -#include "paddle/phi/core/dense_tensor.h" +#include "paddle/phi/common/place.h" +#include "paddle/phi/core/ddim.h" REGISTER_FILE_SYMBOLS(kernel_dialect); diff --git a/paddle/fluid/ir/dialect/kernel_dialect.h b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_dialect.h similarity index 93% rename from paddle/fluid/ir/dialect/kernel_dialect.h rename to paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_dialect.h index 401b6da4361d10a3f1778aee8e8012041ea95dd2..7685a9d65459a6068739769e29b09c99cb90707f 100644 --- a/paddle/fluid/ir/dialect/kernel_dialect.h +++ b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_dialect.h @@ -14,9 +14,7 @@ #pragma once -#include "paddle/fluid/framework/variable.h" #include "paddle/ir/core/dialect.h" -#include "paddle/ir/core/parameter.h" namespace paddle { namespace dialect { diff --git a/paddle/fluid/ir/dialect/kernel_op.cc b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_op.cc similarity index 93% rename from paddle/fluid/ir/dialect/kernel_op.cc rename to paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_op.cc index 57127c0a57f9f8913295b5d36862ea5e522ed6c0..b463fc6ae85ca0f8ab5cc9f3d0ef9a7fb5b2bbd7 100644 --- a/paddle/fluid/ir/dialect/kernel_op.cc +++ b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_op.cc @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "paddle/fluid/ir/dialect/kernel_op.h" -#include "paddle/fluid/ir/dialect/kernel_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_op.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute.h" #include "paddle/ir/core/builtin_attribute.h" #include "paddle/phi/core/enforce.h" diff --git a/paddle/fluid/ir/dialect/kernel_op.h b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_op.h similarity index 100% rename from paddle/fluid/ir/dialect/kernel_op.h rename to paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_op.h diff --git a/paddle/fluid/ir/dialect/kernel_type.cc b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type.cc similarity index 96% rename from paddle/fluid/ir/dialect/kernel_type.cc rename to paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type.cc index d54b360647e70fc31062bbf92fadc1eb3f595dcd..9740f1296a51bcda34291a2a6a28a08d40dc1880 100644 --- a/paddle/fluid/ir/dialect/kernel_type.cc +++ b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type.cc @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "paddle/fluid/ir/dialect/kernel_type.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type.h" namespace paddle { namespace dialect { diff --git a/paddle/fluid/ir/dialect/kernel_type.h b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type.h similarity index 96% rename from paddle/fluid/ir/dialect/kernel_type.h rename to paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type.h index b553cce6e8935b74edf9b3f85e1ee093b6fb6c88..b00f2e5320dde201a8c507db2fa9b8846d529a9f 100644 --- a/paddle/fluid/ir/dialect/kernel_type.h +++ b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type.h @@ -14,8 +14,8 @@ #pragma once -#include "paddle/fluid/ir/dialect/kernel_type_storage.h" -#include "paddle/fluid/ir/dialect/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type_storage.h" #include "paddle/ir/core/type.h" namespace paddle { diff --git a/paddle/fluid/ir/dialect/kernel_type_storage.h b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type_storage.h similarity index 98% rename from paddle/fluid/ir/dialect/kernel_type_storage.h rename to paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type_storage.h index 59070f75f939206c7e61f0257c4027373ad397ac..1913dd6e6346c7f5f46abf54e2070a97df81ed7b 100644 --- a/paddle/fluid/ir/dialect/kernel_type_storage.h +++ b/paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type_storage.h @@ -16,7 +16,7 @@ #include -#include "paddle/fluid/ir/dialect/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" #include "paddle/ir/core/type.h" #include "paddle/ir/core/utils.h" #include "paddle/phi/core/tensor_meta.h" diff --git a/paddle/fluid/ir/dialect/pd_dialect.h b/paddle/fluid/ir/dialect/pd_dialect.h deleted file mode 100644 index 4fa14d394248a0540e5f340bdb675d963d0f24f9..0000000000000000000000000000000000000000 --- a/paddle/fluid/ir/dialect/pd_dialect.h +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright (c) 2023 PaddlePaddle Authors. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#pragma once - -#include "paddle/fluid/framework/variable.h" -#include "paddle/ir/core/dialect.h" -#include "paddle/ir/core/enforce.h" -#include "paddle/ir/core/macros.h" -#include "paddle/ir/core/parameter.h" -#include "paddle/ir/core/program.h" - -namespace paddle { -namespace dialect { -class ParameterConvertInterface - : public ir::DialectInterface::Base { - public: - explicit ParameterConvertInterface(ir::Dialect* dialect) : Base(dialect) {} - - // NOTE(zhangbo): Only support new a CPU Variable. - std::shared_ptr ParameterToVariable( - ir::Parameter* parameter); - - std::unique_ptr VariableToParameter( - paddle::framework::Variable* var); -}; - -class PaddleDialect : public ir::Dialect { - public: - explicit PaddleDialect(ir::IrContext* context); - - static const char* name() { return "pd"; } - - void PrintType(ir::Type type, std::ostream& os) const; - void PrintAttribute(ir::Attribute type, std::ostream& os) const; - - private: - void initialize(); -}; - -/// -/// \brief APIBuilder is used in IR API for building op -/// -class APIBuilder { - public: - static APIBuilder& Instance() { - static APIBuilder api_builder; - return api_builder; - } - void SetProgram(ir::Program* program) { - builder_ = std::make_shared(ctx_, program->block()); - } - - /// Set the insertion point to the specified operation, which will cause - /// subsequent insertions to go right before it. - void SetInsertionPoint(ir::Operation* op) { - IR_ENFORCE(builder_ != nullptr, - "builder doesn't hold program, please call SetProgram for " - "initialization."); - builder_->SetInsertionPoint(op); - } - - void ResetInsertionPointToStart() { - IR_ENFORCE(builder_ != nullptr, - "builder doesn't hold program, please call SetProgram for " - "initialization."); - builder_->SetInsertionPointToStart(builder_->block()); - } - - void ResetInsertionPointToEnd() { - IR_ENFORCE(builder_ != nullptr, - "builder doesn't hold program, please call SetProgram for " - "initialization."); - builder_->SetInsertionPointToEnd(builder_->block()); - } - - std::shared_ptr GetBuilder() { return builder_; } - - private: - APIBuilder() : builder_(nullptr) { - ctx_ = ir::IrContext::Instance(); - ctx_->GetOrRegisterDialect(); - } - - DISABLE_COPY_AND_ASSIGN(APIBuilder); - - ir::IrContext* ctx_; - std::shared_ptr builder_; -}; - -} // namespace dialect -} // namespace paddle - -IR_DECLARE_EXPLICIT_TYPE_ID(paddle::dialect::PaddleDialect) -IR_DECLARE_EXPLICIT_TYPE_ID(paddle::dialect::ParameterConvertInterface) diff --git a/paddle/fluid/ir/phi_kernel_adaptor/CMakeLists.txt b/paddle/fluid/ir/phi_kernel_adaptor/CMakeLists.txt index dd831ce7840b333f6eecd5c5a00e2cc503b536a8..1df1cc06db594e6caec702135fdf07910739c267 100644 --- a/paddle/fluid/ir/phi_kernel_adaptor/CMakeLists.txt +++ b/paddle/fluid/ir/phi_kernel_adaptor/CMakeLists.txt @@ -4,4 +4,4 @@ file(GLOB PHI_KERNEL_ADAPTOR_SRCS "*.cc") cc_library( phi_kernel_adaptor SRCS ${PHI_KERNEL_ADAPTOR_SRCS} - DEPS program_translator ir phi_utils) + DEPS program_translator pd_kernel_dialect) diff --git a/paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_adaptor.h b/paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_adaptor.h index 24066abecc04344cbaefb714c08bdbf4efa6a46a..bb1b284ea1b6c5fcaaed7a3d11b9d667a041385b 100644 --- a/paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_adaptor.h +++ b/paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_adaptor.h @@ -14,14 +14,14 @@ #pragma once -#include "paddle/fluid/ir/dialect/op_yaml_info_util.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_op.h" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/utils.h" -#include "paddle/fluid/ir/interface/infermeta.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" -#include "paddle/fluid/ir/interface/op_yaml_info_parser.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/infermeta.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_util.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" #include "paddle/ir/core/builtin_attribute.h" #include "paddle/ir/core/builtin_dialect.h" #include "paddle/ir/core/builtin_op.h" @@ -43,8 +43,8 @@ #include "paddle/fluid/platform/init.h" -#include "paddle/fluid/ir/dialect/kernel_attribute.h" -#include "paddle/fluid/ir/dialect/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute.h" #include "glog/logging.h" #include "paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_util.h" diff --git a/paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_util.cc b/paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_util.cc index cadd9a29519ab22f1988e701250ec4580a4f67ba..5cc29e7c38767346c5cbf4dfa4456b15262048e2 100644 --- a/paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_util.cc +++ b/paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_util.cc @@ -14,11 +14,11 @@ #include "paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_util.h" -#include "paddle/fluid/ir/dialect/op_yaml_info_util.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/utils.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_util.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" #include "paddle/ir/core/builtin_attribute.h" #include "paddle/ir/core/ir_context.h" #include "paddle/ir/core/program.h" @@ -33,10 +33,10 @@ #include "paddle/fluid/framework/string_array.h" #include "paddle/fluid/framework/tensor_ref_array.h" -#include "paddle/fluid/ir/dialect/kernel_attribute.h" -#include "paddle/fluid/ir/dialect/kernel_type.h" -#include "paddle/fluid/ir/dialect/pd_attribute.h" -#include "paddle/fluid/ir/interface/op_yaml_info_parser.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type.h" #include "paddle/fluid/ir_adaptor/translator/op_compat_info.h" #include "paddle/phi/core/enforce.h" diff --git a/paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_util.h b/paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_util.h index 2b024f4786893b4f483414cd366eee9941c80fd0..9fb7478d30da37898fc47bb21d2fcc9bc320b9de 100644 --- a/paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_util.h +++ b/paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_util.h @@ -14,11 +14,11 @@ #pragma once -#include "paddle/fluid/ir/dialect/op_yaml_info_util.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/utils.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_util.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" #include "paddle/ir/core/builtin_attribute.h" #include "paddle/ir/core/ir_context.h" #include "paddle/ir/core/program.h" @@ -33,10 +33,10 @@ #include "paddle/phi/core/kernel_context.h" #include "paddle/fluid/framework/operator.h" -#include "paddle/fluid/ir/dialect/kernel_attribute.h" -#include "paddle/fluid/ir/dialect/kernel_type.h" -#include "paddle/fluid/ir/dialect/pd_attribute.h" -#include "paddle/fluid/ir/interface/op_yaml_info_parser.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type.h" #include "paddle/phi/core/infermeta_utils.h" #include "glog/logging.h" diff --git a/paddle/fluid/ir/transforms/CMakeLists.txt b/paddle/fluid/ir/transforms/CMakeLists.txt index d23e253d83b1d3730720813a33483369cee4d7ae..80e14cd5ba86771f7c6d026706e419fee3234fb1 100644 --- a/paddle/fluid/ir/transforms/CMakeLists.txt +++ b/paddle/fluid/ir/transforms/CMakeLists.txt @@ -1,15 +1,14 @@ cc_library( transform_general_functions SRCS transform_general_functions.cc - DEPS phi pd_dialect ir) + DEPS pd_dialect_core) cc_library( pd_op_to_kernel_pass SRCS pd_op_to_kernel_pass.cc - DEPS phi_utils pd_interface pd_trait ir) + DEPS pd_kernel_dialect pd_dialect_core pd_dialect_utils) cc_library( _constant_folding_pass SRCS constant_folding_pass.cc - DEPS standalone_executor phi pd_op_to_kernel_pass transform_general_functions - ir) + DEPS standalone_executor pd_op_to_kernel_pass transform_general_functions) diff --git a/paddle/fluid/ir/transforms/constant_folding_pass.cc b/paddle/fluid/ir/transforms/constant_folding_pass.cc index cebcf5d02f7701eda147059a5710a9ec61175692..e114cf2ca031707bc9cd9751f0ec3cc0290bbb9a 100644 --- a/paddle/fluid/ir/transforms/constant_folding_pass.cc +++ b/paddle/fluid/ir/transforms/constant_folding_pass.cc @@ -20,12 +20,12 @@ // NOTE(zhangbo9674): File pd_op.h is generated by op_gen.py, see details in // paddle/fluid/ir/dialect/CMakeLists.txt. -#include "paddle/fluid/ir/dialect/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" #include "paddle/fluid/framework/new_executor/interpretercore.h" #include "paddle/fluid/framework/scope.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" #include "paddle/fluid/ir/transforms/pd_op_to_kernel_pass.h" #include "paddle/fluid/ir/transforms/transform_general_functions.h" #include "paddle/ir/core/builtin_op.h" diff --git a/paddle/fluid/ir/transforms/pd_op_to_kernel_pass.cc b/paddle/fluid/ir/transforms/pd_op_to_kernel_pass.cc index 43e851f7454812c69e32e8bda16a4ad3a39b0b05..1c8dd4ff84470bc3d479ff30ba5d1c3157208b56 100644 --- a/paddle/fluid/ir/transforms/pd_op_to_kernel_pass.cc +++ b/paddle/fluid/ir/transforms/pd_op_to_kernel_pass.cc @@ -16,18 +16,18 @@ #include "paddle/fluid/ir/transforms/pd_op_to_kernel_pass.h" -#include "paddle/fluid/ir/dialect/kernel_attribute.h" -#include "paddle/fluid/ir/dialect/kernel_dialect.h" -#include "paddle/fluid/ir/dialect/kernel_op.h" -#include "paddle/fluid/ir/dialect/kernel_type.h" -#include "paddle/fluid/ir/dialect/op_yaml_info_util.h" -#include "paddle/fluid/ir/dialect/pd_attribute.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/utils.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" -#include "paddle/fluid/ir/interface/op_yaml_info_parser.h" -#include "paddle/fluid/ir/trait/inplace.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/trait/inplace.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_util.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_op.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_type.h" +#include "paddle/fluid/platform/place.h" #include "paddle/phi/api/lib/data_transform.h" #include "paddle/phi/api/lib/kernel_dispatch.h" #include "paddle/phi/common/place.h" diff --git a/paddle/fluid/ir/transforms/transform_general_functions.cc b/paddle/fluid/ir/transforms/transform_general_functions.cc index 2937e55065e994fcd30d292436468be170f04103..587c0cdaacd1d7ec2821e444307f44a143797301 100644 --- a/paddle/fluid/ir/transforms/transform_general_functions.cc +++ b/paddle/fluid/ir/transforms/transform_general_functions.cc @@ -14,8 +14,8 @@ #include "paddle/fluid/ir/transforms/transform_general_functions.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" #include "paddle/ir/core/builtin_op.h" #include "paddle/ir/core/parameter.h" #include "paddle/ir/core/program.h" diff --git a/paddle/fluid/ir_adaptor/translator/attribute_translator.cc b/paddle/fluid/ir_adaptor/translator/attribute_translator.cc index ada0d80688ac2cad877e86afc07072bcef88da34..cf41a978e7edb0fc775d4fd8220c89e286871f60 100644 --- a/paddle/fluid/ir_adaptor/translator/attribute_translator.cc +++ b/paddle/fluid/ir_adaptor/translator/attribute_translator.cc @@ -17,7 +17,7 @@ #include #include -#include "paddle/fluid/ir/dialect/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" #include "paddle/ir/core/enforce.h" #include "paddle/phi/common/data_type.h" #include "paddle/phi/common/int_array.h" diff --git a/paddle/fluid/ir_adaptor/translator/op_translator.cc b/paddle/fluid/ir_adaptor/translator/op_translator.cc index f52bae9fdc2e5813464b969a9f8fa511ad6ef80f..59887078d050b89a2b2039c79c5e3f8f9d1e6270 100644 --- a/paddle/fluid/ir_adaptor/translator/op_translator.cc +++ b/paddle/fluid/ir_adaptor/translator/op_translator.cc @@ -23,10 +23,10 @@ #include #include "paddle/fluid/framework/op_desc.h" -#include "paddle/fluid/ir/dialect/pd_attribute.h" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/utils.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" #include "paddle/fluid/ir_adaptor/translator/attribute_translator.h" #include "paddle/fluid/ir_adaptor/translator/op_compat_info.h" #include "paddle/fluid/ir_adaptor/translator/program_translator.h" @@ -42,7 +42,7 @@ // NOTE(zhangbo9674): File pd_op.h is generated by op_gen.py, see details in // paddle/fluid/ir/dialect/CMakeLists.txt. -#include "paddle/fluid/ir/dialect/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" namespace paddle { namespace translator { diff --git a/paddle/fluid/ir_adaptor/translator/translate.cc b/paddle/fluid/ir_adaptor/translator/translate.cc index c4cc91f5a1479bd31e36262f593e4517ba60ef11..87bef41641a5fe419b349934c49593349b0665ef 100644 --- a/paddle/fluid/ir_adaptor/translator/translate.cc +++ b/paddle/fluid/ir_adaptor/translator/translate.cc @@ -17,7 +17,7 @@ #include #include "paddle/fluid/framework/program_desc.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" #include "paddle/fluid/ir_adaptor/translator/program_translator.h" #include "paddle/ir/core/builtin_dialect.h" #include "paddle/ir/core/program.h" diff --git a/paddle/fluid/ir_adaptor/translator/translate.h b/paddle/fluid/ir_adaptor/translator/translate.h index 3ed1933b630180f375d53ada4ee3559c78a9b4c3..8f604a47761fc81ac6ad9d51e2c7ce0be61923ca 100644 --- a/paddle/fluid/ir_adaptor/translator/translate.h +++ b/paddle/fluid/ir_adaptor/translator/translate.h @@ -17,7 +17,7 @@ #include #include "paddle/fluid/framework/program_desc.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" #include "paddle/ir/core/program.h" namespace paddle { diff --git a/paddle/fluid/ir_adaptor/translator/type_translator.cc b/paddle/fluid/ir_adaptor/translator/type_translator.cc index 1b92ff2f74cc6343449ca8c7f9ea85849d29a9cc..5c3cbdbc240ce284865d3645c7501006c4c66723 100644 --- a/paddle/fluid/ir_adaptor/translator/type_translator.cc +++ b/paddle/fluid/ir_adaptor/translator/type_translator.cc @@ -15,8 +15,8 @@ #include "paddle/fluid/ir_adaptor/translator/type_translator.h" #include "paddle/fluid/framework/framework.pb.h" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/pd_type_storage.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type_storage.h" #include "paddle/ir/core/builtin_type.h" namespace paddle { diff --git a/paddle/fluid/platform/CMakeLists.txt b/paddle/fluid/platform/CMakeLists.txt index 4d7f496aaa42d003d945c55e1c28449b490db8ea..c215611f9e54190c9ff5e7a72c8c3c4a600ad2df 100644 --- a/paddle/fluid/platform/CMakeLists.txt +++ b/paddle/fluid/platform/CMakeLists.txt @@ -108,7 +108,7 @@ endif() cc_library( init SRCS init.cc - DEPS device_context phi memcpy pd_dialect ir) + DEPS device_context phi memcpy pd_dialect) # memcpy depends on device_context, here add deps individually for # avoiding cycle dependencies diff --git a/paddle/fluid/platform/init.cc b/paddle/fluid/platform/init.cc index d09d974e85341a80c7d9adcb32159c355b39d2c9..34f261ac2139f0aa165b0347c7af03182b3d3830 100644 --- a/paddle/fluid/platform/init.cc +++ b/paddle/fluid/platform/init.cc @@ -51,7 +51,7 @@ limitations under the License. */ #include "paddle/fluid/platform/device/ipu/ipu_info.h" #endif -#include "paddle/fluid/ir/dialect/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" #include "paddle/fluid/memory/allocation/allocator_facade.h" #include "paddle/fluid/memory/memory.h" #include "paddle/fluid/platform/flags.h" diff --git a/paddle/fluid/primitive/backend/CMakeLists.txt b/paddle/fluid/primitive/backend/CMakeLists.txt index 26855583b46f9c72640a7795284105f803b041bc..58ecb6e7b61f22aaf98852e97345bf06d48b1d2e 100644 --- a/paddle/fluid/primitive/backend/CMakeLists.txt +++ b/paddle/fluid/primitive/backend/CMakeLists.txt @@ -7,4 +7,4 @@ endif() cc_library( primitive_backend_static_experimental SRCS static_backend.cc - DEPS pd_dialect) + DEPS pd_dialect_api) diff --git a/paddle/fluid/primitive/backend/static_backend.cc b/paddle/fluid/primitive/backend/static_backend.cc index 3bb9c616a781999d672d3d2f927275f61e606d41..cc1ac6f2cbc204279a92b6a38662960bd144fd33 100644 --- a/paddle/fluid/primitive/backend/static_backend.cc +++ b/paddle/fluid/primitive/backend/static_backend.cc @@ -13,7 +13,7 @@ // limitations under the License. #include "paddle/fluid/primitive/backend/static_backend.h" -#include "paddle/fluid/ir/dialect/pd_api.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_api.h" #include "paddle/fluid/primitive/primitive/primitive.h" #include "paddle/fluid/primitive/type/lazy_tensor.h" diff --git a/paddle/fluid/primitive/rule/vjp/CMakeLists.txt b/paddle/fluid/primitive/rule/vjp/CMakeLists.txt index 3243228d1127db9f71898d8db4898eafbc88ea10..3cb74fa492e9318bb5ff81d19b9431939b40b853 100644 --- a/paddle/fluid/primitive/rule/vjp/CMakeLists.txt +++ b/paddle/fluid/primitive/rule/vjp/CMakeLists.txt @@ -4,4 +4,3 @@ cc_library( SRCS ${VJP_SRCS} DEPS primitive_backend_static_experimental static_global_utils primitive_static_utils_experimental) -add_dependencies(primitive_vjp_experimental pd_dialect) diff --git a/paddle/fluid/primitive/rule/vjp/vjp.cc b/paddle/fluid/primitive/rule/vjp/vjp.cc index 364c590a6edbb251d9a75f98b6171e1b8a75b5ff..0ba49f3ada3552c944abd3b76944b77b72d44c44 100644 --- a/paddle/fluid/primitive/rule/vjp/vjp.cc +++ b/paddle/fluid/primitive/rule/vjp/vjp.cc @@ -13,7 +13,7 @@ // limitations under the License. #include "paddle/fluid/primitive/rule/vjp/vjp.h" -#include "paddle/fluid/ir/dialect/pd_api.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_api.h" #include "paddle/fluid/prim/utils/static/static_global_utils.h" #include "paddle/fluid/primitive/backend/static_backend.h" #include "paddle/fluid/primitive/rule/vjp/details.h" diff --git a/paddle/fluid/primitive/type/lazy_tensor.h b/paddle/fluid/primitive/type/lazy_tensor.h index b4387d11f5cb878b6bdf3297c9568a91f106da63..bb0af2ef374ca21dc3a0d011640552f38922f5ef 100644 --- a/paddle/fluid/primitive/type/lazy_tensor.h +++ b/paddle/fluid/primitive/type/lazy_tensor.h @@ -13,8 +13,8 @@ // limitations under the License. #pragma once -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/utils.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" #include "paddle/ir/core/value.h" #include "paddle/phi/core/ddim.h" #include "paddle/phi/core/extended_tensor.h" diff --git a/paddle/fluid/pybind/ir.cc b/paddle/fluid/pybind/ir.cc index 05295243b124c16ff691b021c187e1e0033f6cf2..0302bcc2fc59be7da09d30523255b5374ad10b98 100644 --- a/paddle/fluid/pybind/ir.cc +++ b/paddle/fluid/pybind/ir.cc @@ -24,10 +24,11 @@ #include "paddle/fluid/pybind/pybind_variant_caster.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/utils.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/api_builder.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" #include "paddle/fluid/ir_adaptor/translator/translate.h" #include "paddle/ir/core/block.h" #include "paddle/ir/core/builtin_attribute.h" diff --git a/paddle/fluid/pybind/pybind.cc b/paddle/fluid/pybind/pybind.cc index 911285250b6e22be2f6e844e030815cb71d0cdf4..24aff35f7b1ac2d550d8a3fffd685a5a95285a55 100644 --- a/paddle/fluid/pybind/pybind.cc +++ b/paddle/fluid/pybind/pybind.cc @@ -195,7 +195,7 @@ limitations under the License. */ #include "paddle/fluid/eager/api/utils/global_utils.h" #include "paddle/fluid/eager/nan_inf_utils.h" #include "paddle/fluid/imperative/layout_autotune.h" -#include "paddle/fluid/ir/interface/vjp.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/vjp.h" #include "paddle/fluid/prim/utils/eager/eager_tensor_operants.h" #include "paddle/fluid/prim/utils/static/static_tensor_operants.h" #include "paddle/fluid/pybind/eager_utils.h" diff --git a/paddle/fluid/pybind/static_op_function.cc b/paddle/fluid/pybind/static_op_function.cc index 632f7044c46170865f568d72096c58ac6056ea06..7923f0d569f6b1ade1c503ff0363c911a32d404c 100644 --- a/paddle/fluid/pybind/static_op_function.cc +++ b/paddle/fluid/pybind/static_op_function.cc @@ -13,7 +13,7 @@ // limitations under the License. #include "paddle/fluid/pybind/static_op_function.h" -#include "paddle/fluid/ir/dialect/pd_api.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_api.h" #include "paddle/fluid/pybind/eager_utils.h" #include "paddle/fluid/pybind/exception.h" #include "paddle/fluid/pybind/op_function_common.h" diff --git a/test/cpp/ir/cinn/jit_instruction_test.cc b/test/cpp/ir/cinn/jit_instruction_test.cc index 860ffeebae8c49d04d230dabcef8e82e2a7ede21..b7088ef448e7f2097034cd68601e260a765f5258 100644 --- a/test/cpp/ir/cinn/jit_instruction_test.cc +++ b/test/cpp/ir/cinn/jit_instruction_test.cc @@ -22,8 +22,8 @@ #include "paddle/fluid/framework/new_executor/interpretercore.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" #include "paddle/ir/core/ir_context.h" #include "paddle/ir/core/program.h" diff --git a/test/cpp/ir/cinn/new_ir_compiler_test.cc b/test/cpp/ir/cinn/new_ir_compiler_test.cc index 622a7df85d3eb1591d89f2c95819fd89c2a18480..04c167e0d100fc0791001710b039c28a5fc05f04 100644 --- a/test/cpp/ir/cinn/new_ir_compiler_test.cc +++ b/test/cpp/ir/cinn/new_ir_compiler_test.cc @@ -19,8 +19,8 @@ #include #include -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" #include "paddle/ir/core/ir_context.h" #include "paddle/ir/core/program.h" diff --git a/test/cpp/ir/core/CMakeLists.txt b/test/cpp/ir/core/CMakeLists.txt index bac2ed3d2523cc5184e8e3965aef9e09a79083f6..b1ff16025714d2eb982f76c4a26fdfc02271b452 100644 --- a/test/cpp/ir/core/CMakeLists.txt +++ b/test/cpp/ir/core/CMakeLists.txt @@ -1,4 +1,11 @@ -cc_test_old(type_test SRCS type_test.cc DEPS ir gtest) +cc_test_old( + type_test + SRCS + type_test.cc + DEPS + ir + gtest + pd_dialect) cc_test_old(ir_attribute_test SRCS ir_attribute_test.cc DEPS ir gtest) cc_test_old(ir_value_test SRCS ir_value_test.cc DEPS ir gtest) cc_test_old(ir_op_test SRCS ir_op_test.cc DEPS ir gtest) @@ -32,6 +39,7 @@ cc_test_old( pd_op_to_kernel_pass program_translator pd_dialect + pd_kernel_dialect phi_kernel_adaptor ir phi diff --git a/test/cpp/ir/core/ir_exe_test.cc b/test/cpp/ir/core/ir_exe_test.cc index ee10a75e1184f789c2fa983597975f92aa360992..e36c99fb2e4b1d8168f75cc36b2616c8dbd8b57d 100644 --- a/test/cpp/ir/core/ir_exe_test.cc +++ b/test/cpp/ir/core/ir_exe_test.cc @@ -14,11 +14,11 @@ #include -#include "paddle/fluid/ir/dialect/op_yaml_info_util.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/utils.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_util.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" #include "paddle/ir/core/builtin_attribute.h" #include "paddle/ir/core/builtin_dialect.h" #include "paddle/ir/core/builtin_op.h" @@ -40,7 +40,7 @@ #include "paddle/fluid/platform/init.h" -#include "paddle/fluid/ir/dialect/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" #include "paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_adaptor.h" #include "paddle/fluid/ir/transforms/pd_op_to_kernel_pass.h" diff --git a/test/cpp/ir/core/ir_infershape_test.cc b/test/cpp/ir/core/ir_infershape_test.cc index b3877bf860452f6beb2226563d4f1045037e8006..e39a69ac573f932d7d4605b9e49ff5190f6d4507 100644 --- a/test/cpp/ir/core/ir_infershape_test.cc +++ b/test/cpp/ir/core/ir_infershape_test.cc @@ -32,7 +32,7 @@ #include "paddle/phi/core/kernel_context.h" #include "paddle/phi/core/kernel_factory.h" -#include "paddle/fluid/ir/interface/infermeta.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/infermeta.h" #include "paddle/fluid/platform/init.h" #include "paddle/phi/core/infermeta_utils.h" #include "paddle/phi/infermeta/nullary.h" diff --git a/test/cpp/ir/core/ir_program_test.cc b/test/cpp/ir/core/ir_program_test.cc index ee5afc66863b853379e9d939f047a17cff40d4cc..dcc81e9c517827b3a31cf8c449f495d3377c4a2c 100644 --- a/test/cpp/ir/core/ir_program_test.cc +++ b/test/cpp/ir/core/ir_program_test.cc @@ -14,10 +14,10 @@ #include -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/utils.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" #include "paddle/ir/core/block.h" #include "paddle/ir/core/builtin_attribute.h" #include "paddle/ir/core/builtin_dialect.h" @@ -30,7 +30,8 @@ #include "paddle/phi/kernels/elementwise_add_kernel.h" // NOTE(zhangbo9674): File pd_op.h is generated by op_gen.py, see details in // paddle/fluid/ir/dialect/CMakeLists.txt. -#include "paddle/fluid/ir/dialect/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/transforms/param_to_variable.h" class AddOp : public ir::Op { public: diff --git a/test/cpp/ir/core/ir_type_converter_test.cc b/test/cpp/ir/core/ir_type_converter_test.cc index 26f4cde5891719d983d7e24b061154661a1a9a7e..4370d79d5b6d5c528db152db6fca11b04031a8b7 100644 --- a/test/cpp/ir/core/ir_type_converter_test.cc +++ b/test/cpp/ir/core/ir_type_converter_test.cc @@ -18,7 +18,7 @@ #include "paddle/fluid/framework/convert_utils.h" #include "paddle/fluid/framework/data_type.h" #include "paddle/fluid/framework/var_desc.h" -#include "paddle/fluid/ir/dialect/utils.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" #include "paddle/fluid/ir_adaptor/translator/type_translator.h" #include "paddle/ir/core/builtin_dialect.h" #include "paddle/ir/core/builtin_type.h" diff --git a/test/cpp/ir/core/op_yaml_info_parser_test.cc b/test/cpp/ir/core/op_yaml_info_parser_test.cc index 25c914612d8bef6bda6caebd93ae30d3b282b625..3abdf0a72cd30bc8cc343aca331b53e9a84325ca 100644 --- a/test/cpp/ir/core/op_yaml_info_parser_test.cc +++ b/test/cpp/ir/core/op_yaml_info_parser_test.cc @@ -14,22 +14,22 @@ #include -#include "paddle/fluid/ir/dialect/pd_attribute.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/interface/op_yaml_info_parser.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/op_yaml_info_parser.h" #include "paddle/ir/core/builder.h" #include "paddle/ir/core/ir_context.h" #include "paddle/ir/core/program.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" #include "paddle/ir/core/builtin_attribute.h" #include "paddle/ir/core/builtin_dialect.h" #include "paddle/ir/core/builtin_op.h" #include "paddle/ir/core/utils.h" -#include "paddle/fluid/ir/dialect/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" TEST(ir_op_info_test, op_op_info_test) { ir::IrContext* ctx = ir::IrContext::Instance(); diff --git a/test/cpp/ir/core/program_translator_test.cc b/test/cpp/ir/core/program_translator_test.cc index 50b3623b4528ae8460f6a073082e2c5d90032a08..979953173f5a931ea6c764de62a03395dc2b3f74 100644 --- a/test/cpp/ir/core/program_translator_test.cc +++ b/test/cpp/ir/core/program_translator_test.cc @@ -22,7 +22,7 @@ #include "paddle/fluid/framework/framework.pb.h" #include "paddle/fluid/framework/operator.h" #include "paddle/fluid/framework/program_desc.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" #include "paddle/fluid/ir_adaptor/translator/translate.h" #include "paddle/ir/core/builtin_dialect.h" #include "paddle/ir/core/dialect.h" diff --git a/test/cpp/ir/core/scalar_attribute_test.cc b/test/cpp/ir/core/scalar_attribute_test.cc index 8dc3f8314ad2db231e9728f03576e607dd21afab..649d9cd0cd3d211b864614eee7317a385db7b2f0 100644 --- a/test/cpp/ir/core/scalar_attribute_test.cc +++ b/test/cpp/ir/core/scalar_attribute_test.cc @@ -14,7 +14,7 @@ #include -#include "paddle/fluid/ir/dialect/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" #include "paddle/ir/core/attribute.h" #include "paddle/ir/core/builtin_attribute.h" #include "paddle/ir/core/builtin_dialect.h" diff --git a/test/cpp/ir/core/type_test.cc b/test/cpp/ir/core/type_test.cc index 24bf92446c2a043a54b41bce7c1431dc57b90d0e..62d6d48941a30b1123a7e5dabe3cd30c723a9ebd 100644 --- a/test/cpp/ir/core/type_test.cc +++ b/test/cpp/ir/core/type_test.cc @@ -15,7 +15,7 @@ #include #include -#include "paddle/fluid/ir/dialect/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" #include "paddle/ir/core/builtin_dialect.h" #include "paddle/ir/core/builtin_type.h" #include "paddle/ir/core/dialect.h" diff --git a/test/cpp/ir/kernel_dialect/CMakeLists.txt b/test/cpp/ir/kernel_dialect/CMakeLists.txt index 0a9712c9bbd0ecc83942e9f9560834369bab9970..47aad616fd78395c871cad27ae1bf8c24f6da06a 100644 --- a/test/cpp/ir/kernel_dialect/CMakeLists.txt +++ b/test/cpp/ir/kernel_dialect/CMakeLists.txt @@ -5,7 +5,7 @@ cc_test_old( DEPS pd_op_to_kernel_pass program_translator - pd_dialect + pd_kernel_dialect phi_kernel_adaptor pd_trait ir diff --git a/test/cpp/ir/kernel_dialect/ir_kernel_dialect_pass_test.cc b/test/cpp/ir/kernel_dialect/ir_kernel_dialect_pass_test.cc index 3727ce4bd47edceec6818397784376d7e536e928..d76495b26c117e673ea01c2b3ba9a34bfa733295 100644 --- a/test/cpp/ir/kernel_dialect/ir_kernel_dialect_pass_test.cc +++ b/test/cpp/ir/kernel_dialect/ir_kernel_dialect_pass_test.cc @@ -19,13 +19,13 @@ #include "paddle/fluid/framework/tensor.h" #include "paddle/fluid/framework/variable.h" #include "paddle/fluid/framework/variable_helper.h" -#include "paddle/fluid/ir/dialect/kernel_dialect.h" -#include "paddle/fluid/ir/dialect/kernel_op.h" -#include "paddle/fluid/ir/dialect/pd_attribute.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/utils.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_kernel_dialect/ir/kernel_op.h" #include "paddle/fluid/ir/phi_kernel_adaptor/phi_kernel_adaptor.h" #include "paddle/fluid/ir/transforms/pd_op_to_kernel_pass.h" #include "paddle/fluid/platform/init.h" diff --git a/test/cpp/ir/pass/pass_manager_test.cc b/test/cpp/ir/pass/pass_manager_test.cc index c4aedeec847eba3ce1f8f17f48d6a143bf38f87e..38af7d7a3021fcb5d7b500ca5befdaf29f2b475e 100644 --- a/test/cpp/ir/pass/pass_manager_test.cc +++ b/test/cpp/ir/pass/pass_manager_test.cc @@ -17,12 +17,12 @@ // NOTE(zhangbo9674): File pd_op.h is generated by op_gen.py, see details in // paddle/fluid/ir/dialect/CMakeLists.txt. -#include "paddle/fluid/ir/dialect/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/utils.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" #include "paddle/ir/core/builtin_dialect.h" #include "paddle/ir/core/builtin_op.h" #include "paddle/ir/core/builtin_type.h" diff --git a/test/cpp/ir/pattern_rewrite/pattern_rewrite_test.cc b/test/cpp/ir/pattern_rewrite/pattern_rewrite_test.cc index 6531b94fe3c33ea26425d5db105306e3d84cb043..9d92892053d2b77d7c51bb80b75e1204dac71ebb 100644 --- a/test/cpp/ir/pattern_rewrite/pattern_rewrite_test.cc +++ b/test/cpp/ir/pattern_rewrite/pattern_rewrite_test.cc @@ -20,7 +20,7 @@ #include #include -#include "paddle/fluid/ir/dialect/pd_attribute.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_attribute.h" #include "paddle/fluid/ir/transforms/constant_folding_pass.h" #include "paddle/fluid/ir/transforms/transform_general_functions.h" #include "paddle/ir/core/builder.h" @@ -46,15 +46,15 @@ // NOTE(zhangbo9674): File pd_op.h is generated by op_gen.py, see details in // paddle/fluid/ir/dialect/CMakeLists.txt. -#include "paddle/fluid/ir/dialect/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" #include "paddle/phi/core/ddim.h" // build Conv2dFusionOp -#include "paddle/fluid/ir/interface/infermeta.h" -#include "paddle/fluid/ir/interface/op_yaml_info.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/infermeta.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/interface/op_yaml_info.h" #include "paddle/ir/core/op_base.h" #include "paddle/phi/api/lib/utils/allocator.h" #include "paddle/phi/infermeta/multiary.h" diff --git a/test/cpp/new_executor/CMakeLists.txt b/test/cpp/new_executor/CMakeLists.txt index 463d6423c7fceec2fe63179650b287bbfdf51b2f..6ce941d701b4abab1529872a80c24c53463631fd 100644 --- a/test/cpp/new_executor/CMakeLists.txt +++ b/test/cpp/new_executor/CMakeLists.txt @@ -4,7 +4,7 @@ if(NOT WIN32) cc_test( standalone_executor_new_ir_test SRCS standalone_executor_new_ir_test.cc - DEPS phi_kernel_adaptor pd_dialect ir) + DEPS phi_kernel_adaptor pd_dialect pd_kernel_dialect ir) endif() set(OPS diff --git a/test/cpp/new_executor/standalone_executor_new_ir_test.cc b/test/cpp/new_executor/standalone_executor_new_ir_test.cc index c59ddd84aec87b203455ce6e56528eea650c4536..9ef1d7f3215fb7ef11e29a078b569b40be6a6783 100644 --- a/test/cpp/new_executor/standalone_executor_new_ir_test.cc +++ b/test/cpp/new_executor/standalone_executor_new_ir_test.cc @@ -23,14 +23,14 @@ #include "paddle/phi/core/kernel_registry.h" #include "paddle/fluid/framework/new_executor/new_ir_interpreter.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" #include "paddle/fluid/ir/transforms/pd_op_to_kernel_pass.h" #include "paddle/ir/core/builder.h" #include "paddle/ir/core/ir_context.h" #include "paddle/ir/core/program.h" -#include "paddle/fluid/ir/dialect/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" #include "paddle/fluid/platform/init_phi.h" diff --git a/test/cpp/prim/test_vjp.cc b/test/cpp/prim/test_vjp.cc index 7ceb38ffcbfb36bf580b0a94130044ee01b724a5..783de29b9ef75d9ac8c7a160b4b5b794d7fb0cb0 100644 --- a/test/cpp/prim/test_vjp.cc +++ b/test/cpp/prim/test_vjp.cc @@ -16,10 +16,11 @@ #include "paddle/fluid/framework/new_executor/new_ir_interpreter.h" #include "paddle/fluid/framework/new_executor/standalone_executor.h" -#include "paddle/fluid/ir/dialect/pd_dialect.h" -#include "paddle/fluid/ir/dialect/pd_op.h" -#include "paddle/fluid/ir/dialect/pd_type.h" -#include "paddle/fluid/ir/dialect/utils.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/api_builder.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_dialect.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_op.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/ir/pd_type.h" +#include "paddle/fluid/ir/dialect/paddle_dialect/utils/utils.h" #include "paddle/fluid/ir/transforms/pd_op_to_kernel_pass.h" #include "paddle/fluid/platform/init_phi.h" #include "paddle/ir/core/block.h"