diff options
author | Teresa Charlin <teresa.charlinreyes@arm.com> | 2020-08-05 17:43:54 +0100 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2020-08-07 11:53:23 +0000 |
commit | e88167264991b8debe56f095abbc262f7266c5d4 (patch) | |
tree | f7979042a33da73064e5059bd14453dee4a9f874 /src/dynamic/sample/SampleDynamicBackend.cpp | |
parent | 895e11891a82a40d6fa04dc6941d374562a882a2 (diff) | |
download | armnn-e88167264991b8debe56f095abbc262f7266c5d4.tar.gz |
IVGCVSW-5013 Add TensorHandleFactory to Sample Dynamic Tensor
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I9f8367ebb59a73570a1a2de68aaadba98abef11c
Diffstat (limited to 'src/dynamic/sample/SampleDynamicBackend.cpp')
-rw-r--r-- | src/dynamic/sample/SampleDynamicBackend.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/dynamic/sample/SampleDynamicBackend.cpp b/src/dynamic/sample/SampleDynamicBackend.cpp index 19aaaaebd4..2ef8faa627 100644 --- a/src/dynamic/sample/SampleDynamicBackend.cpp +++ b/src/dynamic/sample/SampleDynamicBackend.cpp @@ -1,5 +1,5 @@ // -// Copyright © 2020 Arm Ltd. All rights reserved. +// Copyright © 2020 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // @@ -7,6 +7,7 @@ #include "SampleDynamicLayerSupport.hpp" #include "SampleDynamicWorkloadFactory.hpp" #include "SampleMemoryManager.hpp" +#include "SampleDynamicTensorHandleFactory.hpp" #include <armnn/backends/IBackendInternal.hpp> #include <armnn/backends/OptimizationViews.hpp> @@ -38,7 +39,8 @@ public: IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory( const IMemoryManagerSharedPtr& memoryManager) const override { - return std::make_unique<SampleDynamicWorkloadFactory>(); + return std::make_unique<SampleDynamicWorkloadFactory>( + PolymorphicPointerDowncast<SampleMemoryManager>(memoryManager)); } IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory( @@ -61,7 +63,7 @@ public: std::vector<ITensorHandleFactory::FactoryId> GetHandleFactoryPreferences() const override { - return std::vector<ITensorHandleFactory::FactoryId>(); + return std::vector<ITensorHandleFactory::FactoryId> { SampleDynamicTensorHandleFactory::GetIdStatic() }; } IBackendInternal::IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions&) const override @@ -77,6 +79,15 @@ public: return optimizationViews; } + + void RegisterTensorHandleFactories(class TensorHandleFactoryRegistry& registry) const override + { + auto memoryManager = std::make_shared<SampleMemoryManager>(); + + registry.RegisterMemoryManager(memoryManager); + registry.RegisterFactory(std::make_unique<SampleDynamicTensorHandleFactory>(memoryManager)); + } + }; } // namespace armnn |