aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/test/mockBackend/MockImportBackend.hpp
diff options
context:
space:
mode:
authorNarumol Prangnawarat <narumol.prangnawarat@arm.com>2020-08-14 11:51:12 +0100
committerJim Flynn <jim.flynn@arm.com>2020-08-16 14:47:00 +0000
commitb8d771ac2e6f847a64b3b203591c5b1c3e198d3a (patch)
tree289b769e179e495e45f2d2c2f9374703be32f9c2 /src/backends/backendsCommon/test/mockBackend/MockImportBackend.hpp
parent9e132f57e3fc9d1cd12e3bca2dd3eb82549d7d84 (diff)
downloadarmnn-b8d771ac2e6f847a64b3b203591c5b1c3e198d3a.tar.gz
IVGCVSW-5012 Enable zero copy for Neon
* Allow memory import if padding is not required in Neon * AddMockImportBackend for fallback tests * Refactor GraphUtils * Memory import unit tests * Fallback unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ic2e141e12774bf6d915e77745b6f6d2d83d9b82d
Diffstat (limited to 'src/backends/backendsCommon/test/mockBackend/MockImportBackend.hpp')
-rw-r--r--src/backends/backendsCommon/test/mockBackend/MockImportBackend.hpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/test/mockBackend/MockImportBackend.hpp b/src/backends/backendsCommon/test/mockBackend/MockImportBackend.hpp
new file mode 100644
index 0000000000..ecc661f43b
--- /dev/null
+++ b/src/backends/backendsCommon/test/mockBackend/MockImportBackend.hpp
@@ -0,0 +1,53 @@
+//
+// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+
+#include <armnn/backends/IBackendInternal.hpp>
+
+namespace armnn
+{
+
+constexpr const char* MockImportBackendId() { return "MockRef"; }
+
+class MockImportBackendInitialiser
+{
+public:
+ MockImportBackendInitialiser();
+ ~MockImportBackendInitialiser();
+};
+
+class MockImportBackend : public IBackendInternal
+{
+public:
+ MockImportBackend() = default;
+ ~MockImportBackend() = default;
+
+ static const BackendId& GetIdStatic();
+ const BackendId& GetId() const override { return GetIdStatic(); }
+
+ IBackendInternal::IMemoryManagerUniquePtr CreateMemoryManager() const override;
+
+ IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory(
+ const IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr) const override;
+
+ IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory(
+ class TensorHandleFactoryRegistry& tensorHandleFactoryRegistry) const override;
+
+ IBackendInternal::IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions&) const override;
+
+ IBackendInternal::IBackendProfilingContextPtr CreateBackendProfilingContext(
+ const IRuntime::CreationOptions& creationOptions, IBackendProfilingPtr& backendProfiling) override;
+
+ IBackendInternal::Optimizations GetOptimizations() const override;
+ IBackendInternal::ILayerSupportSharedPtr GetLayerSupport() const override;
+
+ OptimizationViews OptimizeSubgraphView(const SubgraphView& subgraph) const override;
+
+ std::vector<ITensorHandleFactory::FactoryId> GetHandleFactoryPreferences() const override;
+
+ void RegisterTensorHandleFactories(class TensorHandleFactoryRegistry& registry) override;
+};
+
+} // namespace armnn