blob: ecc661f43b363a4b1206b6cb4f2b646c2fd2c642 [file] [log] [blame]
Narumol Prangnawaratb8d771a2020-08-14 11:51:12 +01001//
2// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5#pragma once
6
7#include <armnn/backends/IBackendInternal.hpp>
8
9namespace armnn
10{
11
12constexpr const char* MockImportBackendId() { return "MockRef"; }
13
14class MockImportBackendInitialiser
15{
16public:
17 MockImportBackendInitialiser();
18 ~MockImportBackendInitialiser();
19};
20
21class MockImportBackend : public IBackendInternal
22{
23public:
24 MockImportBackend() = default;
25 ~MockImportBackend() = default;
26
27 static const BackendId& GetIdStatic();
28 const BackendId& GetId() const override { return GetIdStatic(); }
29
30 IBackendInternal::IMemoryManagerUniquePtr CreateMemoryManager() const override;
31
32 IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory(
33 const IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr) const override;
34
35 IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory(
36 class TensorHandleFactoryRegistry& tensorHandleFactoryRegistry) const override;
37
38 IBackendInternal::IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions&) const override;
39
40 IBackendInternal::IBackendProfilingContextPtr CreateBackendProfilingContext(
41 const IRuntime::CreationOptions& creationOptions, IBackendProfilingPtr& backendProfiling) override;
42
43 IBackendInternal::Optimizations GetOptimizations() const override;
44 IBackendInternal::ILayerSupportSharedPtr GetLayerSupport() const override;
45
46 OptimizationViews OptimizeSubgraphView(const SubgraphView& subgraph) const override;
47
48 std::vector<ITensorHandleFactory::FactoryId> GetHandleFactoryPreferences() const override;
49
50 void RegisterTensorHandleFactories(class TensorHandleFactoryRegistry& registry) override;
51};
52
53} // namespace armnn