aboutsummaryrefslogtreecommitdiff
path: root/src/dynamic/sample/SampleDynamicBackend.cpp
diff options
context:
space:
mode:
authorTeresa Charlin <teresa.charlinreyes@arm.com>2020-08-05 17:43:54 +0100
committerNarumol Prangnawarat <narumol.prangnawarat@arm.com>2020-08-07 11:53:23 +0000
commite88167264991b8debe56f095abbc262f7266c5d4 (patch)
treef7979042a33da73064e5059bd14453dee4a9f874 /src/dynamic/sample/SampleDynamicBackend.cpp
parent895e11891a82a40d6fa04dc6941d374562a882a2 (diff)
downloadarmnn-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.cpp17
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