blob: 1d257b82db3452faba9b1860957c317cfdd66a81 [file] [log] [blame]
Jim Flynn97897022020-02-02 12:52:59 +00001//
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
Cathal Corbett5aa9fd72022-02-25 15:33:28 +000011namespace arm
Jim Flynn97897022020-02-02 12:52:59 +000012{
13
Cathal Corbett5aa9fd72022-02-25 15:33:28 +000014namespace pipe
Jim Flynn97897022020-02-02 12:52:59 +000015{
16
17class ICounterRegistry
18{
19public:
20 virtual ~ICounterRegistry() {}
21
22 // Register profiling objects
Sadik Armagan4c998992020-02-25 12:44:44 +000023 virtual const Category* RegisterCategory (const std::string& categoryName) = 0;
Jim Flynn97897022020-02-02 12:52:59 +000024
25 virtual const Device* RegisterDevice (const std::string& deviceName,
26 uint16_t cores,
Cathal Corbett5aa9fd72022-02-25 15:33:28 +000027 const armnn::Optional<std::string>& parentCategoryName) = 0;
Jim Flynn97897022020-02-02 12:52:59 +000028
29 virtual const CounterSet* RegisterCounterSet(const std::string& counterSetName,
30 uint16_t count,
Cathal Corbett5aa9fd72022-02-25 15:33:28 +000031 const armnn::Optional<std::string>& parentCategoryName) = 0;
Jim Flynn97897022020-02-02 12:52:59 +000032
Cathal Corbett5aa9fd72022-02-25 15:33:28 +000033 virtual const Counter* RegisterCounter(const armnn::BackendId& backendId,
Jim Flynn97897022020-02-02 12:52:59 +000034 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,
Cathal Corbett5aa9fd72022-02-25 15:33:28 +000041 const armnn::Optional<std::string>& units,
42 const armnn::Optional<uint16_t>& numberOfCores,
43 const armnn::Optional<uint16_t>& deviceUid,
44 const armnn::Optional<uint16_t>& counterSetUid) = 0;
Jim Flynn97897022020-02-02 12:52:59 +000045
46};
47
Cathal Corbett5aa9fd72022-02-25 15:33:28 +000048} // namespace pipe
Jim Flynn97897022020-02-02 12:52:59 +000049
Cathal Corbett5aa9fd72022-02-25 15:33:28 +000050} // namespace arm