• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright © 2019 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include "ProfilingGuidGenerator.hpp"
9 
10 #include <armnn/Types.hpp>
11 #include <DllExport.hpp>
12 
13 namespace armnn
14 {
15 
16 namespace profiling
17 {
18 
19 class LabelsAndEventClasses
20 {
21 public:
22     // Labels (string value + GUID)
23     ARMNN_DLLEXPORT static std::string EMPTY_LABEL;
24     ARMNN_DLLEXPORT static std::string NAME_LABEL;
25     ARMNN_DLLEXPORT static std::string TYPE_LABEL;
26     ARMNN_DLLEXPORT static std::string INDEX_LABEL;
27     ARMNN_DLLEXPORT static std::string BACKENDID_LABEL;
28     ARMNN_DLLEXPORT static std::string CHILD_LABEL;
29     ARMNN_DLLEXPORT static std::string EXECUTION_OF_LABEL;
30     ARMNN_DLLEXPORT static std::string PROCESS_ID_LABEL;
31     ARMNN_DLLEXPORT static ProfilingStaticGuid EMPTY_GUID;
32     ARMNN_DLLEXPORT static ProfilingStaticGuid NAME_GUID;
33     ARMNN_DLLEXPORT static ProfilingStaticGuid TYPE_GUID;
34     ARMNN_DLLEXPORT static ProfilingStaticGuid INDEX_GUID;
35     ARMNN_DLLEXPORT static ProfilingStaticGuid BACKENDID_GUID;
36     ARMNN_DLLEXPORT static ProfilingStaticGuid CHILD_GUID;
37     ARMNN_DLLEXPORT static ProfilingStaticGuid EXECUTION_OF_GUID;
38     ARMNN_DLLEXPORT static ProfilingStaticGuid PROCESS_ID_GUID;
39 
40     // Common types
41     ARMNN_DLLEXPORT static std::string LAYER;
42     ARMNN_DLLEXPORT static std::string WORKLOAD;
43     ARMNN_DLLEXPORT static std::string NETWORK;
44     ARMNN_DLLEXPORT static std::string CONNECTION;
45     ARMNN_DLLEXPORT static std::string INFERENCE;
46     ARMNN_DLLEXPORT static std::string WORKLOAD_EXECUTION;
47     ARMNN_DLLEXPORT static ProfilingStaticGuid LAYER_GUID;
48     ARMNN_DLLEXPORT static ProfilingStaticGuid WORKLOAD_GUID;
49     ARMNN_DLLEXPORT static ProfilingStaticGuid NETWORK_GUID;
50     ARMNN_DLLEXPORT static ProfilingStaticGuid CONNECTION_GUID;
51     ARMNN_DLLEXPORT static ProfilingStaticGuid INFERENCE_GUID;
52     ARMNN_DLLEXPORT static ProfilingStaticGuid WORKLOAD_EXECUTION_GUID;
53 
54     // Event Class GUIDs
55     // Start of Life (SOL)
56     ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS;
57     ARMNN_DLLEXPORT static std::string ARMNN_PROFILING_SOL_EVENT_CLASS_NAME;
58     ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS_NAME_GUID;
59     // End of Life (EOL)
60     ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS;
61     ARMNN_DLLEXPORT static std::string ARMNN_PROFILING_EOL_EVENT_CLASS_NAME;
62     ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS_NAME_GUID;
63 
64 private:
65     static ProfilingGuidGenerator m_GuidGenerator;
66 };
67 
68 } // namespace profiling
69 
70 } // namespace armnn
71