IVGCVSW-4156 Remove backend dependency on ProfilingService.hpp
Change-Id: I3b18ede85408bdfbc5147396e183e87bdabd3754
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 21d1336..88f6396 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -224,6 +224,7 @@
include/armnn/ILayerVisitor.hpp
include/armnn/INetwork.hpp
include/armnn/IProfiler.hpp
+ include/armnn/IProfilingGuidGenerator.hpp
include/armnn/IRuntime.hpp
include/armnn/LayerSupport.hpp
include/armnn/LayerVisitorBase.hpp
@@ -467,7 +468,6 @@
src/profiling/IPeriodicCounterCapture.hpp
src/profiling/IProfilingConnection.hpp
src/profiling/IProfilingConnectionFactory.hpp
- src/profiling/IProfilingGuidGenerator.hpp
src/profiling/LabelsAndEventClasses.cpp
src/profiling/LabelsAndEventClasses.hpp
src/profiling/Packet.hpp
diff --git a/src/profiling/IProfilingGuidGenerator.hpp b/include/armnn/IProfilingGuidGenerator.hpp
similarity index 91%
rename from src/profiling/IProfilingGuidGenerator.hpp
rename to include/armnn/IProfilingGuidGenerator.hpp
index fb9f740..4dcc6cd 100644
--- a/src/profiling/IProfilingGuidGenerator.hpp
+++ b/include/armnn/IProfilingGuidGenerator.hpp
@@ -25,6 +25,8 @@
virtual ProfilingStaticGuid GenerateStaticId(const std::string& str) = 0;
virtual ~IProfilingGuidGenerator() {}
+
+ static IProfilingGuidGenerator& Instance();
};
} // namespace profiling
diff --git a/src/backends/backendsCommon/Workload.hpp b/src/backends/backendsCommon/Workload.hpp
index b5851ad..e390580 100644
--- a/src/backends/backendsCommon/Workload.hpp
+++ b/src/backends/backendsCommon/Workload.hpp
@@ -8,8 +8,8 @@
#include "WorkloadInfo.hpp"
#include <armnn/Types.hpp>
+#include <armnn/IProfilingGuidGenerator.hpp>
#include <Profiling.hpp>
-#include <ProfilingService.hpp>
#include <algorithm>
@@ -45,7 +45,7 @@
BaseWorkload(const QueueDescriptor& descriptor, const WorkloadInfo& info)
: m_Data(descriptor),
- m_Guid(profiling::ProfilingService::Instance().NextGuid())
+ m_Guid(profiling::IProfilingGuidGenerator::Instance().NextGuid())
{
m_Data.Validate(info);
}
diff --git a/src/profiling/ProfilingGuidGenerator.hpp b/src/profiling/ProfilingGuidGenerator.hpp
index 97de4a8..45f523c 100644
--- a/src/profiling/ProfilingGuidGenerator.hpp
+++ b/src/profiling/ProfilingGuidGenerator.hpp
@@ -5,7 +5,7 @@
#pragma once
-#include "IProfilingGuidGenerator.hpp"
+#include "armnn/IProfilingGuidGenerator.hpp"
#include <functional>
diff --git a/src/profiling/ProfilingService.cpp b/src/profiling/ProfilingService.cpp
index c4063a5..cbd8d6b 100644
--- a/src/profiling/ProfilingService.cpp
+++ b/src/profiling/ProfilingService.cpp
@@ -14,6 +14,11 @@
namespace profiling
{
+IProfilingGuidGenerator& IProfilingGuidGenerator::Instance()
+{
+ return ProfilingService::Instance();
+}
+
void ProfilingService::ResetExternalProfilingOptions(const ExternalProfilingOptions& options,
bool resetProfilingService)
{