From 84b57aa7219b84915189951827f754060f7069e3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EC=9D=B4=ED=95=9C=EC=A2=85/=EB=8F=99=EC=9E=91=EC=A0=9C?= =?utf8?q?=EC=96=B4Lab=28SR=29/Engineer/=EC=82=BC=EC=84=B1=EC=A0=84?= =?utf8?q?=EC=9E=90?= Date: Fri, 23 Nov 2018 15:05:32 +0900 Subject: [PATCH] [neurun] Auto-generate NodeVisitor headers (#3685) Auto-generate NodeVisitor headers with macro. Resolve #3664 Signed-off-by: Hanjoung Lee --- runtimes/neurun/src/backend/acl_cl/StageGenerator.h | 13 ++++--------- runtimes/neurun/src/backend/cpu/StageGenerator.h | 13 ++++--------- runtimes/neurun/src/backend/interface/IStageGenerator.h | 13 ++++--------- runtimes/neurun/src/compiler/OperationValidator.h | 13 ++++--------- runtimes/neurun/src/compiler/SubTensorAnalyzer.h | 13 ++++--------- runtimes/neurun/src/graph/operation/NodeVisitor.h | 13 ++++--------- 6 files changed, 24 insertions(+), 54 deletions(-) diff --git a/runtimes/neurun/src/backend/acl_cl/StageGenerator.h b/runtimes/neurun/src/backend/acl_cl/StageGenerator.h index 8a36194..ae6acf1 100644 --- a/runtimes/neurun/src/backend/acl_cl/StageGenerator.h +++ b/runtimes/neurun/src/backend/acl_cl/StageGenerator.h @@ -37,15 +37,10 @@ public: virtual std::shared_ptr tensor_builder() override { return _tensor_builder; } - virtual void visit(const graph::operation::Conv2DNode &node) override; - virtual void visit(const graph::operation::MaxPool2DNode &node) override; - virtual void visit(const graph::operation::AvgPool2DNode &node) override; - virtual void visit(const graph::operation::ConcatNode &node) override; - virtual void visit(const graph::operation::FullyConnectedNode &node) override; - virtual void visit(const graph::operation::ReshapeNode &node) override; - virtual void visit(const graph::operation::SoftmaxNode &node) override; - virtual void visit(const graph::operation::PermuteNode &node) override; - virtual void visit(const graph::operation::AddNode &node) override; +#define OP(InternalName, IsNnApi, NnApiName) \ + virtual void visit(const graph::operation::InternalName &) override; +#include "graph/operation/Op.lst" +#undef OP private: const neurun::graph::operand::Set &_ctx; diff --git a/runtimes/neurun/src/backend/cpu/StageGenerator.h b/runtimes/neurun/src/backend/cpu/StageGenerator.h index b115a45..81e4837 100644 --- a/runtimes/neurun/src/backend/cpu/StageGenerator.h +++ b/runtimes/neurun/src/backend/cpu/StageGenerator.h @@ -38,15 +38,10 @@ public: virtual std::shared_ptr tensor_builder() override { return _tensor_builder; } - virtual void visit(const graph::operation::Conv2DNode &node) override; - virtual void visit(const graph::operation::MaxPool2DNode &node) override; - virtual void visit(const graph::operation::AvgPool2DNode &node) override; - virtual void visit(const graph::operation::ConcatNode &node) override; - virtual void visit(const graph::operation::FullyConnectedNode &node) override; - virtual void visit(const graph::operation::ReshapeNode &node) override; - virtual void visit(const graph::operation::SoftmaxNode &node) override; - virtual void visit(const graph::operation::PermuteNode &node) override; - virtual void visit(const graph::operation::AddNode &node) override; +#define OP(InternalName, IsNnApi, NnApiName) \ + virtual void visit(const graph::operation::InternalName &) override; +#include "graph/operation/Op.lst" +#undef OP private: const neurun::graph::operand::Set &_ctx; diff --git a/runtimes/neurun/src/backend/interface/IStageGenerator.h b/runtimes/neurun/src/backend/interface/IStageGenerator.h index 4a6a7d2..4152d0a 100644 --- a/runtimes/neurun/src/backend/interface/IStageGenerator.h +++ b/runtimes/neurun/src/backend/interface/IStageGenerator.h @@ -47,15 +47,10 @@ public: virtual std::shared_ptr tensor_builder() = 0; protected: - virtual void visit(const graph::operation::Conv2DNode &) override {} - virtual void visit(const graph::operation::MaxPool2DNode &) override {} - virtual void visit(const graph::operation::AvgPool2DNode &) override {} - virtual void visit(const graph::operation::ConcatNode &) override {} - virtual void visit(const graph::operation::FullyConnectedNode &) override {} - virtual void visit(const graph::operation::ReshapeNode &) override {} - virtual void visit(const graph::operation::SoftmaxNode &) override {} - virtual void visit(const graph::operation::PermuteNode &) override {} - virtual void visit(const graph::operation::AddNode &) override {} +#define OP(InternalName, IsNnApi, NnApiName) \ + virtual void visit(const graph::operation::InternalName &) override {} +#include "graph/operation/Op.lst" +#undef OP protected: void returnStage(const Stage &stage) { _return = stage; } diff --git a/runtimes/neurun/src/compiler/OperationValidator.h b/runtimes/neurun/src/compiler/OperationValidator.h index f58494c..b33455b 100644 --- a/runtimes/neurun/src/compiler/OperationValidator.h +++ b/runtimes/neurun/src/compiler/OperationValidator.h @@ -41,15 +41,10 @@ public: OperationValidator(const neurun::graph::operand::Set &ctx) : _ctx{ctx} {} public: - virtual void visit(const graph::operation::Conv2DNode &) override; - virtual void visit(const graph::operation::MaxPool2DNode &) override; - virtual void visit(const graph::operation::AvgPool2DNode &) override; - virtual void visit(const graph::operation::ConcatNode &) override; - virtual void visit(const graph::operation::ReshapeNode &) override; - virtual void visit(const graph::operation::FullyConnectedNode &) override; - virtual void visit(const graph::operation::SoftmaxNode &) override; - virtual void visit(const graph::operation::PermuteNode &) override; - virtual void visit(const graph::operation::AddNode &) override; +#define OP(InternalName, IsNnApi, NnApiName) \ + virtual void visit(const graph::operation::InternalName &) override; +#include "graph/operation/Op.lst" +#undef OP private: const neurun::graph::operand::Set &_ctx; diff --git a/runtimes/neurun/src/compiler/SubTensorAnalyzer.h b/runtimes/neurun/src/compiler/SubTensorAnalyzer.h index fff4af9..e91ee5f 100644 --- a/runtimes/neurun/src/compiler/SubTensorAnalyzer.h +++ b/runtimes/neurun/src/compiler/SubTensorAnalyzer.h @@ -54,15 +54,10 @@ public: SubTensorAnalyzer(neurun::graph::operand::Set &ctx) : _ctx{ctx} {} public: - virtual void visit(const graph::operation::Conv2DNode &) override; - virtual void visit(const graph::operation::MaxPool2DNode &) override; - virtual void visit(const graph::operation::AvgPool2DNode &) override; - virtual void visit(const graph::operation::ConcatNode &) override; - virtual void visit(const graph::operation::ReshapeNode &) override; - virtual void visit(const graph::operation::FullyConnectedNode &) override; - virtual void visit(const graph::operation::SoftmaxNode &) override; - virtual void visit(const graph::operation::PermuteNode &) override; - virtual void visit(const graph::operation::AddNode &) override; +#define OP(InternalName, IsNnApi, NnApiName) \ + virtual void visit(const graph::operation::InternalName &) override; +#include "graph/operation/Op.lst" +#undef OP private: neurun::graph::operand::Set &_ctx; diff --git a/runtimes/neurun/src/graph/operation/NodeVisitor.h b/runtimes/neurun/src/graph/operation/NodeVisitor.h index 36830ec..d5ff7d9 100644 --- a/runtimes/neurun/src/graph/operation/NodeVisitor.h +++ b/runtimes/neurun/src/graph/operation/NodeVisitor.h @@ -38,15 +38,10 @@ struct NodeVisitor { virtual ~NodeVisitor() = default; - virtual void visit(const Conv2DNode &) {} - virtual void visit(const MaxPool2DNode &) {} - virtual void visit(const AvgPool2DNode &) {} - virtual void visit(const ConcatNode &) {} - virtual void visit(const ReshapeNode &) {} - virtual void visit(const FullyConnectedNode &) {} - virtual void visit(const SoftmaxNode &) {} - virtual void visit(const PermuteNode &) {} - virtual void visit(const AddNode &) {} +#define OP(InternalName, IsNnApi, NnApiName) \ + virtual void visit(const InternalName &) {} +#include "graph/operation/Op.lst" +#undef OP }; } // namespace operation -- 2.7.4