blob: 7fb5d625913ffb4a615a86560275f37db1497ac5 [file] [log] [blame]
Narumol Prangnawaratdf31cfe2019-11-22 11:26:06 +00001//
2// Copyright © 2019 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "ProfilingUtils.hpp"
9
10#include <armnn/BackendId.hpp>
11#include <armnn/Optional.hpp>
12#include <armnn/Types.hpp>
13#include <BufferManager.hpp>
14#include <ProfilingService.hpp>
15
16using namespace armnn;
17using namespace armnn::profiling;
18
19inline unsigned int OffsetToNextWord(unsigned int numberOfBytes);
20
21void VerifyTimelineLabelBinaryPacket(Optional<ProfilingGuid> guid,
22 const std::string& label,
23 const unsigned char* readableData,
24 unsigned int& offset);
25
26void VerifyTimelineEventClassBinaryPacket(ProfilingGuid guid,
27 const unsigned char* readableData,
28 unsigned int& offset);
29
30void VerifyTimelineRelationshipBinaryPacket(ProfilingRelationshipType relationshipType,
31 Optional<ProfilingGuid> relationshipGuid,
32 Optional<ProfilingGuid> headGuid,
33 Optional<ProfilingGuid> tailGuid,
34 const unsigned char* readableData,
35 unsigned int& offset);
36
37void VerifyTimelineEntityBinaryPacket(Optional<ProfilingGuid> guid,
38 const unsigned char* readableData,
39 unsigned int& offset);
40
41void VerifyTimelineEventBinaryPacket(Optional<uint64_t> timestamp,
42 Optional<std::thread::id> threadId,
43 Optional<ProfilingGuid> eventGuid,
44 const unsigned char* readableData,
45 unsigned int& offset);
46
47void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId);
48
49namespace armnn
50{
51
52namespace profiling
53{
54
55class ProfilingServiceRuntimeHelper : public ProfilingService
56{
57public:
58 ProfilingServiceRuntimeHelper() = default;
59 ~ProfilingServiceRuntimeHelper() = default;
60
61 BufferManager& GetProfilingBufferManager()
62 {
63 return GetBufferManager(ProfilingService::Instance());
64 }
65};
66
67} // namespace profiling
68
69} // namespace armnn
70