aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/reference')
-rw-r--r--src/backends/reference/CMakeLists.txt1
-rw-r--r--src/backends/reference/RefBackend.cpp9
-rw-r--r--src/backends/reference/RefBackend.hpp7
-rw-r--r--src/backends/reference/test/CMakeLists.txt1
-rw-r--r--src/backends/reference/test/RefLayerTests.cpp2
-rw-r--r--src/backends/reference/test/RefWorkloadFactoryHelper.hpp27
6 files changed, 45 insertions, 2 deletions
diff --git a/src/backends/reference/CMakeLists.txt b/src/backends/reference/CMakeLists.txt
index ff16f185b4..82880cf524 100644
--- a/src/backends/reference/CMakeLists.txt
+++ b/src/backends/reference/CMakeLists.txt
@@ -11,6 +11,7 @@ list(APPEND armnnRefBackend_sources
RefLayerSupport.hpp
RefWorkloadFactory.cpp
RefWorkloadFactory.hpp
+
)
add_library(armnnRefBackend OBJECT ${armnnRefBackend_sources})
diff --git a/src/backends/reference/RefBackend.cpp b/src/backends/reference/RefBackend.cpp
index 7c9240479b..8f5e9c4d5e 100644
--- a/src/backends/reference/RefBackend.cpp
+++ b/src/backends/reference/RefBackend.cpp
@@ -9,6 +9,7 @@
#include "RefLayerSupport.hpp"
#include <backendsCommon/IBackendContext.hpp>
+#include <backendsCommon/IMemoryManager.hpp>
#include <backendsCommon/BackendRegistry.hpp>
#include <Optimizer.hpp>
@@ -39,7 +40,8 @@ const BackendId& RefBackend::GetIdStatic()
return s_Id;
}
-IBackendInternal::IWorkloadFactoryPtr RefBackend::CreateWorkloadFactory() const
+IBackendInternal::IWorkloadFactoryPtr RefBackend::CreateWorkloadFactory(
+ const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) const
{
return std::make_unique<RefWorkloadFactory>();
}
@@ -49,6 +51,11 @@ IBackendInternal::IBackendContextPtr RefBackend::CreateBackendContext(const IRun
return IBackendContextPtr{};
}
+IBackendInternal::IMemoryManagerUniquePtr RefBackend::CreateMemoryManager() const
+{
+ return IMemoryManagerUniquePtr{};
+}
+
IBackendInternal::Optimizations RefBackend::GetOptimizations() const
{
return Optimizations{};
diff --git a/src/backends/reference/RefBackend.hpp b/src/backends/reference/RefBackend.hpp
index 12d56ffab4..1a0aef58c4 100644
--- a/src/backends/reference/RefBackend.hpp
+++ b/src/backends/reference/RefBackend.hpp
@@ -18,8 +18,13 @@ public:
static const BackendId& GetIdStatic();
const BackendId& GetId() const override { return GetIdStatic(); }
- IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory() const override;
+ IBackendInternal::IMemoryManagerUniquePtr CreateMemoryManager() const override;
+
+ IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory(
+ const IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr) const override;
+
IBackendInternal::IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions&) const override;
+
IBackendInternal::Optimizations GetOptimizations() const override;
IBackendInternal::ILayerSupportSharedPtr GetLayerSupport() const override;
};
diff --git a/src/backends/reference/test/CMakeLists.txt b/src/backends/reference/test/CMakeLists.txt
index aee621614f..8fa9b5cdaf 100644
--- a/src/backends/reference/test/CMakeLists.txt
+++ b/src/backends/reference/test/CMakeLists.txt
@@ -11,6 +11,7 @@ list(APPEND armnnRefBackendUnitTests_sources
RefLayerTests.cpp
RefOptimizedNetworkTests.cpp
RefRuntimeTests.cpp
+ RefWorkloadFactoryHelper.hpp
)
add_library(armnnRefBackendUnitTests OBJECT ${armnnRefBackendUnitTests_sources})
diff --git a/src/backends/reference/test/RefLayerTests.cpp b/src/backends/reference/test/RefLayerTests.cpp
index 703ec58208..95ddbadbcc 100644
--- a/src/backends/reference/test/RefLayerTests.cpp
+++ b/src/backends/reference/test/RefLayerTests.cpp
@@ -3,6 +3,8 @@
// SPDX-License-Identifier: MIT
//
+#include "RefWorkloadFactoryHelper.hpp"
+
#include <test/TensorHelpers.hpp>
#include <test/UnitTests.hpp>
diff --git a/src/backends/reference/test/RefWorkloadFactoryHelper.hpp b/src/backends/reference/test/RefWorkloadFactoryHelper.hpp
new file mode 100644
index 0000000000..500511157f
--- /dev/null
+++ b/src/backends/reference/test/RefWorkloadFactoryHelper.hpp
@@ -0,0 +1,27 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include <backendsCommon/test/WorkloadFactoryHelper.hpp>
+
+#include <reference/RefBackend.hpp>
+#include <reference/RefWorkloadFactory.hpp>
+
+namespace
+{
+
+template<>
+struct WorkloadFactoryHelper<armnn::RefWorkloadFactory>
+{
+ static armnn::RefWorkloadFactory GetFactory()
+ {
+ return armnn::RefWorkloadFactory();
+ }
+};
+
+using RefWorkloadFactoryHelper = WorkloadFactoryHelper<armnn::RefWorkloadFactory>;
+
+} // anonymous namespace