ArmNN
 22.05
ClBackendContext.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
8 #include <unordered_set>
9 #include <mutex>
10 
11 #include <arm_compute/runtime/CL/CLTuner.h>
12 #include <arm_compute/runtime/CL/CLGEMMHeuristicsHandle.h>
13 
14 namespace armnn
15 {
16 
18 {
19 public:
21 
22  bool BeforeLoadNetwork(NetworkId networkId) override;
23  bool AfterLoadNetwork(NetworkId networkId) override;
24 
25  bool BeforeUnloadNetwork(NetworkId networkId) override;
26  bool AfterUnloadNetwork(NetworkId networkId) override;
27 
28  bool AfterEnqueueWorkload(NetworkId networkId) override;
29 
30  ~ClBackendContext() override;
31 
32 private:
33  std::mutex m_Mutex;
34  struct ClContextControlWrapper;
35  std::unique_ptr<ClContextControlWrapper> m_ClContextControlWrapper;
36 
37  std::unordered_set<NetworkId> m_NetworkIds;
38 
39  std::unique_ptr<arm_compute::CLTuner> m_Tuner;
40  std::string m_TuningFile;
41 
42 protected:
43  arm_compute::CLGEMMHeuristicsHandle m_MLGOTuner;
44  std::string m_MLGOTuningFile;
45 };
46 
47 } // namespace armnn
bool BeforeLoadNetwork(NetworkId networkId) override
Before and after Load network events.
bool AfterUnloadNetwork(NetworkId networkId) override
Copyright (c) 2021 ARM Limited and Contributors.
ClBackendContext(const IRuntime::CreationOptions &options)
int NetworkId
Definition: IRuntime.hpp:27
bool AfterEnqueueWorkload(NetworkId networkId) override
arm_compute::CLGEMMHeuristicsHandle m_MLGOTuner
bool AfterLoadNetwork(NetworkId networkId) override
bool BeforeUnloadNetwork(NetworkId networkId) override
Before and after Unload network events.