From 77fe76bfa8cb798943821d1f3e432c228e1cdee3 Mon Sep 17 00:00:00 2001 From: Nikhil Raj Date: Wed, 9 Jun 2021 14:55:32 +0100 Subject: IVGCVSW-5835 Move the src/profiling/LabelsAndEventClasses class to profiling/common Signed-off-by: Nikhil Raj Change-Id: I83de0fe9c83ec7e698817095ce5cfe3319c36ea6 --- profiling/common/include/DllExport.hpp | 19 ++++++ profiling/common/include/LabelsAndEventClasses.hpp | 69 +++++++++++++++++++ profiling/common/src/CMakeLists.txt | 3 +- profiling/common/src/LabelsAndEventClasses.cpp | 79 ++++++++++++++++++++++ 4 files changed, 169 insertions(+), 1 deletion(-) create mode 100644 profiling/common/include/DllExport.hpp create mode 100644 profiling/common/include/LabelsAndEventClasses.hpp create mode 100644 profiling/common/src/LabelsAndEventClasses.cpp (limited to 'profiling') 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 -- cgit v1.2.1