ArmNN  NotReleased
ICounterRegistry.hpp
Go to the documentation of this file.
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 
18 {
19 public:
20  virtual ~ICounterRegistry() {}
21 
22  // Register profiling objects
23  virtual const Category* RegisterCategory (const std::string& categoryName,
24  const Optional<uint16_t>& deviceUid,
25  const Optional<uint16_t>& counterSetUid) = 0;
26 
27  virtual const Device* RegisterDevice (const std::string& deviceName,
28  uint16_t cores,
29  const Optional<std::string>& parentCategoryName) = 0;
30 
31  virtual const CounterSet* RegisterCounterSet(const std::string& counterSetName,
32  uint16_t count,
33  const Optional<std::string>& parentCategoryName) = 0;
34 
35  virtual const Counter* RegisterCounter(const BackendId& backendId,
36  const uint16_t uid,
37  const std::string& parentCategoryName,
38  uint16_t counterClass,
39  uint16_t interpolation,
40  double multiplier,
41  const std::string& name,
42  const std::string& description,
43  const Optional<std::string>& units,
44  const Optional<uint16_t>& numberOfCores,
45  const Optional<uint16_t>& deviceUid,
46  const Optional<uint16_t>& counterSetUid) = 0;
47 
48 };
49 
50 } // namespace profiling
51 
52 } // namespace armnn
virtual const Device * RegisterDevice(const std::string &deviceName, uint16_t cores, const Optional< std::string > &parentCategoryName)=0
virtual const Category * RegisterCategory(const std::string &categoryName, const Optional< uint16_t > &deviceUid, const Optional< uint16_t > &counterSetUid)=0
virtual const CounterSet * RegisterCounterSet(const std::string &counterSetName, uint16_t count, const Optional< std::string > &parentCategoryName)=0
virtual const Counter * RegisterCounter(const BackendId &backendId, const uint16_t uid, const std::string &parentCategoryName, uint16_t counterClass, uint16_t interpolation, double multiplier, const std::string &name, const std::string &description, const Optional< std::string > &units, const Optional< uint16_t > &numberOfCores, const Optional< uint16_t > &deviceUid, const Optional< uint16_t > &counterSetUid)=0