diff --git a/lite/backends/npu/CMakeLists.txt b/lite/backends/npu/CMakeLists.txt index a98908a3bd26d768e70cae3e944d9bfcd26a9e10..370f620b919d9cdb7458a704b205951caf4bf8af 100644 --- a/lite/backends/npu/CMakeLists.txt +++ b/lite/backends/npu/CMakeLists.txt @@ -3,7 +3,3 @@ if(NOT LITE_WITH_NPU) endif() lite_cc_library(npu_runtime SRCS runtime.cc DEPS npu_ddk_hiai) - -if(NOT LITE_ON_TINY_PUBLISH) - add_subdirectory(bridge) -endif() diff --git a/lite/core/mir/subgraph/generate_npu_program_pass.cc b/lite/core/mir/subgraph/generate_npu_program_pass.cc index 5c297288e68117d8c0ffc2d97996560f3fdc6f9e..c47ab60d634672c9092cec83d4a7bfc74cf1a747 100644 --- a/lite/core/mir/subgraph/generate_npu_program_pass.cc +++ b/lite/core/mir/subgraph/generate_npu_program_pass.cc @@ -27,9 +27,9 @@ #include "ai_ddk_lib/include/graph/model.h" #include "ai_ddk_lib/include/graph/op/all_ops.h" // for ge::op::Data #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/paddle_use_npu_bridges.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/paddle_use_npu_bridges.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { @@ -51,7 +51,7 @@ std::shared_ptr GenerateNPUProgramPass::CvtVarNode( auto wgt = std::make_shared(arg.name); LOG(INFO) << "in convert const:" << arg.name; VLOG(4) << dims; - wgt->set_attr_value(lite::npu::bridge::CvtFromLiteTensor(tensor)); + wgt->set_attr_value(lite::kernels::npu::bridges::CvtFromLiteTensor(tensor)); return wgt; } else { CHECK_EQ(dims.size(), 4); @@ -74,13 +74,13 @@ std::shared_ptr GenerateNPUProgramPass::CvtVarNode( void GenerateNPUProgramPass::CvtAllOpNodes( const std::vector& nodes2cvt, - lite::npu::bridge::node_map_type* converted_vars) { - const auto& bridges = lite::npu::bridge::Factory::Instance(); + lite::kernels::npu::bridges::node_map_type* converted_vars) { + const auto& bridges = lite::kernels::npu::bridges::Factory::Instance(); const auto& cvtfunc_map = bridges.AllFunctions(); // return record all converted vars // op node's inputs must be found in converted_vars for (auto& node : nodes2cvt) { - lite::npu::bridge::node_map_type node_inputs; + lite::kernels::npu::bridges::node_map_type node_inputs; auto& stmt = node->AsStmt(); for (auto& var_node : node->inlinks) { auto& arg = var_node->AsArg(); @@ -106,7 +106,7 @@ std::string GenerateNPUProgramPass::BuildNPUGraph( const std::unordered_set& out_data_vars, int sub_id) { auto ordered_nodes = GetTopologicalOrder(op_nodes); - lite::npu::bridge::node_map_type converted_vars; + lite::kernels::npu::bridges::node_map_type converted_vars; CvtAllOpNodes(ordered_nodes, &converted_vars); std::vector in_var_names; @@ -132,7 +132,7 @@ std::string GenerateNPUProgramPass::BuildNPUGraph( // Compiling IR graph to NPU model and store mode data into weight tensor with // persistable=true, Sothat the model parser can recognize it and save it to // param files - if (!lite::npu::bridge::BuildModel(inputs, outputs, weight)) { + if (!lite::kernels::npu::bridges::BuildModel(inputs, outputs, weight)) { LOG(WARNING) << "Build NPU failed subgraph " << sub_id; throw std::runtime_error("Build NPU failed subgraph."); } @@ -172,7 +172,7 @@ void GenerateNPUProgramPass::GenNPUSubgraph( void GenerateNPUProgramPass::Apply(const std::unique_ptr& graph) { LOG(INFO) << "Before NPU Pass \n" << Visualize(graph.get()); - const auto& bridges = lite::npu::bridge::Factory::Instance(); + const auto& bridges = lite::kernels::npu::bridges::Factory::Instance(); const auto& op_map = bridges.AllFunctions(); std::vector supported_op_types; for (auto& i : op_map) { diff --git a/lite/core/mir/subgraph/generate_npu_program_pass.h b/lite/core/mir/subgraph/generate_npu_program_pass.h index 172e4805f325f80487cafec008098a8073bb90c0..be6b1aa24c8bf6ccab9bbdac198814350195b1b1 100644 --- a/lite/core/mir/subgraph/generate_npu_program_pass.h +++ b/lite/core/mir/subgraph/generate_npu_program_pass.h @@ -20,10 +20,10 @@ #include #include #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" #include "lite/core/mir/pass.h" #include "lite/core/mir/subgraph/subgraph_program_pass.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { @@ -41,7 +41,7 @@ class GenerateNPUProgramPass : public SubgraphProgramPass { // nodes2cvt: op nodes to convert // return cvted_vars: converted var nodes void CvtAllOpNodes(const std::vector& nodes2cvt, - lite::npu::bridge::node_map_type* cvted_vars); + lite::kernels::npu::bridges::node_map_type* cvted_vars); std::shared_ptr CvtVarNode(lite::mir::Node* var_node, const Scope* scope); diff --git a/lite/kernels/npu/CMakeLists.txt b/lite/kernels/npu/CMakeLists.txt index 111bd04dc895e07bbcf2a80c94f93e0f5c69fbcb..eb1824e1112beec57d93d63a2464fed94fab81c9 100644 --- a/lite/kernels/npu/CMakeLists.txt +++ b/lite/kernels/npu/CMakeLists.txt @@ -7,3 +7,7 @@ message(STATUS "compile with lite NPU kernels") add_kernel(graph_compute_npu NPU basic SRCS graph_compute.cc DEPS ${lite_kernel_deps} npu_runtime) # lite_cc_test(test_graph_compute_npu SRCS graph_compute_test.cc DEPS graph_compute_npu) + +if(NOT LITE_ON_TINY_PUBLISH) + add_subdirectory(bridges) +endif() diff --git a/lite/backends/npu/bridge/CMakeLists.txt b/lite/kernels/npu/bridges/CMakeLists.txt similarity index 100% rename from lite/backends/npu/bridge/CMakeLists.txt rename to lite/kernels/npu/bridges/CMakeLists.txt diff --git a/lite/backends/npu/bridge/act_op.cc b/lite/kernels/npu/bridges/act_op.cc similarity index 74% rename from lite/backends/npu/bridge/act_op.cc rename to lite/kernels/npu/bridges/act_op.cc index a301fc59a2f7a1dbb85126730a604a2b9b4e442e..1e8500ef28eed25cd8514846b98e7ebfacb946a2 100644 --- a/lite/backends/npu/bridge/act_op.cc +++ b/lite/kernels/npu/bridges/act_op.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type ActConverter(const std::shared_ptr act_op, const node_map_type& inputs_map) { @@ -72,16 +73,20 @@ node_map_type ActConverter(const std::shared_ptr act_op, return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(sigmod, paddle::lite::npu::bridge::ActConverter); -REGISTER_NPU_BRIDGE(relu, paddle::lite::npu::bridge::ActConverter); -REGISTER_NPU_BRIDGE(tanh, paddle::lite::npu::bridge::ActConverter); -REGISTER_NPU_BRIDGE(elu, paddle::lite::npu::bridge::ActConverter); -REGISTER_NPU_BRIDGE(abs, paddle::lite::npu::bridge::ActConverter); -REGISTER_NPU_BRIDGE(softsign, paddle::lite::npu::bridge::ActConverter); -REGISTER_NPU_BRIDGE(softplus, paddle::lite::npu::bridge::ActConverter); -REGISTER_NPU_BRIDGE(hardsigmoid, paddle::lite::npu::bridge::ActConverter); +REGISTER_NPU_BRIDGE(sigmod, paddle::lite::kernels::npu::bridges::ActConverter); +REGISTER_NPU_BRIDGE(relu, paddle::lite::kernels::npu::bridges::ActConverter); +REGISTER_NPU_BRIDGE(tanh, paddle::lite::kernels::npu::bridges::ActConverter); +REGISTER_NPU_BRIDGE(elu, paddle::lite::kernels::npu::bridges::ActConverter); +REGISTER_NPU_BRIDGE(abs, paddle::lite::kernels::npu::bridges::ActConverter); +REGISTER_NPU_BRIDGE(softsign, + paddle::lite::kernels::npu::bridges::ActConverter); +REGISTER_NPU_BRIDGE(softplus, + paddle::lite::kernels::npu::bridges::ActConverter); +REGISTER_NPU_BRIDGE(hardsigmoid, + paddle::lite::kernels::npu::bridges::ActConverter); diff --git a/lite/backends/npu/bridge/act_op_test.cc b/lite/kernels/npu/bridges/act_op_test.cc similarity index 94% rename from lite/backends/npu/bridge/act_op_test.cc rename to lite/kernels/npu/bridges/act_op_test.cc index edbfbb416f1ae1798d885e22b9438e05f7e8f3d4..420de655dcdfb2069948399525bc4a8a561d0fd5 100644 --- a/lite/backends/npu/bridge/act_op_test.cc +++ b/lite/kernels/npu/bridges/act_op_test.cc @@ -14,15 +14,16 @@ #include #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" #include "lite/operators/relu_op.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { void relu_ref(const std::shared_ptr op) { Scope* scope = op->scope(); @@ -91,8 +92,9 @@ TEST(NPUBridges, relu) { } } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/batch_norm_op.cc b/lite/kernels/npu/bridges/batch_norm_op.cc similarity index 92% rename from lite/backends/npu/bridge/batch_norm_op.cc rename to lite/kernels/npu/bridges/batch_norm_op.cc index 8a38abd88455423ea47b80e3265d5d5529429d42..9f3a506d764eb9a635f46e30715b00e17b62d572 100644 --- a/lite/backends/npu/bridge/batch_norm_op.cc +++ b/lite/kernels/npu/bridges/batch_norm_op.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type BatchNormConverter( const std::shared_ptr batch_norm_op, @@ -87,9 +88,11 @@ node_map_type BatchNormConverter( return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(batch_norm, paddle::lite::npu::bridge::BatchNormConverter); +REGISTER_NPU_BRIDGE(batch_norm, + paddle::lite::kernels::npu::bridges::BatchNormConverter); diff --git a/lite/backends/npu/bridge/batch_norm_op_test.cc b/lite/kernels/npu/bridges/batch_norm_op_test.cc similarity index 96% rename from lite/backends/npu/bridge/batch_norm_op_test.cc rename to lite/kernels/npu/bridges/batch_norm_op_test.cc index ec5898f6c8299dc0068391431af60b9f075cc55c..38a876efb7c8ca6c38dee44e3c7a29a141d995d4 100644 --- a/lite/backends/npu/bridge/batch_norm_op_test.cc +++ b/lite/kernels/npu/bridges/batch_norm_op_test.cc @@ -14,14 +14,15 @@ #include "lite/operators/batch_norm_op.h" #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { template void batch_norm_ref(const std::shared_ptr op) { @@ -157,8 +158,9 @@ TEST(NPUBridges, batch_norm) { } } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/concat_op.cc b/lite/kernels/npu/bridges/concat_op.cc similarity index 89% rename from lite/backends/npu/bridge/concat_op.cc rename to lite/kernels/npu/bridges/concat_op.cc index 1d4575db615a331fb427298c28385d6625d30ff5..9684031ac777cc524b5324d07e7a54ce9d954453 100644 --- a/lite/backends/npu/bridge/concat_op.cc +++ b/lite/kernels/npu/bridges/concat_op.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type ConcatConverter(const std::shared_ptr concat_op, const node_map_type& inputs_map) { @@ -64,9 +65,11 @@ node_map_type ConcatConverter(const std::shared_ptr concat_op, return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(concat, paddle::lite::npu::bridge::ConcatConverter); +REGISTER_NPU_BRIDGE(concat, + paddle::lite::kernels::npu::bridges::ConcatConverter); diff --git a/lite/backends/npu/bridge/concat_op_test.cc b/lite/kernels/npu/bridges/concat_op_test.cc similarity index 95% rename from lite/backends/npu/bridge/concat_op_test.cc rename to lite/kernels/npu/bridges/concat_op_test.cc index f1bf3101b2dfd6ad363496cb442634ce63e2aa8e..f870bb0e7e2c0e7d854d152a0067bf657c19ada7 100644 --- a/lite/backends/npu/bridge/concat_op_test.cc +++ b/lite/kernels/npu/bridges/concat_op_test.cc @@ -15,14 +15,15 @@ #include "lite/operators/concat_op.h" #include #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { std::vector stride_numel(const DDim& ddim) { std::vector strides(ddim.size()); @@ -119,8 +120,9 @@ TEST(NPUBridges, concat) { test_concat({{3, 3, 5, 2}, {3, 3, 5, 6}}, 3); } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/conv_op.cc b/lite/kernels/npu/bridges/conv_op.cc similarity index 96% rename from lite/backends/npu/bridge/conv_op.cc rename to lite/kernels/npu/bridges/conv_op.cc index bbc27f9cfb0b7700927d277504f5cd24bccbfda7..db1f72ed69d5a9ce73625308fbac7fcb54cc137f 100644 --- a/lite/backends/npu/bridge/conv_op.cc +++ b/lite/kernels/npu/bridges/conv_op.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type ConvConverter(const std::shared_ptr conv_op, const node_map_type& inputs_map) { @@ -206,10 +207,12 @@ node_map_type ConvConverter(const std::shared_ptr conv_op, return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(conv2d, paddle::lite::npu::bridge::ConvConverter); -REGISTER_NPU_BRIDGE(depthwise_conv2d, paddle::lite::npu::bridge::ConvConverter); +REGISTER_NPU_BRIDGE(conv2d, paddle::lite::kernels::npu::bridges::ConvConverter); +REGISTER_NPU_BRIDGE(depthwise_conv2d, + paddle::lite::kernels::npu::bridges::ConvConverter); diff --git a/lite/backends/npu/bridge/conv_op_test.cc b/lite/kernels/npu/bridges/conv_op_test.cc similarity index 98% rename from lite/backends/npu/bridge/conv_op_test.cc rename to lite/kernels/npu/bridges/conv_op_test.cc index 27e1226eaf471ca8ec8c5a9100cbed09070aa83e..26309aa9e27a1f0a5f6093b44242434d9e29a173 100644 --- a/lite/backends/npu/bridge/conv_op_test.cc +++ b/lite/kernels/npu/bridges/conv_op_test.cc @@ -15,14 +15,15 @@ #include "lite/operators/conv_op.h" #include #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { void conv_ref(const std::shared_ptr op) { Scope* scope = op->scope(); @@ -268,8 +269,9 @@ TEST(NPUBridges, conv) { #endif } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/conv_transpose_op.cc b/lite/kernels/npu/bridges/conv_transpose_op.cc similarity index 95% rename from lite/backends/npu/bridge/conv_transpose_op.cc rename to lite/kernels/npu/bridges/conv_transpose_op.cc index 6b62a29708056f93dda1d404b4843a764c058a58..21e3c73d324a45a4bebea23368eae3542f7a5ab6 100644 --- a/lite/backends/npu/bridge/conv_transpose_op.cc +++ b/lite/kernels/npu/bridges/conv_transpose_op.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type ConvTransposeConverter( const std::shared_ptr conv_transpose_op, @@ -136,10 +137,12 @@ node_map_type ConvTransposeConverter( return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(conv2d_transpose, - paddle::lite::npu::bridge::ConvTransposeConverter); +REGISTER_NPU_BRIDGE( + conv2d_transpose, + paddle::lite::kernels::npu::bridges::ConvTransposeConverter); diff --git a/lite/backends/npu/bridge/conv_transpose_op_test.cc b/lite/kernels/npu/bridges/conv_transpose_op_test.cc similarity index 98% rename from lite/backends/npu/bridge/conv_transpose_op_test.cc rename to lite/kernels/npu/bridges/conv_transpose_op_test.cc index 02e3c7a1ce1a963474db1aa38ccf743f966cbab0..a009ef588e1ddf9561f895e977fbb08a98b2d51b 100644 --- a/lite/backends/npu/bridge/conv_transpose_op_test.cc +++ b/lite/kernels/npu/bridges/conv_transpose_op_test.cc @@ -15,14 +15,15 @@ #include "lite/operators/conv_transpose_op.h" #include #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { template void add_bias_with_relu(DType* data, @@ -360,8 +361,9 @@ TEST(NPUBridges, conv_transpose) { #endif } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/elementwise_ops.cc b/lite/kernels/npu/bridges/elementwise_ops.cc similarity index 90% rename from lite/backends/npu/bridge/elementwise_ops.cc rename to lite/kernels/npu/bridges/elementwise_ops.cc index 0f8da458aeef975ec4509ee769b5453a7093d7eb..e42a933e0972041eb835c8435188db2d47c77180 100644 --- a/lite/backends/npu/bridge/elementwise_ops.cc +++ b/lite/kernels/npu/bridges/elementwise_ops.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type ElementwiseConverter( const std::shared_ptr elementwise_op, @@ -69,10 +70,11 @@ node_map_type ElementwiseConverter( return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle REGISTER_NPU_BRIDGE(elementwise_add, - paddle::lite::npu::bridge::ElementwiseConverter); + paddle::lite::kernels::npu::bridges::ElementwiseConverter); diff --git a/lite/backends/npu/bridge/elementwise_ops_test.cc b/lite/kernels/npu/bridges/elementwise_ops_test.cc similarity index 96% rename from lite/backends/npu/bridge/elementwise_ops_test.cc rename to lite/kernels/npu/bridges/elementwise_ops_test.cc index ff82daec100278be6e577c8efcef3995095adb9f..0e2fc9f2622d839c8eda6f82aab2759053b3e23d 100644 --- a/lite/backends/npu/bridge/elementwise_ops_test.cc +++ b/lite/kernels/npu/bridges/elementwise_ops_test.cc @@ -15,14 +15,15 @@ #include "lite/operators/elementwise_ops.h" #include #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { template void elementwise_add_ref(const std::shared_ptr op) { @@ -173,8 +174,9 @@ TEST(NPUBridges, elementwise_add) { } } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/fc_op.cc b/lite/kernels/npu/bridges/fc_op.cc similarity index 94% rename from lite/backends/npu/bridge/fc_op.cc rename to lite/kernels/npu/bridges/fc_op.cc index 7e4315091f20db8ca2e08cf0490d1c721d6b9bfa..b96d62fd27cd2d40938d6396df7276fa8c64b377 100644 --- a/lite/backends/npu/bridge/fc_op.cc +++ b/lite/kernels/npu/bridges/fc_op.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type FCConverter(const std::shared_ptr fc_op, const node_map_type& inputs_map) { @@ -110,9 +111,10 @@ node_map_type FCConverter(const std::shared_ptr fc_op, return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(fc, paddle::lite::npu::bridge::FCConverter); +REGISTER_NPU_BRIDGE(fc, paddle::lite::kernels::npu::bridges::FCConverter); diff --git a/lite/backends/npu/bridge/fc_op_test.cc b/lite/kernels/npu/bridges/fc_op_test.cc similarity index 94% rename from lite/backends/npu/bridge/fc_op_test.cc rename to lite/kernels/npu/bridges/fc_op_test.cc index 5c005a3e63edc702a16979fcf8ee0d10acf6b949..92936dc6bfdb73df104e93b213f26ac6eedcd4b1 100644 --- a/lite/backends/npu/bridge/fc_op_test.cc +++ b/lite/kernels/npu/bridges/fc_op_test.cc @@ -14,14 +14,15 @@ #include "lite/operators/fc_op.h" #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { void fc_ref(const std::shared_ptr op) { Scope* scope = op->scope(); @@ -73,7 +74,7 @@ void test_fc(const std::vector& input_shape, bool has_bias) { CHECK_EQ(w_shape.size(), 2UL); - const auto& bridges = lite::npu::bridge::Factory::Instance(); + const auto& bridges = lite::kernels::npu::bridges::Factory::Instance(); const auto& supported_lists = bridges.AllFunctions(); CHECK(bridges.HasType("fc")); @@ -128,8 +129,9 @@ TEST(NPUBridges, fc) { } } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/interpolate_op.cc b/lite/kernels/npu/bridges/interpolate_op.cc similarity index 94% rename from lite/backends/npu/bridge/interpolate_op.cc rename to lite/kernels/npu/bridges/interpolate_op.cc index 83cae61e3f895e49638d5ee75e4c98a1503e626d..8f3e20b023621ab3a1257a7e92686ca32bcdade2 100644 --- a/lite/backends/npu/bridge/interpolate_op.cc +++ b/lite/kernels/npu/bridges/interpolate_op.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type InterpolateConverter( const std::shared_ptr interpolate_op, @@ -132,12 +133,13 @@ node_map_type InterpolateConverter( return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle REGISTER_NPU_BRIDGE(bilinear_interp, - paddle::lite::npu::bridge::InterpolateConverter); + paddle::lite::kernels::npu::bridges::InterpolateConverter); REGISTER_NPU_BRIDGE(nearest_interp, - paddle::lite::npu::bridge::InterpolateConverter); + paddle::lite::kernels::npu::bridges::InterpolateConverter); diff --git a/lite/backends/npu/bridge/interpolate_op_test.cc b/lite/kernels/npu/bridges/interpolate_op_test.cc similarity index 98% rename from lite/backends/npu/bridge/interpolate_op_test.cc rename to lite/kernels/npu/bridges/interpolate_op_test.cc index 79dd612c59c51287710ee239ed069bc27752c488..c061fbfe5ff2741bff0ca7427519a37e14606899 100644 --- a/lite/backends/npu/bridge/interpolate_op_test.cc +++ b/lite/kernels/npu/bridges/interpolate_op_test.cc @@ -15,14 +15,15 @@ #include "lite/operators/interpolate_op.h" #include #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { template void bilinear_interp_ref(const std::shared_ptr op) { @@ -393,8 +394,9 @@ TEST(NPUBridges, bilinear_interp) { #endif } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/mul_op.cc b/lite/kernels/npu/bridges/mul_op.cc similarity index 94% rename from lite/backends/npu/bridge/mul_op.cc rename to lite/kernels/npu/bridges/mul_op.cc index e186f040029aa9fdc3e33914802de5bf936ebb46..f22c0d611da90a230fbe070ea880a23994fbebfd 100644 --- a/lite/backends/npu/bridge/mul_op.cc +++ b/lite/kernels/npu/bridges/mul_op.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { // Note: inputs_map the var_name contains only the data, the weight should be // handle in this converter @@ -112,9 +113,10 @@ node_map_type MulConverter(const std::shared_ptr mul_op, return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(mul, paddle::lite::npu::bridge::MulConverter); +REGISTER_NPU_BRIDGE(mul, paddle::lite::kernels::npu::bridges::MulConverter); diff --git a/lite/backends/npu/bridge/mul_op_test.cc b/lite/kernels/npu/bridges/mul_op_test.cc similarity index 93% rename from lite/backends/npu/bridge/mul_op_test.cc rename to lite/kernels/npu/bridges/mul_op_test.cc index a9fb5a6da8eb2cce52a882f17f0900d75f31200c..9bcd72bb35b7bf5de19d880f4ad535fec8e480fa 100644 --- a/lite/backends/npu/bridge/mul_op_test.cc +++ b/lite/kernels/npu/bridges/mul_op_test.cc @@ -14,14 +14,15 @@ #include "lite/operators/mul_op.h" #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { void mul_ref(const std::shared_ptr op) { Scope* scope = op->scope(); @@ -55,7 +56,7 @@ void test_mul(const std::vector& x_shape, const std::vector& y_shape, int x_num_col_dims, int y_num_col_dims) { - const auto& bridges = lite::npu::bridge::Factory::Instance(); + const auto& bridges = lite::kernels::npu::bridges::Factory::Instance(); const auto& supported_lists = bridges.AllFunctions(); CHECK(bridges.HasType("mul")); @@ -103,8 +104,9 @@ TEST(NPUBridges, mul) { test_mul({1, 4, 1, 1}, {4, 8}, 1, 1); } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/pad2d_op.cc b/lite/kernels/npu/bridges/pad2d_op.cc similarity index 92% rename from lite/backends/npu/bridge/pad2d_op.cc rename to lite/kernels/npu/bridges/pad2d_op.cc index 2c67383c0c9733265202df2ef3f0a1432701cb1a..a8eefbbc9e688183d065c7e13961b79edfa85d77 100644 --- a/lite/backends/npu/bridge/pad2d_op.cc +++ b/lite/kernels/npu/bridges/pad2d_op.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type Pad2dConverter(const std::shared_ptr pad2d_op, const node_map_type& inputs_map) { @@ -78,9 +79,10 @@ node_map_type Pad2dConverter(const std::shared_ptr pad2d_op, return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(pad2d, paddle::lite::npu::bridge::Pad2dConverter); +REGISTER_NPU_BRIDGE(pad2d, paddle::lite::kernels::npu::bridges::Pad2dConverter); diff --git a/lite/backends/npu/bridge/pad2d_op_test.cc b/lite/kernels/npu/bridges/pad2d_op_test.cc similarity index 97% rename from lite/backends/npu/bridge/pad2d_op_test.cc rename to lite/kernels/npu/bridges/pad2d_op_test.cc index 7a10e0a5592997ba972f9a8d7d59a5de7287830b..db39deb2e98bfae2c220b8addc0c18f105fd2c9c 100644 --- a/lite/backends/npu/bridge/pad2d_op_test.cc +++ b/lite/kernels/npu/bridges/pad2d_op_test.cc @@ -14,14 +14,15 @@ #include "lite/operators/pad2d_op.h" #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { template void pad2d_ref(const std::shared_ptr op) { @@ -180,8 +181,9 @@ TEST(NPUBridges, pad2d) { #endif } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/paddle_use_npu_bridges.h b/lite/kernels/npu/bridges/paddle_use_npu_bridges.h similarity index 96% rename from lite/backends/npu/bridge/paddle_use_npu_bridges.h rename to lite/kernels/npu/bridges/paddle_use_npu_bridges.h index 404d0039540ae8c37012cb081f22777358d41080..631f6f1499538ae35662a58980b7418e25585669 100644 --- a/lite/backends/npu/bridge/paddle_use_npu_bridges.h +++ b/lite/kernels/npu/bridges/paddle_use_npu_bridges.h @@ -14,7 +14,7 @@ #pragma once -#include "lite/backends/npu/bridge/registry.h" +#include "lite/kernels/npu/bridges/registry.h" USE_NPU_BRIDGE(mul); USE_NPU_BRIDGE(fc); diff --git a/lite/backends/npu/bridge/pool_op.cc b/lite/kernels/npu/bridges/pool_op.cc similarity index 92% rename from lite/backends/npu/bridge/pool_op.cc rename to lite/kernels/npu/bridges/pool_op.cc index 43a60c1bb353312ef451ff71e8fa5c6cd0210a95..e4d6658432d8fbf6c7dc30ecc305b74b9bf81393 100644 --- a/lite/backends/npu/bridge/pool_op.cc +++ b/lite/kernels/npu/bridges/pool_op.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type PoolConverter(const std::shared_ptr pool_op, const node_map_type& inputs_map) { @@ -80,9 +81,10 @@ node_map_type PoolConverter(const std::shared_ptr pool_op, return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(pool2d, paddle::lite::npu::bridge::PoolConverter); +REGISTER_NPU_BRIDGE(pool2d, paddle::lite::kernels::npu::bridges::PoolConverter); diff --git a/lite/backends/npu/bridge/pool_op_test.cc b/lite/kernels/npu/bridges/pool_op_test.cc similarity index 97% rename from lite/backends/npu/bridge/pool_op_test.cc rename to lite/kernels/npu/bridges/pool_op_test.cc index 86ad89308489fb1459f4e3c436753758cc612683..d4543a6ae128a0c534b216e42c6f3488a1dbfbf9 100644 --- a/lite/backends/npu/bridge/pool_op_test.cc +++ b/lite/kernels/npu/bridges/pool_op_test.cc @@ -15,14 +15,15 @@ #include "lite/operators/pool_op.h" #include #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { void pool_ref(const std::shared_ptr op) { Scope* scope = op->scope(); @@ -240,8 +241,9 @@ TEST(NPUBridges, pool) { } } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/registry.cc b/lite/kernels/npu/bridges/registry.cc similarity index 88% rename from lite/backends/npu/bridge/registry.cc rename to lite/kernels/npu/bridges/registry.cc index 180e0aa46eb55ab74498bc3e58990bc7f0767072..ead7567f41d5bb5e8c7e0f70cd9ec7f3542e196b 100644 --- a/lite/backends/npu/bridge/registry.cc +++ b/lite/kernels/npu/bridges/registry.cc @@ -12,13 +12,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "lite/backends/npu/bridge/registry.h" +#include "lite/kernels/npu/bridges/registry.h" #include namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { Factory& Factory::Instance() { static Factory g_npu_bridge; @@ -33,7 +34,8 @@ void Factory::Insert(const std::string& op_type, const func_type& func_name) { map_.insert(std::make_pair(op_type, func_name)); } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/registry.h b/lite/kernels/npu/bridges/registry.h similarity index 92% rename from lite/backends/npu/bridge/registry.h rename to lite/kernels/npu/bridges/registry.h index 979760c816e9ef24200eb9a1cde8e691d6ee12f7..efbf2461c0c7e9f79b7e053bdf082f243f5d3033 100644 --- a/lite/backends/npu/bridge/registry.h +++ b/lite/kernels/npu/bridges/registry.h @@ -25,8 +25,9 @@ namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { // var_name, npu node point using node_map_type = @@ -49,8 +50,9 @@ class Factory { DISALLOW_COPY_AND_ASSIGN(Factory); }; -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle @@ -73,8 +75,8 @@ class Factory { __reg_npu_bridge_##op_type##__, \ "REGISTER_NPU_BRIDGE must be called in global namespace only once!"); \ int __reg_npu_bridge_##op_type##_Insert() { \ - paddle::lite::npu::bridge::Factory::Instance().Insert(#op_type, \ - cvt_func_name); \ + paddle::lite::kernels::npu::bridges::Factory::Instance().Insert( \ + #op_type, cvt_func_name); \ return 0; \ } diff --git a/lite/backends/npu/bridge/reshape_op.cc b/lite/kernels/npu/bridges/reshape_op.cc similarity index 92% rename from lite/backends/npu/bridge/reshape_op.cc rename to lite/kernels/npu/bridges/reshape_op.cc index af160f9c72d68219979a54bac203b743de733786..081c49a30393ffa333e08676cc8a123307455180 100644 --- a/lite/backends/npu/bridge/reshape_op.cc +++ b/lite/kernels/npu/bridges/reshape_op.cc @@ -19,13 +19,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type ReshapeConverter(const std::shared_ptr reshape_op, const node_map_type& inputs_map) { @@ -112,10 +113,13 @@ node_map_type ReshapeConverter(const std::shared_ptr reshape_op, return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(reshape, paddle::lite::npu::bridge::ReshapeConverter); -REGISTER_NPU_BRIDGE(reshape2, paddle::lite::npu::bridge::ReshapeConverter); +REGISTER_NPU_BRIDGE(reshape, + paddle::lite::kernels::npu::bridges::ReshapeConverter); +REGISTER_NPU_BRIDGE(reshape2, + paddle::lite::kernels::npu::bridges::ReshapeConverter); diff --git a/lite/backends/npu/bridge/reshape_op_test.cc b/lite/kernels/npu/bridges/reshape_op_test.cc similarity index 97% rename from lite/backends/npu/bridge/reshape_op_test.cc rename to lite/kernels/npu/bridges/reshape_op_test.cc index 4a75961fdf9c62192d4637f783ff07eff5783a30..d675b5cac2bc8975e6ed9f8521a700f579d0e2b7 100644 --- a/lite/backends/npu/bridge/reshape_op_test.cc +++ b/lite/kernels/npu/bridges/reshape_op_test.cc @@ -15,14 +15,15 @@ #include "lite/operators/reshape_op.h" #include #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { void reshape_ref(const std::shared_ptr op) { auto scope = op->scope(); @@ -190,8 +191,9 @@ TEST(NPUBridges, reshape) { #endif } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/scale_op.cc b/lite/kernels/npu/bridges/scale_op.cc similarity index 92% rename from lite/backends/npu/bridge/scale_op.cc rename to lite/kernels/npu/bridges/scale_op.cc index da8924f60ab481fba84a5dc5548272e90876ac93..af45e6102b83b9f2e30c98d461a71488f8cd3d13 100644 --- a/lite/backends/npu/bridge/scale_op.cc +++ b/lite/kernels/npu/bridges/scale_op.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type ScaleConverter(const std::shared_ptr scale_op, const node_map_type& inputs_map) { @@ -80,9 +81,10 @@ node_map_type ScaleConverter(const std::shared_ptr scale_op, return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(scale, paddle::lite::npu::bridge::ScaleConverter); +REGISTER_NPU_BRIDGE(scale, paddle::lite::kernels::npu::bridges::ScaleConverter); diff --git a/lite/backends/npu/bridge/scale_op_test.cc b/lite/kernels/npu/bridges/scale_op_test.cc similarity index 95% rename from lite/backends/npu/bridge/scale_op_test.cc rename to lite/kernels/npu/bridges/scale_op_test.cc index f4a241c8d915d39abeaaf3a84ae53e89de162210..e3a75059030e27f547456c8a3ae85fbab40eb419 100644 --- a/lite/backends/npu/bridge/scale_op_test.cc +++ b/lite/kernels/npu/bridges/scale_op_test.cc @@ -15,14 +15,15 @@ #include "lite/operators/scale_op.h" #include #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { void scale_ref(const std::shared_ptr op) { Scope* scope = op->scope(); @@ -114,8 +115,9 @@ TEST(NPUBridges, scale) { } } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/shuffle_channel_op.cc b/lite/kernels/npu/bridges/shuffle_channel_op.cc similarity index 86% rename from lite/backends/npu/bridge/shuffle_channel_op.cc rename to lite/kernels/npu/bridges/shuffle_channel_op.cc index 6f898007c7807ad7f4dadd53bef03ebb84b8aa4d..5c95fd53d53ab6d95e8e0f85edb54fa5b48bd637 100644 --- a/lite/backends/npu/bridge/shuffle_channel_op.cc +++ b/lite/kernels/npu/bridges/shuffle_channel_op.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type ShuffleChannelConverter( const std::shared_ptr shuffle_channel_op, @@ -50,10 +51,12 @@ node_map_type ShuffleChannelConverter( return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(shuffle_channel, - paddle::lite::npu::bridge::ShuffleChannelConverter); +REGISTER_NPU_BRIDGE( + shuffle_channel, + paddle::lite::kernels::npu::bridges::ShuffleChannelConverter); diff --git a/lite/backends/npu/bridge/shuffle_channel_op_test.cc b/lite/kernels/npu/bridges/shuffle_channel_op_test.cc similarity index 95% rename from lite/backends/npu/bridge/shuffle_channel_op_test.cc rename to lite/kernels/npu/bridges/shuffle_channel_op_test.cc index c37c97a3b4b85b746ea16c475646da6560919c41..cbf2eac9f3d4805e1b5bc4573189194f962c2d03 100644 --- a/lite/backends/npu/bridge/shuffle_channel_op_test.cc +++ b/lite/kernels/npu/bridges/shuffle_channel_op_test.cc @@ -14,14 +14,15 @@ #include "lite/operators/shuffle_channel_op.h" #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { void shuffle_channel_ref( const std::shared_ptr op) { @@ -106,8 +107,9 @@ TEST(NPUBridges, softmax) { } } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/softmax_op.cc b/lite/kernels/npu/bridges/softmax_op.cc similarity index 88% rename from lite/backends/npu/bridge/softmax_op.cc rename to lite/kernels/npu/bridges/softmax_op.cc index b0d874360841d70278e68d2fccdbeda6b722c71f..7473a8ea39bda7a38277da803f699b8bc94b2ede 100644 --- a/lite/backends/npu/bridge/softmax_op.cc +++ b/lite/kernels/npu/bridges/softmax_op.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type SoftmaxConverter(const std::shared_ptr softmax_op, const node_map_type& inputs_map) { @@ -58,9 +59,11 @@ node_map_type SoftmaxConverter(const std::shared_ptr softmax_op, return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(softmax, paddle::lite::npu::bridge::SoftmaxConverter); +REGISTER_NPU_BRIDGE(softmax, + paddle::lite::kernels::npu::bridges::SoftmaxConverter); diff --git a/lite/backends/npu/bridge/softmax_op_test.cc b/lite/kernels/npu/bridges/softmax_op_test.cc similarity index 95% rename from lite/backends/npu/bridge/softmax_op_test.cc rename to lite/kernels/npu/bridges/softmax_op_test.cc index c3114f5360fa24b7694c946323d3272eefc46a31..50415c4b965215c34ebd73f7ec6b11abc4dee2dd 100644 --- a/lite/backends/npu/bridge/softmax_op_test.cc +++ b/lite/kernels/npu/bridges/softmax_op_test.cc @@ -14,14 +14,15 @@ #include "lite/operators/softmax_op.h" #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { template void softmax_ref(const std::shared_ptr op) { @@ -125,8 +126,9 @@ TEST(NPUBridges, softmax) { } } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/split_op.cc b/lite/kernels/npu/bridges/split_op.cc similarity index 92% rename from lite/backends/npu/bridge/split_op.cc rename to lite/kernels/npu/bridges/split_op.cc index eb3caa737074a0a7f2efed00ee5583caf75a273b..97b6c19156d0ca9736966cfc8018b4d600f7b807 100644 --- a/lite/backends/npu/bridge/split_op.cc +++ b/lite/kernels/npu/bridges/split_op.cc @@ -18,13 +18,15 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { + node_map_type SplitConverter(const std::shared_ptr split_op, const node_map_type& inputs_map) { lite::Scope* scope = split_op->scope(); @@ -76,9 +78,10 @@ node_map_type SplitConverter(const std::shared_ptr split_op, return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(split, paddle::lite::npu::bridge::SplitConverter); +REGISTER_NPU_BRIDGE(split, paddle::lite::kernels::npu::bridges::SplitConverter); diff --git a/lite/backends/npu/bridge/split_op_test.cc b/lite/kernels/npu/bridges/split_op_test.cc similarity index 95% rename from lite/backends/npu/bridge/split_op_test.cc rename to lite/kernels/npu/bridges/split_op_test.cc index 91629a70fc47b5cd89f11943d44cd0c4cbd67af7..9bbac09a986ec81593b5a46ca3096ec7b192025a 100644 --- a/lite/backends/npu/bridge/split_op_test.cc +++ b/lite/kernels/npu/bridges/split_op_test.cc @@ -14,14 +14,15 @@ #include "lite/operators/split_op.h" #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { template void split_ref(const std::shared_ptr op) { @@ -99,7 +100,7 @@ void test_split(int bs, int axis, int num, std::vector sections) { - const auto& bridges = lite::npu::bridge::Factory::Instance(); + const auto& bridges = lite::kernels::npu::bridges::Factory::Instance(); const auto& supported_lists = bridges.AllFunctions(); CHECK(bridges.HasType("split")); // prepare input&output variables @@ -161,8 +162,9 @@ TEST(NPUBridges, split) { test_split(4, 2, 3, 6, 3, 0, {5, 1}); } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/test_helper.cc b/lite/kernels/npu/bridges/test_helper.cc similarity index 92% rename from lite/backends/npu/bridge/test_helper.cc rename to lite/kernels/npu/bridges/test_helper.cc index 8e646e79aad9b8dbfed3aae0c713d73d96c183f5..594b2db47457cf3af4f2c4786d2bd94e57815c6e 100644 --- a/lite/backends/npu/bridge/test_helper.cc +++ b/lite/kernels/npu/bridges/test_helper.cc @@ -12,18 +12,19 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "lite/backends/npu/bridge/test_helper.h" +#include "lite/kernels/npu/bridges/test_helper.h" #include #include "ai_ddk_lib/include/graph/op/all_ops.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" #include "lite/operators/graph_op.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { void LauchOp(const std::shared_ptr op, const std::vector& input_var_names, @@ -32,7 +33,7 @@ void LauchOp(const std::shared_ptr op, auto op_type = op->op_info()->Type(); // convert op to IR graph - const auto& bridges = lite::npu::bridge::Factory::Instance(); + const auto& bridges = lite::kernels::npu::bridges::Factory::Instance(); const auto& supported_lists = bridges.AllFunctions(); CHECK(bridges.HasType(op_type)); @@ -96,8 +97,9 @@ void LauchOp(const std::shared_ptr op, OpList::Global().clear(); } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/test_helper.h b/lite/kernels/npu/bridges/test_helper.h similarity index 95% rename from lite/backends/npu/bridge/test_helper.h rename to lite/kernels/npu/bridges/test_helper.h index 537f7376409b54b441e226a6824013cdff735000..4fe22ba28b8f4d7af32518c8a25739903f18c4d1 100644 --- a/lite/backends/npu/bridge/test_helper.h +++ b/lite/kernels/npu/bridges/test_helper.h @@ -22,8 +22,9 @@ namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { template std::shared_ptr CreateOp(const cpp::OpDesc& opdesc, lite::Scope* scope) { @@ -58,7 +59,8 @@ void LauchOp(const std::shared_ptr op, const std::vector& input_var_names, const std::vector& output_var_names); -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/transpose_op.cc b/lite/kernels/npu/bridges/transpose_op.cc similarity index 86% rename from lite/backends/npu/bridge/transpose_op.cc rename to lite/kernels/npu/bridges/transpose_op.cc index 5407574763e8045766999d181baa9af3c3097c18..ac243a060158b2edcf7354276d62998ee1dc6b31 100644 --- a/lite/backends/npu/bridge/transpose_op.cc +++ b/lite/kernels/npu/bridges/transpose_op.cc @@ -18,13 +18,14 @@ #include "ai_ddk_lib/include/graph/op/all_ops.h" #include "ai_ddk_lib/include/graph/operator.h" #include "ai_ddk_lib/include/graph/operator_reg.h" -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/utils.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { node_map_type TransposeConverter( const std::shared_ptr transpose_op, @@ -68,10 +69,13 @@ node_map_type TransposeConverter( return outputs_map; } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle -REGISTER_NPU_BRIDGE(transpose, paddle::lite::npu::bridge::TransposeConverter); -REGISTER_NPU_BRIDGE(transpose2, paddle::lite::npu::bridge::TransposeConverter); +REGISTER_NPU_BRIDGE(transpose, + paddle::lite::kernels::npu::bridges::TransposeConverter); +REGISTER_NPU_BRIDGE(transpose2, + paddle::lite::kernels::npu::bridges::TransposeConverter); diff --git a/lite/backends/npu/bridge/transpose_op_test.cc b/lite/kernels/npu/bridges/transpose_op_test.cc similarity index 96% rename from lite/backends/npu/bridge/transpose_op_test.cc rename to lite/kernels/npu/bridges/transpose_op_test.cc index 9bbfb11123fc3148968049d3b35faa308d7efcc0..9ad2610caa4f1674c1a07afd62a4b85361ec6645 100644 --- a/lite/backends/npu/bridge/transpose_op_test.cc +++ b/lite/kernels/npu/bridges/transpose_op_test.cc @@ -14,14 +14,15 @@ #include "lite/operators/transpose_op.h" #include -#include "lite/backends/npu/bridge/registry.h" -#include "lite/backends/npu/bridge/test_helper.h" #include "lite/core/op_registry.h" +#include "lite/kernels/npu/bridges/registry.h" +#include "lite/kernels/npu/bridges/test_helper.h" namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { int data_index(std::vector pos, DDimLite dims) { int d1 = dims[1]; @@ -139,8 +140,9 @@ TEST(NPUBridges, transpose) { // test_transpose(1, 1, 1, 2, std::vector{0,1,2,3}); } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/utils.cc b/lite/kernels/npu/bridges/utils.cc similarity index 97% rename from lite/backends/npu/bridge/utils.cc rename to lite/kernels/npu/bridges/utils.cc index f8244c476089c63da59940100b2fdcf1593c7f37..933d8188c99a36bd537ac4a5ee5f584a2b79956a 100644 --- a/lite/backends/npu/bridge/utils.cc +++ b/lite/kernels/npu/bridges/utils.cc @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "lite/backends/npu/bridge/utils.h" +#include "lite/kernels/npu/bridges/utils.h" #include // NOLINT #include #include "ai_ddk_lib/include/graph/buffer.h" @@ -24,8 +24,9 @@ namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { // Build HIAI IR graph to om model, and store om model data into lite tensor bool BuildModel(std::vector& inputs, // NOLINT @@ -164,7 +165,8 @@ bool HasInputArg(const OpInfo* op_info, } } -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle diff --git a/lite/backends/npu/bridge/utils.h b/lite/kernels/npu/bridges/utils.h similarity index 97% rename from lite/backends/npu/bridge/utils.h rename to lite/kernels/npu/bridges/utils.h index 285728f8d5601a33dbc1da350edf69c71269607d..382879f649fd086221eef2c62ee48bcf8da48c9d 100644 --- a/lite/backends/npu/bridge/utils.h +++ b/lite/kernels/npu/bridges/utils.h @@ -25,8 +25,9 @@ namespace paddle { namespace lite { +namespace kernels { namespace npu { -namespace bridge { +namespace bridges { class OpList { public: @@ -105,7 +106,8 @@ bool HasInputArg(const OpInfo* op_info, const Scope* scope, const std::string& argname); -} // namespace bridge +} // namespace bridges } // namespace npu +} // namespace kernels } // namespace lite } // namespace paddle