aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikhil Raj <nikhil.raj@arm.com>2021-04-30 15:44:24 +0100
committerNikhil Raj <nikhil.raj@arm.com>2021-06-01 22:14:24 +0100
commit7dcc6971722fe3780ca81c51695905e864a6637d (patch)
tree113696974bcbd3a0a4e6df73ea0470c47eca1294
parentb8942bf1a49b8ec710fafd7915dd9c8fee62230d (diff)
downloadarmnn-7dcc6971722fe3780ca81c51695905e864a6637d.tar.gz
IVGCVSW-5833 Move the ProfilingGuid out of Types.hpp to its own header in profiling common
!android-nn-driver:5691 Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: Ib71af0831e324ac6bd27b1a36f4a6ec1a703b14a
-rw-r--r--delegate/src/test/DelegateOptionsTest.cpp1
-rw-r--r--include/armnn/Types.hpp95
-rw-r--r--include/armnn/profiling/IProfilingGuidGenerator.hpp2
-rw-r--r--profiling/common/include/CommandHandlerFunctor.hpp2
-rw-r--r--profiling/common/include/ProfilingGuid.hpp113
-rw-r--r--python/pyarmnn/CMakeLists.txt2
-rwxr-xr-xpython/pyarmnn/setup.py25
-rw-r--r--python/pyarmnn/src/pyarmnn/swig/armnn.i1
-rw-r--r--python/pyarmnn/src/pyarmnn/swig/armnn_deserializer.i1
-rw-r--r--python/pyarmnn/src/pyarmnn/swig/armnn_tfliteparser.i1
-rw-r--r--python/pyarmnn/src/pyarmnn/swig/modules/armnn_descriptors.i1
-rw-r--r--python/pyarmnn/src/pyarmnn/swig/modules/armnn_network.i1
-rw-r--r--python/pyarmnn/src/pyarmnn/swig/modules/armnn_types.i2
-rw-r--r--src/armnn/InternalTypes.hpp1
-rw-r--r--src/armnn/OptimizedNetworkImpl.hpp2
-rw-r--r--src/armnn/RangeTracker.hpp2
-rw-r--r--src/armnnSerializer/Serializer.hpp2
-rw-r--r--src/armnnUtils/DotSerializer.cpp1
-rw-r--r--src/backends/reference/workloads/Debug.cpp1
-rw-r--r--src/profiling/FileOnlyProfilingConnection.cpp2
-rw-r--r--src/profiling/IProfilingServiceStatus.hpp3
-rw-r--r--src/profiling/LabelsAndEventClasses.hpp3
-rw-r--r--src/profiling/PeriodicCounterCapture.hpp6
-rw-r--r--src/profiling/ProfilingGuidGenerator.hpp2
-rw-r--r--src/profiling/ProfilingService.cpp2
-rw-r--r--src/profiling/TimelineUtilityMethods.cpp5
-rw-r--r--src/profiling/test/ProfilingMocks.hpp2
-rw-r--r--tests/InferenceModel.hpp1
28 files changed, 171 insertions, 111 deletions
diff --git a/delegate/src/test/DelegateOptionsTest.cpp b/delegate/src/test/DelegateOptionsTest.cpp
index 8f6027df58..c7231fb279 100644
--- a/delegate/src/test/DelegateOptionsTest.cpp
+++ b/delegate/src/test/DelegateOptionsTest.cpp
@@ -4,6 +4,7 @@
//
#include "DelegateOptionsTestHelper.hpp"
+#include <common/include/ProfilingGuid.hpp>
namespace armnnDelegate
{
diff --git a/include/armnn/Types.hpp b/include/armnn/Types.hpp
index de475ab68f..d829bfae00 100644
--- a/include/armnn/Types.hpp
+++ b/include/armnn/Types.hpp
@@ -6,7 +6,6 @@
#include <array>
#include <functional>
-#include <memory>
#include <stdint.h>
#include <chrono>
#include "BackendId.hpp"
@@ -323,66 +322,6 @@ using DebugCallbackFunction = std::function<void(LayerGuid guid, unsigned int sl
using HighResolutionClock = std::chrono::high_resolution_clock::time_point;
using InferenceTimingPair = std::pair<HighResolutionClock, HighResolutionClock>;
-namespace profiling
-{
-
-static constexpr uint64_t MIN_STATIC_GUID = 1llu << 63;
-
-class ProfilingGuid
-{
-public:
- ProfilingGuid() : m_Guid(0) {}
-
- ProfilingGuid(uint64_t guid) : m_Guid(guid) {}
-
- operator uint64_t() const { return m_Guid; }
-
- bool operator==(const ProfilingGuid& other) const
- {
- return m_Guid == other.m_Guid;
- }
-
- bool operator!=(const ProfilingGuid& other) const
- {
- return m_Guid != other.m_Guid;
- }
-
- bool operator<(const ProfilingGuid& other) const
- {
- return m_Guid < other.m_Guid;
- }
-
- bool operator<=(const ProfilingGuid& other) const
- {
- return m_Guid <= other.m_Guid;
- }
-
- bool operator>(const ProfilingGuid& other) const
- {
- return m_Guid > other.m_Guid;
- }
-
- bool operator>=(const ProfilingGuid& other) const
- {
- return m_Guid >= other.m_Guid;
- }
-
-protected:
- uint64_t m_Guid;
-};
-
-/// Strongly typed guids to distinguish between those generated at runtime, and those that are statically defined.
-struct ProfilingDynamicGuid : public ProfilingGuid
-{
- using ProfilingGuid::ProfilingGuid;
-};
-
-struct ProfilingStaticGuid : public ProfilingGuid
-{
- using ProfilingGuid::ProfilingGuid;
-};
-
-} // namespace profiling
/// This list uses X macro technique.
/// See https://en.wikipedia.org/wiki/X_Macro for more info
@@ -468,37 +407,3 @@ enum class LayerType
const char* GetLayerTypeAsCString(LayerType type);
} // namespace armnn
-
-
-namespace std
-{
-/// make ProfilingGuid hashable
-template<>
-struct hash<armnn::profiling::ProfilingGuid>
-{
- std::size_t operator()(armnn::profiling::ProfilingGuid const& guid) const noexcept
- {
- return hash<uint64_t>()(uint64_t(guid));
- }
-};
-
-/// make ProfilingDynamicGuid hashable
-template<>
-struct hash<armnn::profiling::ProfilingDynamicGuid>
-{
- std::size_t operator()(armnn::profiling::ProfilingDynamicGuid const& guid) const noexcept
- {
- return hash<uint64_t>()(uint64_t(guid));
- }
-};
-
-/// make ProfilingStaticGuid hashable
-template<>
-struct hash<armnn::profiling::ProfilingStaticGuid>
-{
- std::size_t operator()(armnn::profiling::ProfilingStaticGuid const& guid) const noexcept
- {
- return hash<uint64_t>()(uint64_t(guid));
- }
-};
-} // namespace std
diff --git a/include/armnn/profiling/IProfilingGuidGenerator.hpp b/include/armnn/profiling/IProfilingGuidGenerator.hpp
index fb9f7401fb..95a210604e 100644
--- a/include/armnn/profiling/IProfilingGuidGenerator.hpp
+++ b/include/armnn/profiling/IProfilingGuidGenerator.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <armnn/Types.hpp>
+#include <common/include/ProfilingGuid.hpp>
#include <string>
diff --git a/profiling/common/include/CommandHandlerFunctor.hpp b/profiling/common/include/CommandHandlerFunctor.hpp
index 9827aa05ba..7e31a709a6 100644
--- a/profiling/common/include/CommandHandlerFunctor.hpp
+++ b/profiling/common/include/CommandHandlerFunctor.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include <Packet.hpp>
+#include "Packet.hpp"
#include <cstdint>
namespace arm
diff --git a/profiling/common/include/ProfilingGuid.hpp b/profiling/common/include/ProfilingGuid.hpp
new file mode 100644
index 0000000000..4d0dd9b3c9
--- /dev/null
+++ b/profiling/common/include/ProfilingGuid.hpp
@@ -0,0 +1,113 @@
+//
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include <memory>
+#include <stdint.h>
+
+namespace armnn
+{
+
+namespace profiling
+{
+
+static constexpr uint64_t MIN_STATIC_GUID = 1llu << 63;
+
+class ProfilingGuid
+{
+public:
+ ProfilingGuid() : m_Guid(0) {}
+
+ ProfilingGuid(uint64_t guid) : m_Guid(guid) {}
+
+ operator uint64_t() const { return m_Guid; }
+
+ bool operator==(const ProfilingGuid& other) const
+ {
+ return m_Guid == other.m_Guid;
+ }
+
+ bool operator!=(const ProfilingGuid& other) const
+ {
+ return m_Guid != other.m_Guid;
+ }
+
+ bool operator<(const ProfilingGuid& other) const
+ {
+ return m_Guid < other.m_Guid;
+ }
+
+ bool operator<=(const ProfilingGuid& other) const
+ {
+ return m_Guid <= other.m_Guid;
+ }
+
+ bool operator>(const ProfilingGuid& other) const
+ {
+ return m_Guid > other.m_Guid;
+ }
+
+ bool operator>=(const ProfilingGuid& other) const
+ {
+ return m_Guid >= other.m_Guid;
+ }
+
+ protected:
+ uint64_t m_Guid;
+};
+
+/// Strongly typed guids to distinguish between those generated at runtime, and those that are statically defined.
+struct ProfilingDynamicGuid : public ProfilingGuid
+{
+ using ProfilingGuid::ProfilingGuid;
+};
+
+struct ProfilingStaticGuid : public ProfilingGuid
+{
+ using ProfilingGuid::ProfilingGuid;
+};
+
+} // namespace profiling
+
+
+
+} // namespace armnn
+
+
+
+namespace std
+{
+/// make ProfilingGuid hashable
+template <>
+struct hash<armnn::profiling::ProfilingGuid>
+{
+ std::size_t operator()(armnn::profiling::ProfilingGuid const& guid) const noexcept
+ {
+ return hash<uint64_t>()(uint64_t(guid));
+ }
+};
+
+/// make ProfilingDynamicGuid hashable
+template <>
+struct hash<armnn::profiling::ProfilingDynamicGuid>
+{
+ std::size_t operator()(armnn::profiling::ProfilingDynamicGuid const& guid) const noexcept
+ {
+ return hash<uint64_t>()(uint64_t(guid));
+ }
+};
+
+/// make ProfilingStaticGuid hashable
+template <>
+struct hash<armnn::profiling::ProfilingStaticGuid>
+{
+ std::size_t operator()(armnn::profiling::ProfilingStaticGuid const& guid) const noexcept
+ {
+ return hash<uint64_t>()(uint64_t(guid));
+ }
+};
+
+} // namespace std \ No newline at end of file
diff --git a/python/pyarmnn/CMakeLists.txt b/python/pyarmnn/CMakeLists.txt
index 2ef81d9ab7..4823c4db92 100644
--- a/python/pyarmnn/CMakeLists.txt
+++ b/python/pyarmnn/CMakeLists.txt
@@ -13,7 +13,7 @@ configure_file(${SWIG_GENERATE_IN} ${SWIG_GENERATE} COPYONLY)
# local env variables passed down to the python scripts
# scripts can thus be used standalone
-set(ARMNN_ENV ARMNN_INCLUDE=${PROJECT_SOURCE_DIR}/include
+set(ARMNN_ENV ARMNN_INCLUDE="${PROJECT_SOURCE_DIR}/include,${PROJECT_SOURCE_DIR}/profiling/common/include"
ARMNN_LIB=${PROJECT_BINARY_DIR}
SWIG_EXECUTABLE=${SWIG_EXECUTABLE})
diff --git a/python/pyarmnn/setup.py b/python/pyarmnn/setup.py
index 78868549f3..7bc4a47619 100755
--- a/python/pyarmnn/setup.py
+++ b/python/pyarmnn/setup.py
@@ -124,12 +124,25 @@ def find_includes(armnn_include_env: str = INCLUDE_ENV_NAME):
Returns:
list: A list of paths to include.
"""
- armnn_include_path = os.getenv(armnn_include_env)
- if armnn_include_path is not None and os.path.exists(armnn_include_path):
- armnn_include_path = [armnn_include_path]
- else:
- armnn_include_path = ['/usr/local/include', '/usr/include']
- return armnn_include_path
+
+ # split multiple paths
+ global armnn_include_path
+ armnn_include_path_raw = os.getenv(armnn_include_env)
+ if not armnn_include_path_raw == None:
+ armnn_include_path = armnn_include_path_raw.split(",")
+
+ # validate input paths
+ armnn_include_path_result = []
+ for path in armnn_include_path:
+ if path is not None and os.path.exists(path):
+ armnn_include_path_result = armnn_include_path_result + [path]
+
+
+ # if none exist revert to default
+ if len(armnn_include_path_result) == 0:
+ armnn_include_path_result = ['/usr/local/include', '/usr/include']
+ return armnn_include_path_result
+
@lru_cache(maxsize=1)
diff --git a/python/pyarmnn/src/pyarmnn/swig/armnn.i b/python/pyarmnn/src/pyarmnn/swig/armnn.i
index 2227c9b20a..172d2d80cf 100644
--- a/python/pyarmnn/src/pyarmnn/swig/armnn.i
+++ b/python/pyarmnn/src/pyarmnn/swig/armnn.i
@@ -6,6 +6,7 @@
%{
#define SWIG_FILE_WITH_INIT
#include "armnn/Types.hpp"
+#include "ProfilingGuid.hpp"
%}
//typemap definitions and other common stuff
diff --git a/python/pyarmnn/src/pyarmnn/swig/armnn_deserializer.i b/python/pyarmnn/src/pyarmnn/swig/armnn_deserializer.i
index bc8228a5eb..073fadaba9 100644
--- a/python/pyarmnn/src/pyarmnn/swig/armnn_deserializer.i
+++ b/python/pyarmnn/src/pyarmnn/swig/armnn_deserializer.i
@@ -6,6 +6,7 @@
%{
#include "armnnDeserializer/IDeserializer.hpp"
#include "armnn/Types.hpp"
+#include "ProfilingGuid.hpp"
#include "armnn/INetwork.hpp"
#include "armnn/Exceptions.hpp"
#include <string>
diff --git a/python/pyarmnn/src/pyarmnn/swig/armnn_tfliteparser.i b/python/pyarmnn/src/pyarmnn/swig/armnn_tfliteparser.i
index 3ed5d6b8fd..d2d79cc627 100644
--- a/python/pyarmnn/src/pyarmnn/swig/armnn_tfliteparser.i
+++ b/python/pyarmnn/src/pyarmnn/swig/armnn_tfliteparser.i
@@ -6,6 +6,7 @@
%{
#include "armnnTfLiteParser/ITfLiteParser.hpp"
#include "armnn/Types.hpp"
+#include "ProfilingGuid.hpp"
#include "armnn/INetwork.hpp"
%}
diff --git a/python/pyarmnn/src/pyarmnn/swig/modules/armnn_descriptors.i b/python/pyarmnn/src/pyarmnn/swig/modules/armnn_descriptors.i
index a050722bb9..00b835bfb3 100644
--- a/python/pyarmnn/src/pyarmnn/swig/modules/armnn_descriptors.i
+++ b/python/pyarmnn/src/pyarmnn/swig/modules/armnn_descriptors.i
@@ -5,6 +5,7 @@
%{
#include "armnn/Descriptors.hpp"
#include "armnn/Types.hpp"
+#include "ProfilingGuid.hpp"
%}
namespace std {
diff --git a/python/pyarmnn/src/pyarmnn/swig/modules/armnn_network.i b/python/pyarmnn/src/pyarmnn/swig/modules/armnn_network.i
index 57bf355253..7dc88ac176 100644
--- a/python/pyarmnn/src/pyarmnn/swig/modules/armnn_network.i
+++ b/python/pyarmnn/src/pyarmnn/swig/modules/armnn_network.i
@@ -6,6 +6,7 @@
#include "armnn/INetwork.hpp"
#include "armnn/BackendId.hpp"
#include "armnn/Types.hpp"
+#include "ProfilingGuid.hpp"
#include "armnn/Optional.hpp"
#include <fstream>
%}
diff --git a/python/pyarmnn/src/pyarmnn/swig/modules/armnn_types.i b/python/pyarmnn/src/pyarmnn/swig/modules/armnn_types.i
index e0ad174440..b838fce53d 100644
--- a/python/pyarmnn/src/pyarmnn/swig/modules/armnn_types.i
+++ b/python/pyarmnn/src/pyarmnn/swig/modules/armnn_types.i
@@ -4,6 +4,7 @@
//
%{
#include "armnn/Types.hpp"
+#include "ProfilingGuid.hpp"
%}
%include <typemaps/permutation_vector.i>
@@ -110,6 +111,7 @@ Returns:
#define ARMNN_DEPRECATED_ENUM // SWIG does not support C++ attributes, need this to help generate from Deprecated.hpp.
#define ARMNN_DEPRECATED_ENUM_MSG(message) // SWIG does not support C++ attributes, need this to help generate from Deprecated.hpp.
%include "armnn/Types.hpp"
+%include "ProfilingGuid.hpp"
diff --git a/src/armnn/InternalTypes.hpp b/src/armnn/InternalTypes.hpp
index 9850520116..a46250546d 100644
--- a/src/armnn/InternalTypes.hpp
+++ b/src/armnn/InternalTypes.hpp
@@ -5,6 +5,7 @@
#pragma once
#include <armnn/Types.hpp>
+#include <common/include/ProfilingGuid.hpp>
#include <array>
diff --git a/src/armnn/OptimizedNetworkImpl.hpp b/src/armnn/OptimizedNetworkImpl.hpp
index 25bf9ca49c..fe55ca233b 100644
--- a/src/armnn/OptimizedNetworkImpl.hpp
+++ b/src/armnn/OptimizedNetworkImpl.hpp
@@ -3,6 +3,8 @@
// SPDX-License-Identifier: MIT
//
+#include <common/include/ProfilingGuid.hpp>
+
namespace armnn
{
diff --git a/src/armnn/RangeTracker.hpp b/src/armnn/RangeTracker.hpp
index 6662775e38..89d19acf79 100644
--- a/src/armnn/RangeTracker.hpp
+++ b/src/armnn/RangeTracker.hpp
@@ -8,6 +8,8 @@
#include <armnn/INetwork.hpp>
#include <armnn/Types.hpp>
+#include <common/include/ProfilingGuid.hpp>
+
#include <utility>
#include <unordered_map>
diff --git a/src/armnnSerializer/Serializer.hpp b/src/armnnSerializer/Serializer.hpp
index 022cf64592..7bbcc2464e 100644
--- a/src/armnnSerializer/Serializer.hpp
+++ b/src/armnnSerializer/Serializer.hpp
@@ -10,6 +10,8 @@
#include <armnnSerializer/ISerializer.hpp>
+#include <common/include/ProfilingGuid.hpp>
+
#include <unordered_map>
#include "ArmnnSchema_generated.h"
diff --git a/src/armnnUtils/DotSerializer.cpp b/src/armnnUtils/DotSerializer.cpp
index 87376e61d1..0262b71cf2 100644
--- a/src/armnnUtils/DotSerializer.cpp
+++ b/src/armnnUtils/DotSerializer.cpp
@@ -5,6 +5,7 @@
#include "DotSerializer.hpp"
#include "armnn/utility/StringUtils.hpp"
+#include <common/include/ProfilingGuid.hpp>
#include <sstream>
#include <cstring>
diff --git a/src/backends/reference/workloads/Debug.cpp b/src/backends/reference/workloads/Debug.cpp
index df05ad73dc..24000d45e6 100644
--- a/src/backends/reference/workloads/Debug.cpp
+++ b/src/backends/reference/workloads/Debug.cpp
@@ -4,6 +4,7 @@
//
#include "Debug.hpp"
+#include <common/include/ProfilingGuid.hpp>
#include <BFloat16.hpp>
#include <Half.hpp>
diff --git a/src/profiling/FileOnlyProfilingConnection.cpp b/src/profiling/FileOnlyProfilingConnection.cpp
index a21ec2ff02..3b3d7a8284 100644
--- a/src/profiling/FileOnlyProfilingConnection.cpp
+++ b/src/profiling/FileOnlyProfilingConnection.cpp
@@ -4,11 +4,11 @@
//
#include "FileOnlyProfilingConnection.hpp"
-#include "PacketVersionResolver.hpp"
#include <armnn/Exceptions.hpp>
#include <common/include/Constants.hpp>
#include <common/include/ProfilingException.hpp>
+#include <common/include/PacketVersionResolver.hpp>
#include <algorithm>
#include <iostream>
diff --git a/src/profiling/IProfilingServiceStatus.hpp b/src/profiling/IProfilingServiceStatus.hpp
index 45d4aac088..1d272463ae 100644
--- a/src/profiling/IProfilingServiceStatus.hpp
+++ b/src/profiling/IProfilingServiceStatus.hpp
@@ -5,9 +5,10 @@
#pragma once
-#include <Packet.hpp>
#include <armnn/profiling/ILocalPacketHandler.hpp>
+#include <common/include/Packet.hpp>
+
#include <cstdint>
namespace armnn
diff --git a/src/profiling/LabelsAndEventClasses.hpp b/src/profiling/LabelsAndEventClasses.hpp
index b06b9a1488..dad27e1aed 100644
--- a/src/profiling/LabelsAndEventClasses.hpp
+++ b/src/profiling/LabelsAndEventClasses.hpp
@@ -6,8 +6,7 @@
#pragma once
#include "ProfilingGuidGenerator.hpp"
-
-#include <armnn/Types.hpp>
+#include <common/include/ProfilingGuid.hpp>
#include <DllExport.hpp>
namespace armnn
diff --git a/src/profiling/PeriodicCounterCapture.hpp b/src/profiling/PeriodicCounterCapture.hpp
index ac084af3dc..b7b1a20e1c 100644
--- a/src/profiling/PeriodicCounterCapture.hpp
+++ b/src/profiling/PeriodicCounterCapture.hpp
@@ -7,15 +7,17 @@
#include "IPeriodicCounterCapture.hpp"
#include "Holder.hpp"
-#include <Packet.hpp>
#include "SendCounterPacket.hpp"
#include "ICounterValues.hpp"
#include "CounterIdMap.hpp"
+#include <armnn/backends/profiling/IBackendProfilingContext.hpp>
+
+#include <common/include/Packet.hpp>
+
#include <atomic>
#include <mutex>
#include <thread>
-#include <armnn/backends/profiling/IBackendProfilingContext.hpp>
namespace armnn
{
diff --git a/src/profiling/ProfilingGuidGenerator.hpp b/src/profiling/ProfilingGuidGenerator.hpp
index 86f9ce09de..3798e0cc2d 100644
--- a/src/profiling/ProfilingGuidGenerator.hpp
+++ b/src/profiling/ProfilingGuidGenerator.hpp
@@ -7,6 +7,8 @@
#include "armnn/profiling/IProfilingGuidGenerator.hpp"
+#include <common/include/ProfilingGuid.hpp>
+
#include <functional>
#include <mutex>
diff --git a/src/profiling/ProfilingService.cpp b/src/profiling/ProfilingService.cpp
index 6fe52f845e..fe407e478a 100644
--- a/src/profiling/ProfilingService.cpp
+++ b/src/profiling/ProfilingService.cpp
@@ -9,6 +9,8 @@
#include <armnn/Logging.hpp>
#include <armnn/utility/NumericCast.hpp>
+#include <common/include/ProfilingGuid.hpp>
+
#include <common/include/SocketConnectionException.hpp>
#include <fmt/format.h>
diff --git a/src/profiling/TimelineUtilityMethods.cpp b/src/profiling/TimelineUtilityMethods.cpp
index e72894a6ab..f49801b0a8 100644
--- a/src/profiling/TimelineUtilityMethods.cpp
+++ b/src/profiling/TimelineUtilityMethods.cpp
@@ -3,9 +3,12 @@
// SPDX-License-Identifier: MIT
//
#include "LabelsAndEventClasses.hpp"
-#include <Threads.hpp>
#include "TimelineUtilityMethods.hpp"
+#include <common/include/ProfilingGuid.hpp>
+
+#include <Threads.hpp>
+
namespace armnn
{
diff --git a/src/profiling/test/ProfilingMocks.hpp b/src/profiling/test/ProfilingMocks.hpp
index 19d79e25e7..a34c849302 100644
--- a/src/profiling/test/ProfilingMocks.hpp
+++ b/src/profiling/test/ProfilingMocks.hpp
@@ -21,6 +21,8 @@
#include <armnn/utility/IgnoreUnused.hpp>
#include <armnn/utility/NumericCast.hpp>
+#include <common/include/ProfilingGuid.hpp>
+
#include <atomic>
#include <condition_variable>
#include <mutex>
diff --git a/tests/InferenceModel.hpp b/tests/InferenceModel.hpp
index fd2ab5f6ba..9d6096a3eb 100644
--- a/tests/InferenceModel.hpp
+++ b/tests/InferenceModel.hpp
@@ -11,6 +11,7 @@
#include <armnn/BackendRegistry.hpp>
#include <armnn/utility/Assert.hpp>
#include <armnn/utility/NumericCast.hpp>
+#include <common/include/ProfilingGuid.hpp>
#if defined(ARMNN_SERIALIZER)
#include "armnnDeserializer/IDeserializer.hpp"