[neurun] Extract IPlanBuilder into a separate file (#2261)
author이한종/동작제어Lab(SR)/Engineer/삼성전자 <hanjoung.lee@samsung.com>
Mon, 13 Aug 2018 01:58:26 +0000 (10:58 +0900)
committer이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 <chunseok.lee@samsung.com>
Mon, 13 Aug 2018 01:58:26 +0000 (10:58 +0900)
Extract IPlanBuilder into a separate file and move it to codegen
directory.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
runtimes/neurun/src/codegen/IPlanBuilder.h [new file with mode: 0644]
runtimes/neurun/src/compilation.cc

diff --git a/runtimes/neurun/src/codegen/IPlanBuilder.h b/runtimes/neurun/src/codegen/IPlanBuilder.h
new file mode 100644 (file)
index 0000000..4bd7076
--- /dev/null
@@ -0,0 +1,28 @@
+#ifndef __NEURUN_CODEGEN_I_PLAN_BUILDER_H__
+#define __NEURUN_CODEGEN_I_PLAN_BUILDER_H__
+
+#include "arm_compute/core/TensorInfo.h"
+#include "internal/Model.h"
+#include "backend/IStageGenerator.h"
+#include "backend/IInitializerGenerator.h"
+
+namespace neurun
+{
+namespace codegen
+{
+
+struct IPlanBuilder
+{
+  virtual ~IPlanBuilder() = default;
+
+  virtual void addShapeConstr(const ::internal::tflite::operand::Index &ind,
+                              const ::arm_compute::TensorInfo &info) = 0;
+  virtual void addInitializer(const ::internal::tflite::operand::Index &ind,
+                              const Initializer &initializer) = 0;
+  virtual void addStage(const Stage &) = 0;
+};
+
+} // namespace codegen
+} // namespace neurun
+
+#endif // __NEURUN_CODEGEN_I_PLAN_BUILDER_H__
index bf8dcc9..9e588f6 100644 (file)
 
 using TensorSetter = std::function<void(int, const ::arm_compute::TensorInfo &)>;
 
-struct IPlanBuilder
-{
-  virtual ~IPlanBuilder() = default;
-
-  virtual void addShapeConstr(const ::internal::tflite::operand::Index &ind,
-                              const ::arm_compute::TensorInfo &info) = 0;
-  virtual void addInitializer(const ::internal::tflite::operand::Index &ind,
-                              const Initializer &initializer) = 0;
-  virtual void addStage(const Stage &) = 0;
-};
-
+#include "codegen/IPlanBuilder.h"
 #include "internal/BackendManager.h"
 
 class BackendResolver
@@ -167,7 +157,7 @@ std::shared_ptr<::internal::common::TensorBuilder> BackendResolver::getCommonTen
 class Planner : public ::internal::tflite::op::NodeVisitor
 {
 public:
-  Planner(const neurun::graph::operand::Set &ctx, IPlanBuilder &builder,
+  Planner(const neurun::graph::operand::Set &ctx, neurun::codegen::IPlanBuilder &builder,
           BackendResolver &backend_resolver)
       : _ctx{ctx}, _builder{builder}, _backend_resolver(backend_resolver)
   {
@@ -188,7 +178,7 @@ public:
 
 private:
   const neurun::graph::operand::Set &_ctx;
-  IPlanBuilder &_builder;
+  neurun::codegen::IPlanBuilder &_builder;
   BackendResolver &_backend_resolver;
 };
 
@@ -557,7 +547,7 @@ private:
   ::internal::Plan &_plan;
 };
 
-class PlanBuilder final : public IPlanBuilder
+class PlanBuilder final : public neurun::codegen::IPlanBuilder
 {
 public:
   PlanBuilder(::internal::Plan &plan) : _plan{plan}