diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2019-11-22 11:26:06 +0000 |
---|---|---|
committer | Jim Flynn Arm <jim.flynn@arm.com> | 2019-11-29 17:01:45 +0000 |
commit | df31cfe29f9dccc4c2055a1d2a97de644b07d522 (patch) | |
tree | 15e848d398c35e669ecb0cff574907c4bd1662b9 /src/profiling/test/ProfilingTestUtils.hpp | |
parent | a68d8530d3dcfc7c54b9c2bfa00b407f45145253 (diff) | |
download | armnn-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.hpp | 70 |
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 + |