blob: ff1d69174c5c61c640c6f8b9b18e5c3fc855526d [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>
Matthew Benthamc1c5f2a2023-03-30 14:24:46 +00008#include <armnn/utility/PolymorphicDowncast.hpp>
Narumol Prangnawaratb8d771a2020-08-14 11:51:12 +01009
10namespace armnn
11{
12
13constexpr const char* MockImportBackendId() { return "MockRef"; }
14
15class MockImportBackendInitialiser
16{
17public:
18 MockImportBackendInitialiser();
19 ~MockImportBackendInitialiser();
20};
21
22class MockImportBackend : public IBackendInternal
23{
24public:
25 MockImportBackend() = default;
26 ~MockImportBackend() = default;
27
28 static const BackendId& GetIdStatic();
29 const BackendId& GetId() const override { return GetIdStatic(); }
30
31 IBackendInternal::IMemoryManagerUniquePtr CreateMemoryManager() const override;
32
33 IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory(
34 const IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr) const override;
35
36 IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory(
37 class TensorHandleFactoryRegistry& tensorHandleFactoryRegistry) const override;
38
39 IBackendInternal::IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions&) const override;
40
41 IBackendInternal::IBackendProfilingContextPtr CreateBackendProfilingContext(
42 const IRuntime::CreationOptions& creationOptions, IBackendProfilingPtr& backendProfiling) override;
43
Narumol Prangnawaratb8d771a2020-08-14 11:51:12 +010044 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