[neurun] Add IBackendConfig getter to Backend (#2611)
author이한종/동작제어Lab(SR)/Engineer/삼성전자 <hanjoung.lee@samsung.com>
Thu, 6 Sep 2018 01:33:22 +0000 (10:33 +0900)
committer오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 <hseok82.oh@samsung.com>
Thu, 6 Sep 2018 01:33:22 +0000 (10:33 +0900)
Add `IBackendConfig` getter `config()` method to `Backend`. We need to
keep it otherwise we do not have any way to call `getOperandLayout()`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
runtimes/neurun/src/backend/BackendManager.cc
runtimes/neurun/src/backend/BackendManager.h

index 46adee5..d5ae3eb 100644 (file)
@@ -17,11 +17,13 @@ namespace backend
 Backend::Backend(const std::shared_ptr<neurun::backend::IBackendConfig> &backend_config,
                  const std::shared_ptr<neurun::backend::IInitializerGenerator> &initializer_gen,
                  const std::shared_ptr<neurun::backend::IStageGenerator> &stage_gen)
-    : _initializer_gen(initializer_gen), _stage_gen(stage_gen)
+    : _config(backend_config), _initializer_gen(initializer_gen), _stage_gen(stage_gen)
 {
   backend_config->initialize();
 }
 
+const std::shared_ptr<neurun::backend::IBackendConfig> Backend::config() const { return _config; }
+
 const std::shared_ptr<neurun::backend::IInitializerGenerator> Backend::initializer_gen() const
 {
   return _initializer_gen;
index ca047d8..21c98a8 100644 (file)
@@ -23,17 +23,19 @@ public:
           const std::shared_ptr<neurun::backend::IInitializerGenerator> &initializer_gen,
           const std::shared_ptr<neurun::backend::IStageGenerator> &stage_gen);
 
-  Backend(void) : _initializer_gen(nullptr), _stage_gen(nullptr)
+  Backend(void) : _config(nullptr), _initializer_gen(nullptr), _stage_gen(nullptr)
   {
     // DO NOTHING
   }
 
 public:
+  const std::shared_ptr<neurun::backend::IBackendConfig> config() const;
   const std::shared_ptr<neurun::backend::IInitializerGenerator> initializer_gen() const;
   const std::shared_ptr<neurun::backend::IStageGenerator> stage_gen() const;
   const std::shared_ptr<neurun::backend::ITensorBuilder> tensor_builder() const;
 
 private:
+  std::shared_ptr<neurun::backend::IBackendConfig> _config;
   std::shared_ptr<neurun::backend::IInitializerGenerator> _initializer_gen;
   std::shared_ptr<neurun::backend::IStageGenerator> _stage_gen;
 };