• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright © 2020 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
7 #include "IBackendProfiling.hpp"
8 #include <armnn/IRuntime.hpp>
9 #include <vector>
10 
11 namespace armnn
12 {
13 namespace profiling
14 {
15 
16 class IBackendProfilingContext
17 {
18 public:
~IBackendProfilingContext()19     virtual ~IBackendProfilingContext()
20     {}
21     virtual uint16_t RegisterCounters(uint16_t currentMaxGlobalCounterID) = 0;
22     virtual Optional<std::string> ActivateCounters(uint32_t capturePeriod, const std::vector<uint16_t>& counterIds) = 0;
23     virtual std::vector<Timestamp> ReportCounterValues() = 0;
24     virtual bool EnableProfiling(bool flag) = 0;
25     virtual bool EnableTimelineReporting(bool flag) = 0;
26 };
27 
28 using IBackendProfilingContextUniquePtr = std::unique_ptr<IBackendProfilingContext>;
29 }    // namespace profiling
30 }    // namespace armnn