aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/test/ProfilingTestUtils.hpp
diff options
context:
space:
mode:
authorNarumol Prangnawarat <narumol.prangnawarat@arm.com>2019-11-22 11:26:06 +0000
committerJim Flynn Arm <jim.flynn@arm.com>2019-11-29 17:01:45 +0000
commitdf31cfe29f9dccc4c2055a1d2a97de644b07d522 (patch)
tree15e848d398c35e669ecb0cff574907c4bd1662b9 /src/profiling/test/ProfilingTestUtils.hpp
parenta68d8530d3dcfc7c54b9c2bfa00b407f45145253 (diff)
downloadarmnn-df31cfe29f9dccc4c2055a1d2a97de644b07d522.tar.gz
IVGCVSW-4070 Implement "send post-optimized network structure"
* Send post-optimisation network structure if profiling service is enabled * Refactor TimelineUtilityMethods * Fix RecordEvent to link eventGuid with eventClassGuid * Add common types and guid to LabelsAndEventClasses * Add CreateRelationship to TimelineUtilityMethods * Add CreateTypedEntity to TimelineUtilityMethods * Add MarkEntityWithType to TimelineUtilityMethods * Move VerifyTimeline functions to ProfilingTestUtils * Post-optimisation network structure unit tests to Ref, Cl, Neon Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I0194f2037c236450c912f4c3cb11e46b80c0f512
Diffstat (limited to 'src/profiling/test/ProfilingTestUtils.hpp')
-rw-r--r--src/profiling/test/ProfilingTestUtils.hpp70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/profiling/test/ProfilingTestUtils.hpp b/src/profiling/test/ProfilingTestUtils.hpp
new file mode 100644
index 0000000000..7fb5d62591
--- /dev/null
+++ b/src/profiling/test/ProfilingTestUtils.hpp
@@ -0,0 +1,70 @@
+//
+// Copyright © 2019 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include "ProfilingUtils.hpp"
+
+#include <armnn/BackendId.hpp>
+#include <armnn/Optional.hpp>
+#include <armnn/Types.hpp>
+#include <BufferManager.hpp>
+#include <ProfilingService.hpp>
+
+using namespace armnn;
+using namespace armnn::profiling;
+
+inline unsigned int OffsetToNextWord(unsigned int numberOfBytes);
+
+void VerifyTimelineLabelBinaryPacket(Optional<ProfilingGuid> guid,
+ const std::string& label,
+ const unsigned char* readableData,
+ unsigned int& offset);
+
+void VerifyTimelineEventClassBinaryPacket(ProfilingGuid guid,
+ const unsigned char* readableData,
+ unsigned int& offset);
+
+void VerifyTimelineRelationshipBinaryPacket(ProfilingRelationshipType relationshipType,
+ Optional<ProfilingGuid> relationshipGuid,
+ Optional<ProfilingGuid> headGuid,
+ Optional<ProfilingGuid> tailGuid,
+ const unsigned char* readableData,
+ unsigned int& offset);
+
+void VerifyTimelineEntityBinaryPacket(Optional<ProfilingGuid> guid,
+ const unsigned char* readableData,
+ unsigned int& offset);
+
+void VerifyTimelineEventBinaryPacket(Optional<uint64_t> timestamp,
+ Optional<std::thread::id> threadId,
+ Optional<ProfilingGuid> eventGuid,
+ const unsigned char* readableData,
+ unsigned int& offset);
+
+void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId);
+
+namespace armnn
+{
+
+namespace profiling
+{
+
+class ProfilingServiceRuntimeHelper : public ProfilingService
+{
+public:
+ ProfilingServiceRuntimeHelper() = default;
+ ~ProfilingServiceRuntimeHelper() = default;
+
+ BufferManager& GetProfilingBufferManager()
+ {
+ return GetBufferManager(ProfilingService::Instance());
+ }
+};
+
+} // namespace profiling
+
+} // namespace armnn
+