aboutsummaryrefslogtreecommitdiff
path: root/profiling
diff options
context:
space:
mode:
authorNikhil Raj <nikhil.raj@arm.com>2021-06-09 14:55:32 +0100
committerNikhil Raj <nikhil.raj@arm.com>2021-06-16 10:07:34 +0100
commit77fe76bfa8cb798943821d1f3e432c228e1cdee3 (patch)
tree0a6917287674113c00436810f3edfed04ebdeb03 /profiling
parent6d666e41f55ee9cc44933310ca83771710f80b55 (diff)
downloadarmnn-77fe76bfa8cb798943821d1f3e432c228e1cdee3.tar.gz
IVGCVSW-5835 Move the src/profiling/LabelsAndEventClasses class to profiling/common
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I83de0fe9c83ec7e698817095ce5cfe3319c36ea6
Diffstat (limited to 'profiling')
-rw-r--r--profiling/common/include/DllExport.hpp19
-rw-r--r--profiling/common/include/LabelsAndEventClasses.hpp69
-rw-r--r--profiling/common/src/CMakeLists.txt3
-rw-r--r--profiling/common/src/LabelsAndEventClasses.cpp79
4 files changed, 169 insertions, 1 deletions
diff --git a/profiling/common/include/DllExport.hpp b/profiling/common/include/DllExport.hpp
new file mode 100644
index 0000000000..8e01d43bca
--- /dev/null
+++ b/profiling/common/include/DllExport.hpp
@@ -0,0 +1,19 @@
+//
+// Copyright © 2020 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+
+#if defined (_MSC_VER)
+
+#ifdef ARMNN_COMPILING_DLL
+#define ARMNN_DLLEXPORT __declspec(dllexport)
+#else
+#define ARMNN_DLLEXPORT __declspec(dllimport)
+#endif
+
+#else
+
+#define ARMNN_DLLEXPORT
+
+#endif \ No newline at end of file
diff --git a/profiling/common/include/LabelsAndEventClasses.hpp b/profiling/common/include/LabelsAndEventClasses.hpp
new file mode 100644
index 0000000000..8e3e0b0c67
--- /dev/null
+++ b/profiling/common/include/LabelsAndEventClasses.hpp
@@ -0,0 +1,69 @@
+//
+// Copyright © 2019 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include "ProfilingGuidGenerator.hpp"
+
+#include "DllExport.hpp"
+
+namespace armnn
+{
+
+namespace profiling
+{
+
+class LabelsAndEventClasses
+{
+public:
+ // Labels (string value + GUID)
+ ARMNN_DLLEXPORT static std::string EMPTY_LABEL;
+ ARMNN_DLLEXPORT static std::string NAME_LABEL;
+ ARMNN_DLLEXPORT static std::string TYPE_LABEL;
+ ARMNN_DLLEXPORT static std::string INDEX_LABEL;
+ ARMNN_DLLEXPORT static std::string BACKENDID_LABEL;
+ ARMNN_DLLEXPORT static std::string CHILD_LABEL;
+ ARMNN_DLLEXPORT static std::string EXECUTION_OF_LABEL;
+ ARMNN_DLLEXPORT static std::string PROCESS_ID_LABEL;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid EMPTY_GUID;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid NAME_GUID;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid TYPE_GUID;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid INDEX_GUID;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid BACKENDID_GUID;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid CHILD_GUID;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid EXECUTION_OF_GUID;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid PROCESS_ID_GUID;
+
+ // Common types
+ ARMNN_DLLEXPORT static std::string LAYER;
+ ARMNN_DLLEXPORT static std::string WORKLOAD;
+ ARMNN_DLLEXPORT static std::string NETWORK;
+ ARMNN_DLLEXPORT static std::string CONNECTION;
+ ARMNN_DLLEXPORT static std::string INFERENCE;
+ ARMNN_DLLEXPORT static std::string WORKLOAD_EXECUTION;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid LAYER_GUID;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid WORKLOAD_GUID;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid NETWORK_GUID;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid CONNECTION_GUID;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid INFERENCE_GUID;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid WORKLOAD_EXECUTION_GUID;
+
+ // Event Class GUIDs
+ // Start of Life (SOL)
+ ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS;
+ ARMNN_DLLEXPORT static std::string ARMNN_PROFILING_SOL_EVENT_CLASS_NAME;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS_NAME_GUID;
+ // End of Life (EOL)
+ ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS;
+ ARMNN_DLLEXPORT static std::string ARMNN_PROFILING_EOL_EVENT_CLASS_NAME;
+ ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS_NAME_GUID;
+
+private:
+ static ProfilingGuidGenerator m_GuidGenerator;
+};
+
+} // namespace profiling
+
+} // namespace armnn
diff --git a/profiling/common/src/CMakeLists.txt b/profiling/common/src/CMakeLists.txt
index 3a27a53f8e..6979275c49 100644
--- a/profiling/common/src/CMakeLists.txt
+++ b/profiling/common/src/CMakeLists.txt
@@ -12,7 +12,8 @@ if(BUILD_TIMELINE_DECODER)
CommonProfilingUtils.cpp
NetworkSockets.cpp
PacketVersionResolver.cpp
- SwTrace.cpp)
+ SwTrace.cpp
+ LabelsAndEventClasses.cpp)
include_directories(${PROJECT_SOURCE_DIR}/profiling/common/include)
include_directories(${PROJECT_SOURCE_DIR}/common/include)
diff --git a/profiling/common/src/LabelsAndEventClasses.cpp b/profiling/common/src/LabelsAndEventClasses.cpp
new file mode 100644
index 0000000000..fe6d119c2f
--- /dev/null
+++ b/profiling/common/src/LabelsAndEventClasses.cpp
@@ -0,0 +1,79 @@
+//
+// Copyright © 2019 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "LabelsAndEventClasses.hpp"
+
+namespace armnn
+{
+
+namespace profiling
+{
+
+ProfilingGuidGenerator LabelsAndEventClasses::m_GuidGenerator;
+
+// Labels (string value + GUID)
+std::string LabelsAndEventClasses::EMPTY_LABEL("");
+std::string LabelsAndEventClasses::NAME_LABEL("name");
+std::string LabelsAndEventClasses::TYPE_LABEL("type");
+std::string LabelsAndEventClasses::INDEX_LABEL("index");
+std::string LabelsAndEventClasses::BACKENDID_LABEL("backendId");
+std::string LabelsAndEventClasses::CHILD_LABEL("child");
+std::string LabelsAndEventClasses::EXECUTION_OF_LABEL("execution_of");
+std::string LabelsAndEventClasses::PROCESS_ID_LABEL("processId");
+
+ProfilingStaticGuid LabelsAndEventClasses::EMPTY_GUID(0);
+ProfilingStaticGuid LabelsAndEventClasses::NAME_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::NAME_LABEL));
+ProfilingStaticGuid LabelsAndEventClasses::TYPE_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::TYPE_LABEL));
+ProfilingStaticGuid LabelsAndEventClasses::INDEX_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::INDEX_LABEL));
+ProfilingStaticGuid LabelsAndEventClasses::BACKENDID_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::BACKENDID_LABEL));
+ProfilingStaticGuid LabelsAndEventClasses::CHILD_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::CHILD_LABEL));
+ProfilingStaticGuid LabelsAndEventClasses::EXECUTION_OF_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::EXECUTION_OF_LABEL));
+ProfilingStaticGuid LabelsAndEventClasses::PROCESS_ID_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::PROCESS_ID_LABEL));
+
+// Common types
+std::string LabelsAndEventClasses::LAYER("layer");
+std::string LabelsAndEventClasses::WORKLOAD("workload");
+std::string LabelsAndEventClasses::NETWORK("network");
+std::string LabelsAndEventClasses::CONNECTION("connection");
+std::string LabelsAndEventClasses::INFERENCE("inference");
+std::string LabelsAndEventClasses::WORKLOAD_EXECUTION("workload_execution");
+
+ProfilingStaticGuid LabelsAndEventClasses::LAYER_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::LAYER));
+ProfilingStaticGuid LabelsAndEventClasses::WORKLOAD_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::WORKLOAD));
+ProfilingStaticGuid LabelsAndEventClasses::NETWORK_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::NETWORK));
+ProfilingStaticGuid LabelsAndEventClasses::CONNECTION_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::CONNECTION));
+ProfilingStaticGuid LabelsAndEventClasses::INFERENCE_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::INFERENCE));
+ProfilingStaticGuid LabelsAndEventClasses::WORKLOAD_EXECUTION_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::WORKLOAD_EXECUTION));
+
+// Event Class GUIDs
+// Start of Life (SOL)
+std::string LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS_NAME("start_of_life");
+ProfilingStaticGuid LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS_NAME_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS_NAME));
+ProfilingStaticGuid LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS(
+ m_GuidGenerator.GenerateStaticId("ARMNN_PROFILING_SOL"));
+// End of Life (EOL)
+std::string LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS_NAME("end_of_life");
+ProfilingStaticGuid LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS_NAME_GUID(
+ m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS_NAME));
+ProfilingStaticGuid LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS(
+ m_GuidGenerator.GenerateStaticId("ARMNN_PROFILING_EOL"));
+
+} // namespace profiling
+
+} // namespace armnn