From: 이한종/동작제어Lab(SR)/Engineer/삼성전자 Date: Wed, 5 Sep 2018 04:18:02 +0000 (+0900) Subject: [neurun] Introduce getOperandLayout (#2591) X-Git-Tag: 0.2~88 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6949a9edaa92abe82bcc40265548d7287ad59b3e;p=platform%2Fcore%2Fml%2Fnnfw.git [neurun] Introduce getOperandLayout (#2591) Introduce `IBackendConfig::getOperandLayout` which returns `operand::Layout` for each backend. Note that this assumes a backend only support one type of operand layout. Signed-off-by: Hanjoung Lee --- diff --git a/runtimes/neurun/src/backend/IBackendConfig.h b/runtimes/neurun/src/backend/IBackendConfig.h index 7ba6291..85ae507 100644 --- a/runtimes/neurun/src/backend/IBackendConfig.h +++ b/runtimes/neurun/src/backend/IBackendConfig.h @@ -1,6 +1,8 @@ #ifndef __INTERNAL_IBACKEND_CONFIG_H__ #define __INTERNAL_IBACKEND_CONFIG_H__ +#include "graph/operand/Layout.h" + namespace neurun { namespace backend @@ -11,6 +13,8 @@ struct IBackendConfig virtual ~IBackendConfig() = default; virtual void initialize() = 0; + // NOTE Assume backend has only one type of operand layout + virtual graph::operand::Layout getOperandLayout() = 0; }; } // namespace backend diff --git a/runtimes/neurun/src/backend/acl_cl/BackendConfig.h b/runtimes/neurun/src/backend/acl_cl/BackendConfig.h index 294950f..e0d1248 100644 --- a/runtimes/neurun/src/backend/acl_cl/BackendConfig.h +++ b/runtimes/neurun/src/backend/acl_cl/BackendConfig.h @@ -19,6 +19,7 @@ public: } virtual void initialize() override; + virtual graph::operand::Layout getOperandLayout() { return graph::operand::Layout::NCHW; } }; } // namespace acl_cl diff --git a/runtimes/neurun/src/backend/cpu/BackendConfig.h b/runtimes/neurun/src/backend/cpu/BackendConfig.h index de5f7ee..a4ddf5d 100644 --- a/runtimes/neurun/src/backend/cpu/BackendConfig.h +++ b/runtimes/neurun/src/backend/cpu/BackendConfig.h @@ -19,6 +19,7 @@ public: } virtual void initialize() override; + virtual graph::operand::Layout getOperandLayout() { return graph::operand::Layout::NHWC; } }; } // namespace cpu diff --git a/runtimes/neurun/src/graph/operand/Layout.h b/runtimes/neurun/src/graph/operand/Layout.h new file mode 100644 index 0000000..d35667f --- /dev/null +++ b/runtimes/neurun/src/graph/operand/Layout.h @@ -0,0 +1,22 @@ +#ifndef __NEURUN_GRAPH_OPERAND_LAYOUT_H__ +#define __NEURUN_GRAPH_OPERAND_LAYOUT_H__ + +namespace neurun +{ +namespace graph +{ +namespace operand +{ + +enum class Layout +{ + UNKNOWN = 0, + NHWC, + NCHW +}; + +} // namespace operand +} // namespace graph +} // namespace neurun + +#endif // __NEURUN_GRAPH_OPERAND_LAYOUT_H__