From: 오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 Date: Mon, 5 Nov 2018 05:58:51 +0000 (+0900) Subject: Introduce backend config for subtensor (#3460) X-Git-Tag: 0.3~477 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=540e52029b0dd90ced52333fe6dc664c9e5f4ad1;p=platform%2Fcore%2Fml%2Fnnfw.git Introduce backend config for subtensor (#3460) Introduce backend config for subtensor CPU and ACL backend are not support subtensor yet Signed-off-by: Hyeongseok Oh --- diff --git a/runtimes/neurun/src/backend/acl_cl/Config.h b/runtimes/neurun/src/backend/acl_cl/Config.h index d080881..cb001db 100644 --- a/runtimes/neurun/src/backend/acl_cl/Config.h +++ b/runtimes/neurun/src/backend/acl_cl/Config.h @@ -37,6 +37,11 @@ public: virtual std::string id() override { return "acl_cl"; } virtual void initialize() override; virtual graph::operand::Layout getOperandLayout() { return graph::operand::Layout::NCHW; } + virtual bool SupportSubTensorAlloc() override + { + // NOTE ACL allocator cannot support subtensor allocation yet + return false; + } }; } // namespace acl_cl diff --git a/runtimes/neurun/src/backend/cpu/Config.h b/runtimes/neurun/src/backend/cpu/Config.h index e4d35fe..ad9ca0e 100644 --- a/runtimes/neurun/src/backend/cpu/Config.h +++ b/runtimes/neurun/src/backend/cpu/Config.h @@ -37,6 +37,11 @@ public: virtual std::string id() override { return "cpu"; } virtual void initialize() override; virtual graph::operand::Layout getOperandLayout() { return graph::operand::Layout::NHWC; } + virtual bool SupportSubTensorAlloc() override + { + // NOTE CPU allocator cannot support subtensor allocation yet + return false; + } }; } // namespace cpu diff --git a/runtimes/neurun/src/backend/interface/IConfig.h b/runtimes/neurun/src/backend/interface/IConfig.h index 1443057..82789d0 100644 --- a/runtimes/neurun/src/backend/interface/IConfig.h +++ b/runtimes/neurun/src/backend/interface/IConfig.h @@ -34,6 +34,8 @@ struct IConfig virtual void initialize() = 0; // NOTE Assume backend has only one type of operand layout virtual graph::operand::Layout getOperandLayout() = 0; + // Support subtensor allocation + virtual bool SupportSubTensorAlloc() = 0; }; } // namespace backend