• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright © 2020 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include <armnn/Optional.hpp>
9 #include <armnn/BackendId.hpp>
10 
11 namespace armnn
12 {
13 
14 namespace profiling
15 {
16 
17 class ICounterRegistry
18 {
19 public:
~ICounterRegistry()20     virtual ~ICounterRegistry() {}
21 
22     // Register profiling objects
23     virtual const Category*   RegisterCategory  (const std::string& categoryName) = 0;
24 
25     virtual const Device*     RegisterDevice    (const std::string& deviceName,
26                                                  uint16_t cores,
27                                                  const Optional<std::string>& parentCategoryName) = 0;
28 
29     virtual const CounterSet* RegisterCounterSet(const std::string& counterSetName,
30                                                  uint16_t count,
31                                                  const Optional<std::string>& parentCategoryName) = 0;
32 
33     virtual const Counter* RegisterCounter(const BackendId& backendId,
34                                            const uint16_t uid,
35                                            const std::string& parentCategoryName,
36                                            uint16_t counterClass,
37                                            uint16_t interpolation,
38                                            double multiplier,
39                                            const std::string& name,
40                                            const std::string& description,
41                                            const Optional<std::string>& units,
42                                            const Optional<uint16_t>& numberOfCores,
43                                            const Optional<uint16_t>& deviceUid,
44                                            const Optional<uint16_t>& counterSetUid) = 0;
45 
46 };
47 
48 } // namespace profiling
49 
50 } // namespace armnn
51