aboutsummaryrefslogtreecommitdiff
path: root/21.02/_profiling_test_utils_8cpp_source.xhtml
blob: ce68e1916e5bb339f3b8097e775570e51aae398f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
<!-- Copyright (c) 2020 ARM Limited. -->
<!--                                 -->
<!-- SPDX-License-Identifier: MIT    -->
<!--                                 -->
<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ArmNN: src/profiling/test/ProfilingTestUtils.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">21.02</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_profiling_test_utils_8cpp_source.xhtml','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">ProfilingTestUtils.cpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_profiling_test_utils_8cpp.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// Copyright © 2019 Arm Ltd and Contributors. All rights reserved.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// SPDX-License-Identifier: MIT</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_profiling_test_utils_8hpp.xhtml">ProfilingTestUtils.hpp</a>&quot;</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_profiling_utils_8hpp.xhtml">ProfilingUtils.hpp</a>&quot;</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_descriptors_8hpp.xhtml">armnn/Descriptors.hpp</a>&gt;</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_numeric_cast_8hpp.xhtml">armnn/utility/NumericCast.hpp</a>&gt;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_labels_and_event_classes_8hpp.xhtml">LabelsAndEventClasses.hpp</a>&gt;</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_processes_8hpp.xhtml">Processes.hpp</a>&gt;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_profiling_service_8hpp.xhtml">ProfilingService.hpp</a>&gt;</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_threads_8hpp.xhtml">Threads.hpp</a>&gt;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_test_utils_8hpp.xhtml">test/TestUtils.hpp</a>&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;boost/test/unit_test.hpp&gt;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="_profiling_test_utils_8hpp.xhtml#aa449021ed1a9de7abcdbd0ca903577db">   21</a></span>&#160;uint32_t <a class="code" href="_profiling_test_utils_8cpp.xhtml#aa449021ed1a9de7abcdbd0ca903577db">GetStreamMetaDataPacketSize</a>()</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;{</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    uint32_t sizeUint32 = <span class="keyword">sizeof</span>(uint32_t);</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    uint32_t payloadSize = 0;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    payloadSize += <a class="code" href="namespacearmnn.xhtml#a375ca3cff9f1b005d1412dc5f3cf5b6e">armnn::numeric_cast</a>&lt;uint32_t&gt;(<a class="code" href="namespacearmnn_1_1profiling.xhtml#af38e9c5d82c9317255665a6315842166">GetSoftwareInfo</a>().size()) + 1;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    payloadSize += <a class="code" href="namespacearmnn.xhtml#a375ca3cff9f1b005d1412dc5f3cf5b6e">armnn::numeric_cast</a>&lt;uint32_t&gt;(<a class="code" href="namespacearmnn_1_1profiling.xhtml#a66ccd202fa7bf1e52476e61d49a45ee6">GetHardwareVersion</a>().size()) + 1;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    payloadSize += <a class="code" href="namespacearmnn.xhtml#a375ca3cff9f1b005d1412dc5f3cf5b6e">armnn::numeric_cast</a>&lt;uint32_t&gt;(<a class="code" href="namespacearmnn_1_1profiling.xhtml#a1a90cae723e311b3b71272a7f5ecccbb">GetSoftwareVersion</a>().size()) + 1;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    payloadSize += <a class="code" href="namespacearmnn.xhtml#a375ca3cff9f1b005d1412dc5f3cf5b6e">armnn::numeric_cast</a>&lt;uint32_t&gt;(<a class="code" href="namespacearmnn_1_1profiling.xhtml#a52fbcd350a9f12a385a7c5562c1efd9a">GetProcessName</a>().size()) + 1;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <span class="comment">// Add packetVersionEntries</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    payloadSize += 13 * 2 * sizeUint32;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <span class="comment">// Add packetVersionCountSize</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    payloadSize += sizeUint32;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    uint32_t headerSize = 2 * sizeUint32;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    uint32_t bodySize = 10 * sizeUint32;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="keywordflow">return</span> headerSize + bodySize + payloadSize;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;}</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="_profiling_test_utils_8hpp.xhtml#ae64165cd8af458ef4a8634c51892ef08">   41</a></span>&#160;std::vector&lt;BackendId&gt; <a class="code" href="_profiling_test_utils_8cpp.xhtml#ae64165cd8af458ef4a8634c51892ef08">GetSuitableBackendRegistered</a>()</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    std::vector&lt;BackendId&gt; suitableBackends;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="namespacearmnn.xhtml#ac2807505b850738bc8a1991ce669dd47">BackendRegistryInstance</a>().IsBackendRegistered(<a class="code" href="namespacearmnn.xhtml#a6bab17bfd45c2fa4592c431bc25ad10e">GetComputeDeviceAsCString</a>(<a class="code" href="namespacearmnn.xhtml#ae2f04a162585c0a5222a537efd5456aea83c2c4e9b658ccafbcbe6309c5d84c64">armnn::Compute::CpuRef</a>)))</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    {</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        suitableBackends.push_back(<a class="code" href="namespacearmnn.xhtml#ae2f04a162585c0a5222a537efd5456aea83c2c4e9b658ccafbcbe6309c5d84c64">armnn::Compute::CpuRef</a>);</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    }</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="namespacearmnn.xhtml#ac2807505b850738bc8a1991ce669dd47">BackendRegistryInstance</a>().IsBackendRegistered(<a class="code" href="namespacearmnn.xhtml#a6bab17bfd45c2fa4592c431bc25ad10e">GetComputeDeviceAsCString</a>(<a class="code" href="namespacearmnn.xhtml#ae2f04a162585c0a5222a537efd5456aea39f8662ca778258e9c6a14f26fec5ec1">armnn::Compute::CpuAcc</a>)))</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    {</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        suitableBackends.push_back(<a class="code" href="namespacearmnn.xhtml#ae2f04a162585c0a5222a537efd5456aea39f8662ca778258e9c6a14f26fec5ec1">armnn::Compute::CpuAcc</a>);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    }</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="namespacearmnn.xhtml#ac2807505b850738bc8a1991ce669dd47">BackendRegistryInstance</a>().IsBackendRegistered(<a class="code" href="namespacearmnn.xhtml#a6bab17bfd45c2fa4592c431bc25ad10e">GetComputeDeviceAsCString</a>(<a class="code" href="namespacearmnn.xhtml#ae2f04a162585c0a5222a537efd5456aeafaa4524e3df19ada32643ce9a222362b">armnn::Compute::GpuAcc</a>)))</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    {</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        suitableBackends.push_back(<a class="code" href="namespacearmnn.xhtml#ae2f04a162585c0a5222a537efd5456aeafaa4524e3df19ada32643ce9a222362b">armnn::Compute::GpuAcc</a>);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    }</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <span class="keywordflow">return</span> suitableBackends;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;}</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="_profiling_test_utils_8hpp.xhtml#a197f0ee221203c2b65fbef6e9da54941">   59</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="_profiling_test_utils_8cpp.xhtml#a197f0ee221203c2b65fbef6e9da54941">OffsetToNextWord</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numberOfBytes)</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;{</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a> = <span class="keyword">sizeof</span>(uint32_t);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> remainder = numberOfBytes % <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a>;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keywordflow">if</span> (remainder == 0)</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    {</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        <span class="keywordflow">return</span> numberOfBytes;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    }</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordflow">return</span> numberOfBytes + uint32_t_size - remainder;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;}</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="_profiling_test_utils_8hpp.xhtml#a6bd6e8ba2f989621f7348d2bb6ce13a4">   72</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6bd6e8ba2f989621f7348d2bb6ce13a4">VerifyTimelineHeaderBinary</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* readableData,</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                                <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; offset,</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                                uint32_t packetDataLength)</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;{</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <a class="code" href="_assert_8hpp.xhtml#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(readableData);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="comment">// Utils</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a> = <span class="keyword">sizeof</span>(uint32_t);</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="comment">// Check the TimelineEventClassBinaryPacket header</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    uint32_t timelineBinaryPacketHeaderWord0 = <a class="code" href="namespacearmnn_1_1profiling.xhtml#ad56f4c3ea5e88279bb6ef1f31d9dc6df">ReadUint32</a>(readableData, offset);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    uint32_t timelineBinaryPacketFamily      = (timelineBinaryPacketHeaderWord0 &gt;&gt; 26) &amp; 0x0000003F;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    uint32_t timelineBinaryPacketClass       = (timelineBinaryPacketHeaderWord0 &gt;&gt; 19) &amp; 0x0000007F;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    uint32_t timelineBinaryPacketType        = (timelineBinaryPacketHeaderWord0 &gt;&gt; 16) &amp; 0x00000007;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    uint32_t timelineBinaryPacketStreamId    = (timelineBinaryPacketHeaderWord0 &gt;&gt;  0) &amp; 0x00000007;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    BOOST_CHECK(timelineBinaryPacketFamily   == 1);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    BOOST_CHECK(timelineBinaryPacketClass    == 0);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    BOOST_CHECK(timelineBinaryPacketType     == 1);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    BOOST_CHECK(timelineBinaryPacketStreamId == 0);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    offset += <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a>;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    uint32_t timelineBinaryPacketHeaderWord1   = <a class="code" href="namespacearmnn_1_1profiling.xhtml#ad56f4c3ea5e88279bb6ef1f31d9dc6df">ReadUint32</a>(readableData, offset);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    uint32_t timelineBinaryPacketSequenceNumber = (timelineBinaryPacketHeaderWord1 &gt;&gt; 24) &amp; 0x00000001;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    uint32_t timelineBinaryPacketDataLength     = (timelineBinaryPacketHeaderWord1 &gt;&gt;  0) &amp; 0x00FFFFFF;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    BOOST_CHECK(timelineBinaryPacketSequenceNumber == 0);</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    BOOST_CHECK(timelineBinaryPacketDataLength     == packetDataLength);</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    offset += <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a>;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;}</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="_profiling_test_utils_8hpp.xhtml#adc7f226dc73412440c4588cf685fab40">  100</a></span>&#160;<a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> <a class="code" href="_profiling_test_utils_8cpp.xhtml#adc7f226dc73412440c4588cf685fab40">VerifyTimelineLabelBinaryPacketData</a>(<a class="code" href="classarmnn_1_1_optional.xhtml">Optional&lt;ProfilingGuid&gt;</a> guid,</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                                                  <span class="keyword">const</span> std::string&amp; label,</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                                                  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* readableData,</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                                                  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; offset)</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;{</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <a class="code" href="_assert_8hpp.xhtml#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(readableData);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="comment">// Utils</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a> = <span class="keyword">sizeof</span>(uint32_t);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uint64_t_size = <span class="keyword">sizeof</span>(uint64_t);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> label_size    = <a class="code" href="namespacearmnn.xhtml#a375ca3cff9f1b005d1412dc5f3cf5b6e">armnn::numeric_cast</a>&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&gt;(label.size());</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="comment">// Check the decl id</span></div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    uint32_t eventClassDeclId = <a class="code" href="namespacearmnn_1_1profiling.xhtml#ad56f4c3ea5e88279bb6ef1f31d9dc6df">ReadUint32</a>(readableData, offset);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    BOOST_CHECK(eventClassDeclId == 0);</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <span class="comment">// Check the profiling GUID</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    offset += <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a>;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    uint64_t readProfilingGuid = <a class="code" href="namespacearmnn_1_1profiling.xhtml#aa4de2b511faa41accc2c35cadf051124">ReadUint64</a>(readableData, offset);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keywordflow">if</span> (guid.<a class="code" href="classarmnn_1_1_optional_base.xhtml#a86b749ce2c4bc627fa8a1fcfaf0e314f">has_value</a>())</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    {</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        BOOST_CHECK(readProfilingGuid == guid.<a class="code" href="classarmnn_1_1_optional_reference_switch.xhtml#a77c7d528ac063d870b8c8426ec81c1c3">value</a>());</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    }</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    {</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        <a class="code" href="classarmnn_1_1profiling_1_1_profiling_service.xhtml">armnn::profiling::ProfilingService</a> profilingService;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        BOOST_CHECK(readProfilingGuid == profilingService.<a class="code" href="classarmnn_1_1profiling_1_1_profiling_service.xhtml#a881aa03d7b35e6d0acd783f2aaa22ac9">GetStaticId</a>(label));</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    }</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="comment">// Check the SWTrace label</span></div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    offset += uint64_t_size;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    uint32_t swTraceLabelLength = <a class="code" href="namespacearmnn_1_1profiling.xhtml#ad56f4c3ea5e88279bb6ef1f31d9dc6df">ReadUint32</a>(readableData, offset);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    BOOST_CHECK(swTraceLabelLength == label_size + 1);               <span class="comment">// Label length including the null-terminator</span></div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    offset += <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a>;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    BOOST_CHECK(std::memcmp(readableData + offset,                  <span class="comment">// Offset to the label in the buffer</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;                               label.data(),                           <span class="comment">// The original label</span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;                               swTraceLabelLength - 1) == 0);          <span class="comment">// The length of the label</span></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="comment">// SWTrace strings are written in blocks of words, so the offset has to be updated to the next whole word</span></div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    offset += <a class="code" href="_profiling_test_utils_8cpp.xhtml#a197f0ee221203c2b65fbef6e9da54941">OffsetToNextWord</a>(swTraceLabelLength);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> labelGuid(readProfilingGuid);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="keywordflow">return</span> labelGuid;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;}</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="_profiling_test_utils_8hpp.xhtml#ae8508d42bb9bd2e705d05b921c83d2b0">  145</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="_profiling_test_utils_8cpp.xhtml#ae8508d42bb9bd2e705d05b921c83d2b0">VerifyTimelineEventClassBinaryPacketData</a>(<a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> guid,</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;                                              <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> nameGuid,</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;                                              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* readableData,</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;                                              <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; offset)</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;{</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <a class="code" href="_assert_8hpp.xhtml#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(readableData);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="comment">// Utils</span></div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a> = <span class="keyword">sizeof</span>(uint32_t);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uint64_t_size = <span class="keyword">sizeof</span>(uint64_t);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="comment">// Check the decl id</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    uint32_t eventClassDeclId = <a class="code" href="namespacearmnn_1_1profiling.xhtml#ad56f4c3ea5e88279bb6ef1f31d9dc6df">ReadUint32</a>(readableData, offset);</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    BOOST_CHECK(eventClassDeclId == 2);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    <span class="comment">// Check the profiling GUID</span></div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    offset += <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a>;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    uint64_t readProfilingGuid = <a class="code" href="namespacearmnn_1_1profiling.xhtml#aa4de2b511faa41accc2c35cadf051124">ReadUint64</a>(readableData, offset);</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    BOOST_CHECK(readProfilingGuid == guid);</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    offset += uint64_t_size;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    uint64_t readProfiilngNameGuid = <a class="code" href="namespacearmnn_1_1profiling.xhtml#aa4de2b511faa41accc2c35cadf051124">ReadUint64</a>(readableData, offset);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    BOOST_CHECK(readProfiilngNameGuid == nameGuid);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="comment">// Update the offset to allow parsing to be continued after this function returns</span></div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    offset += uint64_t_size;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;}</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="_profiling_test_utils_8hpp.xhtml#a2d7768e5e753dcc3212100a9949db533">  173</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(<a class="code" href="namespacearmnn_1_1profiling.xhtml#ab805f5aa9f101e7f6d971daba044c3c2">ProfilingRelationshipType</a> relationshipType,</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;                                                <a class="code" href="classarmnn_1_1_optional.xhtml">Optional&lt;ProfilingGuid&gt;</a> relationshipGuid,</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;                                                <a class="code" href="classarmnn_1_1_optional.xhtml">Optional&lt;ProfilingGuid&gt;</a> headGuid,</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;                                                <a class="code" href="classarmnn_1_1_optional.xhtml">Optional&lt;ProfilingGuid&gt;</a> tailGuid,</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                                                <a class="code" href="classarmnn_1_1_optional.xhtml">Optional&lt;ProfilingGuid&gt;</a> attributeGuid,</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;                                                <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* readableData,</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                                                <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; offset)</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;{</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <a class="code" href="_assert_8hpp.xhtml#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(readableData);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    uint32_t relationshipTypeUint = 0;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="keywordflow">switch</span> (relationshipType)</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    {</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        <span class="keywordflow">case</span> ProfilingRelationshipType::RetentionLink:</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;            relationshipTypeUint = 0;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        <span class="keywordflow">case</span> ProfilingRelationshipType::ExecutionLink:</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;            relationshipTypeUint = 1;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;        <span class="keywordflow">case</span> ProfilingRelationshipType::DataLink:</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;            relationshipTypeUint = 2;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        <span class="keywordflow">case</span> ProfilingRelationshipType::LabelLink:</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;            relationshipTypeUint = 3;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        <span class="keywordflow">default</span>:</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;            BOOST_ERROR(<span class="stringliteral">&quot;Unknown relationship type&quot;</span>);</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    }</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="comment">// Utils</span></div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a> = <span class="keyword">sizeof</span>(uint32_t);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uint64_t_size = <span class="keyword">sizeof</span>(uint64_t);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="comment">// Check the decl id</span></div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    uint32_t eventClassDeclId = <a class="code" href="namespacearmnn_1_1profiling.xhtml#ad56f4c3ea5e88279bb6ef1f31d9dc6df">ReadUint32</a>(readableData, offset);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    BOOST_CHECK(eventClassDeclId == 3);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <span class="comment">// Check the relationship type</span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    offset += <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a>;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    uint32_t readRelationshipTypeUint = <a class="code" href="namespacearmnn_1_1profiling.xhtml#ad56f4c3ea5e88279bb6ef1f31d9dc6df">ReadUint32</a>(readableData, offset);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    BOOST_CHECK(readRelationshipTypeUint == relationshipTypeUint);</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="comment">// Check the relationship GUID</span></div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    offset += <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a>;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    uint64_t readRelationshipGuid = <a class="code" href="namespacearmnn_1_1profiling.xhtml#aa4de2b511faa41accc2c35cadf051124">ReadUint64</a>(readableData, offset);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="keywordflow">if</span> (relationshipGuid.<a class="code" href="classarmnn_1_1_optional_base.xhtml#a86b749ce2c4bc627fa8a1fcfaf0e314f">has_value</a>())</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    {</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        BOOST_CHECK(readRelationshipGuid == relationshipGuid.<a class="code" href="classarmnn_1_1_optional_reference_switch.xhtml#a77c7d528ac063d870b8c8426ec81c1c3">value</a>());</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    }</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    {</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;        BOOST_CHECK(readRelationshipGuid != <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a>(0));</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    }</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="comment">// Check the head GUID of the relationship</span></div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    offset += uint64_t_size;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    uint64_t readHeadRelationshipGuid = <a class="code" href="namespacearmnn_1_1profiling.xhtml#aa4de2b511faa41accc2c35cadf051124">ReadUint64</a>(readableData, offset);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="keywordflow">if</span> (headGuid.<a class="code" href="classarmnn_1_1_optional_base.xhtml#a86b749ce2c4bc627fa8a1fcfaf0e314f">has_value</a>())</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    {</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;        BOOST_CHECK(readHeadRelationshipGuid == headGuid.<a class="code" href="classarmnn_1_1_optional_reference_switch.xhtml#a77c7d528ac063d870b8c8426ec81c1c3">value</a>());</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    }</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    {</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        BOOST_CHECK(readHeadRelationshipGuid != <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a>(0));</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    }</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <span class="comment">// Check the tail GUID of the relationship</span></div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    offset += uint64_t_size;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    uint64_t readTailRelationshipGuid = <a class="code" href="namespacearmnn_1_1profiling.xhtml#aa4de2b511faa41accc2c35cadf051124">ReadUint64</a>(readableData, offset);</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    <span class="keywordflow">if</span> (tailGuid.<a class="code" href="classarmnn_1_1_optional_base.xhtml#a86b749ce2c4bc627fa8a1fcfaf0e314f">has_value</a>())</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    {</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        BOOST_CHECK(readTailRelationshipGuid == tailGuid.<a class="code" href="classarmnn_1_1_optional_reference_switch.xhtml#a77c7d528ac063d870b8c8426ec81c1c3">value</a>());</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    }</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    {</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        BOOST_CHECK(readTailRelationshipGuid != <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a>(0));</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    }</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="comment">// Check the attribute GUID of the relationship</span></div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    offset += uint64_t_size;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    uint64_t readAttributeRelationshipGuid = <a class="code" href="namespacearmnn_1_1profiling.xhtml#aa4de2b511faa41accc2c35cadf051124">ReadUint64</a>(readableData, offset);</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keywordflow">if</span> (attributeGuid.<a class="code" href="classarmnn_1_1_optional_base.xhtml#a86b749ce2c4bc627fa8a1fcfaf0e314f">has_value</a>())</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    {</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        BOOST_CHECK(readAttributeRelationshipGuid == attributeGuid.<a class="code" href="classarmnn_1_1_optional_reference_switch.xhtml#a77c7d528ac063d870b8c8426ec81c1c3">value</a>());</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    }</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    {</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        BOOST_CHECK(readAttributeRelationshipGuid == <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a>(0));</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    }</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <span class="comment">// Update the offset to allow parsing to be continued after this function returns</span></div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    offset += uint64_t_size;</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;}</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="_profiling_test_utils_8hpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">  267</a></span>&#160;<a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(<a class="code" href="classarmnn_1_1_optional.xhtml">Optional&lt;ProfilingGuid&gt;</a> guid,</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;                                                   <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* readableData,</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;                                                   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; offset)</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;{</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <a class="code" href="_assert_8hpp.xhtml#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(readableData);</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="comment">// Utils</span></div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a> = <span class="keyword">sizeof</span>(uint32_t);</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uint64_t_size = <span class="keyword">sizeof</span>(uint64_t);</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    <span class="comment">// Reading TimelineEntityClassBinaryPacket</span></div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    <span class="comment">// Check the decl_id</span></div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    uint32_t entityDeclId = <a class="code" href="namespacearmnn_1_1profiling.xhtml#ad56f4c3ea5e88279bb6ef1f31d9dc6df">ReadUint32</a>(readableData, offset);</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    BOOST_CHECK(entityDeclId == 1);</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <span class="comment">// Check the profiling GUID</span></div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    offset += <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a>;</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    uint64_t readProfilingGuid = <a class="code" href="namespacearmnn_1_1profiling.xhtml#aa4de2b511faa41accc2c35cadf051124">ReadUint64</a>(readableData, offset);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="keywordflow">if</span> (guid.<a class="code" href="classarmnn_1_1_optional_base.xhtml#a86b749ce2c4bc627fa8a1fcfaf0e314f">has_value</a>())</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    {</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        BOOST_CHECK(readProfilingGuid == guid.<a class="code" href="classarmnn_1_1_optional_reference_switch.xhtml#a77c7d528ac063d870b8c8426ec81c1c3">value</a>());</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    }</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    {</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        BOOST_CHECK(readProfilingGuid != <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a>(0));</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    }</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    offset += uint64_t_size;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> entityGuid(readProfilingGuid);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <span class="keywordflow">return</span> entityGuid;</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;}</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="_profiling_test_utils_8hpp.xhtml#a6580407dea269ed62934d0fd909a2e08">  301</a></span>&#160;<a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6580407dea269ed62934d0fd909a2e08">VerifyTimelineEventBinaryPacket</a>(<a class="code" href="classarmnn_1_1_optional.xhtml">Optional&lt;uint64_t&gt;</a> timestamp,</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;                                              <a class="code" href="classarmnn_1_1_optional.xhtml">Optional&lt;int&gt;</a> threadId,</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;                                              <a class="code" href="classarmnn_1_1_optional.xhtml">Optional&lt;ProfilingGuid&gt;</a> eventGuid,</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;                                              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* readableData,</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;                                              <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; offset)</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;{</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    <a class="code" href="_assert_8hpp.xhtml#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(readableData);</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <span class="comment">// Utils</span></div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a> = <span class="keyword">sizeof</span>(uint32_t);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uint64_t_size = <span class="keyword">sizeof</span>(uint64_t);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    <span class="comment">// Reading TimelineEventBinaryPacket</span></div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <span class="comment">// Check the decl_id</span></div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    uint32_t entityDeclId = <a class="code" href="namespacearmnn_1_1profiling.xhtml#ad56f4c3ea5e88279bb6ef1f31d9dc6df">ReadUint32</a>(readableData, offset);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    BOOST_CHECK(entityDeclId == 4);</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    <span class="comment">// Check the timestamp</span></div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;    offset += <a class="code" href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">uint32_t_size</a>;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    uint64_t readTimestamp = <a class="code" href="namespacearmnn_1_1profiling.xhtml#aa4de2b511faa41accc2c35cadf051124">ReadUint64</a>(readableData, offset);</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    <span class="keywordflow">if</span> (timestamp.<a class="code" href="classarmnn_1_1_optional_base.xhtml#a86b749ce2c4bc627fa8a1fcfaf0e314f">has_value</a>())</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    {</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        BOOST_CHECK(readTimestamp == timestamp.<a class="code" href="classarmnn_1_1_optional_reference_switch.xhtml#a77c7d528ac063d870b8c8426ec81c1c3">value</a>());</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    }</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    {</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        BOOST_CHECK(readTimestamp != 0);</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    }</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    <span class="comment">// Check the thread id</span></div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    offset += uint64_t_size;</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    std::vector&lt;uint8_t&gt; readThreadId(<a class="code" href="namespacearmnn_1_1profiling.xhtml#a6272d5d5e3a8afa0a402e9aafd19aedf">ThreadIdSize</a>, 0);</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <a class="code" href="namespacearmnn_1_1profiling.xhtml#a097646e1b460c992b553061a3436fb47">ReadBytes</a>(readableData, offset, <a class="code" href="namespacearmnn_1_1profiling.xhtml#a6272d5d5e3a8afa0a402e9aafd19aedf">ThreadIdSize</a>, readThreadId.data());</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    <span class="keywordflow">if</span> (threadId.<a class="code" href="classarmnn_1_1_optional_base.xhtml#a86b749ce2c4bc627fa8a1fcfaf0e314f">has_value</a>())</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    {</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;        BOOST_CHECK(readThreadId == threadId.<a class="code" href="classarmnn_1_1_optional_reference_switch.xhtml#a77c7d528ac063d870b8c8426ec81c1c3">value</a>());</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    }</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    {</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        BOOST_CHECK(readThreadId == <a class="code" href="namespacearmnn_utils_1_1_threads.xhtml#af0dcc5dda372a6f517e0930720219297">armnnUtils::Threads::GetCurrentThreadId</a>());</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    }</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    <span class="comment">// Check the event GUID</span></div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    offset += <a class="code" href="namespacearmnn_1_1profiling.xhtml#a6272d5d5e3a8afa0a402e9aafd19aedf">ThreadIdSize</a>;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    uint64_t readEventGuid = <a class="code" href="namespacearmnn_1_1profiling.xhtml#aa4de2b511faa41accc2c35cadf051124">ReadUint64</a>(readableData, offset);</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <span class="keywordflow">if</span> (eventGuid.<a class="code" href="classarmnn_1_1_optional_base.xhtml#a86b749ce2c4bc627fa8a1fcfaf0e314f">has_value</a>())</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    {</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        BOOST_CHECK(readEventGuid == eventGuid.<a class="code" href="classarmnn_1_1_optional_reference_switch.xhtml#a77c7d528ac063d870b8c8426ec81c1c3">value</a>());</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    }</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    {</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;        BOOST_CHECK(readEventGuid != <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a>(0));</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    }</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    offset += uint64_t_size;</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> eventid(readEventGuid);</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <span class="keywordflow">return</span> eventid;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;}</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;</div><div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="_profiling_test_utils_8hpp.xhtml#a63249ab17e3797a6c5e3c187a17dbce4">  361</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="_profiling_test_utils_8cpp.xhtml#a63249ab17e3797a6c5e3c187a17dbce4">VerifyPostOptimisationStructureTestImpl</a>(<a class="code" href="classarmnn_1_1_backend_id.xhtml">armnn::BackendId</a> backendId)</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;{</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    <span class="keyword">using namespace </span><a class="code" href="namespacearmnn.xhtml">armnn</a>;</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    <span class="comment">// Create runtime in which test will run</span></div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    <a class="code" href="structarmnn_1_1_i_runtime_1_1_creation_options.xhtml">armnn::IRuntime::CreationOptions</a> options;</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    options.<a class="code" href="structarmnn_1_1_i_runtime_1_1_creation_options.xhtml#a30412a91cadff138686eaeb12f5357cc">m_ProfilingOptions</a>.<a class="code" href="structarmnn_1_1_i_runtime_1_1_creation_options_1_1_external_profiling_options.xhtml#a26d42007440bb01a1a6d0ab3b5a657ee">m_EnableProfiling</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    options.<a class="code" href="structarmnn_1_1_i_runtime_1_1_creation_options.xhtml#a30412a91cadff138686eaeb12f5357cc">m_ProfilingOptions</a>.<a class="code" href="structarmnn_1_1_i_runtime_1_1_creation_options_1_1_external_profiling_options.xhtml#a5b304d775657afbf1fb724af57add374">m_TimelineEnabled</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <a class="code" href="structarmnn_1_1_runtime_impl.xhtml">armnn::RuntimeImpl</a> runtime(options);</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <a class="code" href="namespacearmnn.xhtml#a22f1d90f329261a58e14827f99090e93">GetProfilingService</a>(&amp;runtime).<a class="code" href="classarmnn_1_1profiling_1_1_profiling_service.xhtml#ae7a3588986b93e13fda47c7ce4b0627c">ResetExternalProfilingOptions</a>(options.<a class="code" href="structarmnn_1_1_i_runtime_1_1_creation_options.xhtml#a30412a91cadff138686eaeb12f5357cc">m_ProfilingOptions</a>, <span class="keyword">false</span>);</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_service_runtime_helper.xhtml">profiling::ProfilingServiceRuntimeHelper</a> profilingServiceHelper(<a class="code" href="namespacearmnn.xhtml#a22f1d90f329261a58e14827f99090e93">GetProfilingService</a>(&amp;runtime));</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    profilingServiceHelper.<a class="code" href="classarmnn_1_1profiling_1_1_profiling_service_runtime_helper.xhtml#a03f72b1ccbef21ab7caafb037ce2144c">ForceTransitionToState</a>(ProfilingState::NotConnected);</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    profilingServiceHelper.<a class="code" href="classarmnn_1_1profiling_1_1_profiling_service_runtime_helper.xhtml#a03f72b1ccbef21ab7caafb037ce2144c">ForceTransitionToState</a>(ProfilingState::WaitingForAck);</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    profilingServiceHelper.<a class="code" href="classarmnn_1_1profiling_1_1_profiling_service_runtime_helper.xhtml#a03f72b1ccbef21ab7caafb037ce2144c">ForceTransitionToState</a>(ProfilingState::Active);</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="comment">// build up the structure of the network</span></div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;    <a class="code" href="namespacearmnn.xhtml#ace74f6f9feb95a964a49d79458232703">INetworkPtr</a> net(<a class="code" href="classarmnn_1_1_i_network.xhtml#a464f0ff87b1aabf71febaa71321dd40b">INetwork::Create</a>());</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    <span class="comment">// Convolution details</span></div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    <a class="code" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> inputInfo({ 1, 2, 5, 1 }, <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>);</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    <a class="code" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> weightInfo({ 3, 2, 3, 1 }, <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>);</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    <a class="code" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> biasInfo({ 3 }, <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>);</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    <a class="code" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> outputInfo({ 1, 3, 7, 1 }, <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>);</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;    std::vector&lt;float&gt; weightsData{</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;        1.0f, 0.0f, 0.0f,</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        0.0f, 2.0f, -1.5f,</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;        0.0f, 0.0f, 0.0f,</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        0.2f, 0.2f, 0.2f,</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        0.5f, 0.0f, 0.5f,</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;        0.0f, -1.0f, 0.0f</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    };</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;    <a class="code" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> weights(weightInfo, weightsData);</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    <a class="code" href="classarmnn_1_1_optional.xhtml">Optional&lt;ConstTensor&gt;</a> optionalBiases;</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    std::vector&lt;float&gt; biasesData{ 1.0f, 0.0f, 0.0f };</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    <a class="code" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a> biases(biasInfo, biasesData);</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    optionalBiases = <a class="code" href="classarmnn_1_1_optional.xhtml">Optional&lt;ConstTensor&gt;</a>(biases);</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <span class="comment">// Input layer</span></div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;    <a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a>* input = net-&gt;AddInputLayer(0, <span class="stringliteral">&quot;input&quot;</span>);</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <span class="comment">// Convolution2d layer</span></div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    <a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml">Convolution2dDescriptor</a> conv2dDesc;</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    conv2dDesc.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#afe6a3377c4531315354def9023c8fdda">m_StrideX</a> = 1;</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    conv2dDesc.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#ac1fe174bbadfb39a2b636940c2e647c8">m_StrideY</a> = 1;</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;    conv2dDesc.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#ac18546ebbebbb32fe0a03baa9bf2c600">m_PadLeft</a> = 0;</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    conv2dDesc.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#a002bc30e590d78cbb4f4d12171055ca7">m_PadRight</a> = 0;</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    conv2dDesc.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#a56b51f56cef50cdfa554258eecdab046">m_PadTop</a> = 2;</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    conv2dDesc.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#aa9e49717ebdb741e8c767741647fc618">m_PadBottom</a> = 2;</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;    conv2dDesc.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.xhtml#aea202e14d8874cefd9a0f778022b7e25">m_BiasEnabled</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    <a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a>* conv2d = net-&gt;AddConvolution2dLayer(conv2dDesc, weights, optionalBiases);</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <span class="comment">// Abs layer</span></div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;    <a class="code" href="structarmnn_1_1_elementwise_unary_descriptor.xhtml">armnn::ElementwiseUnaryDescriptor</a> absDesc;</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml">armnn::IConnectableLayer</a>* <span class="keyword">const</span> <a class="code" href="structarmnn_1_1abs.xhtml">abs</a> = net-&gt;AddElementwiseUnaryLayer(absDesc, <span class="stringliteral">&quot;abs&quot;</span>);</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;</div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    <span class="comment">// Output layer</span></div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml">IConnectableLayer</a>* output = net-&gt;AddOutputLayer(0, <span class="stringliteral">&quot;output&quot;</span>);</div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    input-&gt;GetOutputSlot(0).Connect(conv2d-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#a6ec9e0eb66d7d6a01240492a0b18104c">GetInputSlot</a>(0));</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    conv2d-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#a80ac4eda2e7f2757ec9dd96fc96dbd16">GetOutputSlot</a>(0).<a class="code" href="classarmnn_1_1_i_output_slot.xhtml#ac1835f8756a9f03c02fcf9664e3a0fce">Connect</a>(abs-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#a6ec9e0eb66d7d6a01240492a0b18104c">GetInputSlot</a>(0));</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;    abs-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#a80ac4eda2e7f2757ec9dd96fc96dbd16">GetOutputSlot</a>(0).<a class="code" href="classarmnn_1_1_i_output_slot.xhtml#ac1835f8756a9f03c02fcf9664e3a0fce">Connect</a>(output-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#a6ec9e0eb66d7d6a01240492a0b18104c">GetInputSlot</a>(0));</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    input-&gt;GetOutputSlot(0).SetTensorInfo(inputInfo);</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    conv2d-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#a80ac4eda2e7f2757ec9dd96fc96dbd16">GetOutputSlot</a>(0).<a class="code" href="classarmnn_1_1_i_output_slot.xhtml#a5ee4a6c9a2481245487b1b1a70d20fd0">SetTensorInfo</a>(outputInfo);</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    abs-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#a80ac4eda2e7f2757ec9dd96fc96dbd16">GetOutputSlot</a>(0).<a class="code" href="classarmnn_1_1_i_output_slot.xhtml#a5ee4a6c9a2481245487b1b1a70d20fd0">SetTensorInfo</a>(outputInfo);</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    <span class="comment">// optimize the network</span></div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;    std::vector&lt;armnn::BackendId&gt; backends = { backendId };</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    <a class="code" href="namespacearmnn.xhtml#a674efcf6cbdb9e831d653ff0e821fb38">IOptimizedNetworkPtr</a> optNet = <a class="code" href="namespacearmnn.xhtml#a82e98ef05fd67036d1195ba17174d685">Optimize</a>(*net, backends, runtime.<a class="code" href="structarmnn_1_1_runtime_impl.xhtml#ace3a3fbd42ff981af628e91fbeb254d5">GetDeviceSpec</a>());</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> optNetGuid = optNet-&gt;GetGuid();</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;    <span class="comment">// Load it into the runtime. It should success.</span></div><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    <a class="code" href="namespacearmnn.xhtml#a83015160d8c67d5d77735eb0d4033d9a">armnn::NetworkId</a> netId;</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    BOOST_TEST(runtime.<a class="code" href="structarmnn_1_1_runtime_impl.xhtml#af92b5ae61208a778571bcea7e6aac7b4">LoadNetwork</a>(netId, std::move(optNet)) == <a class="code" href="namespacearmnn.xhtml#a67a0db04d321a74b7e7fcfd3f1a3f70ba505a83f220c02df2f85c3810cd9ceb38">Status::Success</a>);</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_buffer_manager.xhtml">profiling::BufferManager</a>&amp; bufferManager = profilingServiceHelper.<a class="code" href="classarmnn_1_1profiling_1_1_profiling_service_runtime_helper.xhtml#a33b6add40a385911fe653ac446124deb">GetProfilingBufferManager</a>();</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="keyword">auto</span> readableBuffer = bufferManager.<a class="code" href="classarmnn_1_1profiling_1_1_buffer_manager.xhtml#abce8709dc1b666a26f427ba7ff08b737">GetReadableBuffer</a>();</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    <span class="comment">// Profiling is enabled, the post-optimisation structure should be created</span></div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    BOOST_CHECK(readableBuffer != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> size = readableBuffer-&gt;GetSize();</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* readableData = readableBuffer-&gt;GetReadableData();</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;    BOOST_CHECK(readableData != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> offset = 0;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;    <span class="comment">// Verify Header</span></div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6bd6e8ba2f989621f7348d2bb6ce13a4">VerifyTimelineHeaderBinary</a>(readableData, offset, size - 8);</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;HEADER OK&quot;</span>);</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    <span class="comment">// Post-optimisation network</span></div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    <span class="comment">// Network entity</span></div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(optNetGuid, readableData, offset);</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;NETWORK ENTITY OK&quot;</span>);</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    <span class="comment">// Entity - Type relationship</span></div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;                                               optNetGuid,</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a2803368c101910905392bc7edd4c9cc5">LabelsAndEventClasses::NETWORK_GUID</a>,</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#adb91c720887d6f0e45daf196741a5a0b">LabelsAndEventClasses::TYPE_GUID</a>,</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;                                               readableData,</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;                                               offset);</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;NETWORK TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    <span class="comment">// Network - START OF LIFE</span></div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> networkSolEventGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6580407dea269ed62934d0fd909a2e08">VerifyTimelineEventBinaryPacket</a>(<a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;                                                                        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;                                                                        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;                                                                        readableData,</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;                                                                        offset);</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;NETWORK START OF LIFE EVENT OK&quot;</span>);</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;    <span class="comment">// Network - START OF LIFE event relationship</span></div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::ExecutionLink,</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;                                               optNetGuid,</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;                                               networkSolEventGuid,</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a75123df426e55b7e9c218704cb52120f">LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS</a>,</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;                                               readableData,</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;                                               offset);</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;NETWORK START OF LIFE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;    <span class="comment">// Process ID Label</span></div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    <span class="keywordtype">int</span> processID = <a class="code" href="namespacearmnn_utils_1_1_processes.xhtml#a1d95dea376acbd82dde773e05db454be">armnnUtils::Processes::GetCurrentId</a>();</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    std::stringstream ss;</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;    ss &lt;&lt; processID;</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;    std::string processIdLabel = ss.str();</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#adc7f226dc73412440c4588cf685fab40">VerifyTimelineLabelBinaryPacketData</a>(<a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), processIdLabel, readableData, offset);</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;PROCESS ID LABEL OK&quot;</span>);</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;    <span class="comment">// Entity - Process ID relationship</span></div><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;                                               optNetGuid,</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a0c786c3e4560c019deef4d6fc63b847b">LabelsAndEventClasses::PROCESS_ID_GUID</a>,</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;                                               readableData,</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;                                               offset);</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;NETWORK PROCESS ID RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;</div><div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    <span class="comment">// Input layer</span></div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;    <span class="comment">// Input layer entity</span></div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(input-&gt;GetGuid(), readableData, offset);</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT ENTITY OK&quot;</span>);</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;</div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;    <span class="comment">// Name Entity</span></div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> inputLabelGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#adc7f226dc73412440c4588cf685fab40">VerifyTimelineLabelBinaryPacketData</a>(<a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <span class="stringliteral">&quot;input&quot;</span>, readableData, offset);</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT NAME LABEL OK&quot;</span>);</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;    <span class="comment">// Entity - Name relationship</span></div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;                                               input-&gt;GetGuid(),</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;                                               inputLabelGuid,</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#af22d8b04133c4b68f4320d6c98dc9502">LabelsAndEventClasses::NAME_GUID</a>,</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;                                               readableData,</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;                                               offset);</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT NAME RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;    <span class="comment">// Entity - Type relationship</span></div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;                                               input-&gt;GetGuid(),</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a939d115d7a078087c7a826bf2c65bcb4">LabelsAndEventClasses::LAYER_GUID</a>,</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#adb91c720887d6f0e45daf196741a5a0b">LabelsAndEventClasses::TYPE_GUID</a>,</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;                                               readableData,</div><div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;                                               offset);</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;    <span class="comment">// Network - Input layer relationship</span></div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;                                               optNetGuid,</div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;                                               input-&gt;GetGuid(),</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a1caad872d87e206434faf5ca051cf36c">LabelsAndEventClasses::CHILD_GUID</a>,</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;                                               readableData,</div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;                                               offset);</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;NETWORK - INPUT CHILD RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;    <span class="comment">// Conv2d layer</span></div><div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;    <span class="comment">// Conv2d layer entity</span></div><div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(conv2d-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(), readableData, offset);</div><div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;</div><div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;    <span class="comment">// Name entity</span></div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> conv2dNameLabelGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#adc7f226dc73412440c4588cf685fab40">VerifyTimelineLabelBinaryPacketData</a>(</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <span class="stringliteral">&quot;&lt;Unnamed&gt;&quot;</span>, readableData, offset);</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D NAME LABEL OK&quot;</span>);</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;    <span class="comment">// Entity - Name relationship</span></div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;                                               conv2d-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;                                               conv2dNameLabelGuid,</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#af22d8b04133c4b68f4320d6c98dc9502">LabelsAndEventClasses::NAME_GUID</a>,</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;                                               readableData,</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;                                               offset);</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D NAME RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;</div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;    <span class="comment">// Entity - Type relationship</span></div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;                                               conv2d-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a939d115d7a078087c7a826bf2c65bcb4">LabelsAndEventClasses::LAYER_GUID</a>,</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#adb91c720887d6f0e45daf196741a5a0b">LabelsAndEventClasses::TYPE_GUID</a>,</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;                                               readableData,</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;                                               offset);</div><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;    <span class="comment">// Network - Conv2d layer relationship</span></div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;                                               optNetGuid,</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;                                               conv2d-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a1caad872d87e206434faf5ca051cf36c">LabelsAndEventClasses::CHILD_GUID</a>,</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;                                               readableData,</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;                                               offset);</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;NETWORK - CONV2D CHILD RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;    <span class="comment">// Input layer - Conv2d layer relationship</span></div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;                                               input-&gt;GetGuid(),</div><div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;                                               conv2d-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#ab2c48043328356b5ec556dd5284a4138">LabelsAndEventClasses::CONNECTION_GUID</a>,</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;                                               readableData,</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;                                               offset);</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT - CONV2D LAYER CONNECTION OK&quot;</span>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    <span class="comment">// Conv2d workload</span></div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;    <span class="comment">// Conv2d workload entity</span></div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> conv2DWorkloadGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(<a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D WORKLOAD ENTITY OK&quot;</span>);</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    <span class="comment">// Entity - Type relationship</span></div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;                                               conv2DWorkloadGuid,</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a6d5d1a547ba9c92694347fc71ddf0e18">LabelsAndEventClasses::WORKLOAD_GUID</a>,</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;                                               LabelsAndEventClasses::TYPE_GUID,</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;                                               readableData,</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;                                               offset);</div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D WORKLOAD TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    <span class="comment">// BackendId entity</span></div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> backendIdLabelGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#adc7f226dc73412440c4588cf685fab40">VerifyTimelineLabelBinaryPacketData</a>(</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), backendId.<a class="code" href="classarmnn_1_1_backend_id.xhtml#af7445617163d3f07c47b92ae56c6cf8b">Get</a>(), readableData, offset);</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;    <span class="comment">// Entity - BackendId relationship</span></div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;                                               conv2DWorkloadGuid,</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;                                               backendIdLabelGuid,</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#ade2233e4c4600c2353dbdd1729977872">LabelsAndEventClasses::BACKENDID_GUID</a>,</div><div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;                                               readableData,</div><div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;                                               offset);</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D WORKLOAD BACKEND ID RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;    <span class="comment">// Conv2d layer - Conv2d workload relationship</span></div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;                                               conv2d-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;                                               conv2DWorkloadGuid,</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a1caad872d87e206434faf5ca051cf36c">LabelsAndEventClasses::CHILD_GUID</a>,</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;                                               readableData,</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;                                               offset);</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D LAYER - WORKLOAD CHILD RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;    <span class="comment">// Abs layer</span></div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;    <span class="comment">// Abs layer entity</span></div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(abs-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(), readableData, offset);</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS ENTITY OK&quot;</span>);</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;    <span class="comment">// Name entity</span></div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> absLabelGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#adc7f226dc73412440c4588cf685fab40">VerifyTimelineLabelBinaryPacketData</a>(</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <span class="stringliteral">&quot;abs&quot;</span>, readableData, offset);</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS NAME LABEL OK&quot;</span>);</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;    <span class="comment">// Entity - Name relationship</span></div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;                                               abs-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;                                               absLabelGuid,</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#af22d8b04133c4b68f4320d6c98dc9502">LabelsAndEventClasses::NAME_GUID</a>,</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;                                               readableData,</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;                                               offset);</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS LAYER - NAME RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;    <span class="comment">// Entity - Type relationship</span></div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;                                               abs-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a939d115d7a078087c7a826bf2c65bcb4">LabelsAndEventClasses::LAYER_GUID</a>,</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#adb91c720887d6f0e45daf196741a5a0b">LabelsAndEventClasses::TYPE_GUID</a>,</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;                                               readableData,</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;                                               offset);</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS LAYER TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;    <span class="comment">// Network - Abs layer relationship</span></div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;                                               optNetGuid,</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;                                               abs-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a1caad872d87e206434faf5ca051cf36c">LabelsAndEventClasses::CHILD_GUID</a>,</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;                                               readableData,</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;                                               offset);</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;NETWORK - ABS LAYER CHILD RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;    <span class="comment">// Conv2d layer - Abs layer relationship</span></div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;                                               conv2d-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;                                               abs-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#ab2c48043328356b5ec556dd5284a4138">LabelsAndEventClasses::CONNECTION_GUID</a>,</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;                                               readableData,</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;                                               offset);</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D LAYER - ABS LAYER CONNECTION OK&quot;</span>);</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;    <span class="comment">// Abs workload</span></div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;    <span class="comment">// Abs workload entity</span></div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> absWorkloadGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(<a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS WORKLOAD ENTITY OK&quot;</span>);</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;</div><div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;    <span class="comment">// Entity - Type relationship</span></div><div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;                                               absWorkloadGuid,</div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a6d5d1a547ba9c92694347fc71ddf0e18">LabelsAndEventClasses::WORKLOAD_GUID</a>,</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;                                               LabelsAndEventClasses::TYPE_GUID,</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;                                               readableData,</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;                                               offset);</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS WORKLAD TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;    <span class="comment">// BackendId entity</span></div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#adc7f226dc73412440c4588cf685fab40">VerifyTimelineLabelBinaryPacketData</a>(<a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), backendId.<a class="code" href="classarmnn_1_1_backend_id.xhtml#af7445617163d3f07c47b92ae56c6cf8b">Get</a>(), readableData, offset);</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;BACKEND ID LABEL OK&quot;</span>);</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;    <span class="comment">// Entity - BackendId relationship</span></div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;                                               absWorkloadGuid,</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;                                               backendIdLabelGuid,</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#ade2233e4c4600c2353dbdd1729977872">LabelsAndEventClasses::BACKENDID_GUID</a>,</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;                                               readableData,</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;                                               offset);</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS WORKLOAD BACKEND ID RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;    <span class="comment">// Abs layer - Abs workload relationship</span></div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;                                               abs-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;                                               absWorkloadGuid,</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a1caad872d87e206434faf5ca051cf36c">LabelsAndEventClasses::CHILD_GUID</a>,</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;                                               readableData,</div><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;                                               offset);</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS LAYER - WORKLOAD CHILD RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;</div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;    <span class="comment">// Output layer</span></div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;    <span class="comment">// Output layer entity</span></div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(output-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(), readableData, offset);</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT LAYER ENTITY OK&quot;</span>);</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;    <span class="comment">// Name entity</span></div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> outputLabelGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#adc7f226dc73412440c4588cf685fab40">VerifyTimelineLabelBinaryPacketData</a>(</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <span class="stringliteral">&quot;output&quot;</span>, readableData, offset);</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;</div><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;    <span class="comment">// Entity - Name relationship</span></div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;                                               output-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;                                               outputLabelGuid,</div><div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#af22d8b04133c4b68f4320d6c98dc9502">LabelsAndEventClasses::NAME_GUID</a>,</div><div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;                                               readableData,</div><div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;                                               offset);</div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT LAYER NAME RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    <span class="comment">// Entity - Type relationship</span></div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;                                               output-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a939d115d7a078087c7a826bf2c65bcb4">LabelsAndEventClasses::LAYER_GUID</a>,</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#adb91c720887d6f0e45daf196741a5a0b">LabelsAndEventClasses::TYPE_GUID</a>,</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;                                               readableData,</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;                                               offset);</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT LAYER TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;    <span class="comment">// Network - Output layer relationship</span></div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;                                               optNetGuid,</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;                                               output-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a1caad872d87e206434faf5ca051cf36c">LabelsAndEventClasses::CHILD_GUID</a>,</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;                                               readableData,</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;                                               offset);</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;NETWORK - OUTPUT LAYER CHILD RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;    <span class="comment">// Abs layer - Output layer relationship</span></div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;                                               abs-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;                                               output-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#ab2c48043328356b5ec556dd5284a4138">LabelsAndEventClasses::CONNECTION_GUID</a>,</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;                                               readableData,</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;                                               offset);</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS LAYER - OUTPUT LAYER CONNECTION OK&quot;</span>);</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;    bufferManager.MarkRead(readableBuffer);</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;    <span class="comment">// Creates structures for input &amp; output.</span></div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;    std::vector&lt;float&gt; inputData(inputInfo.GetNumElements());</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;    std::vector&lt;float&gt; outputData(outputInfo.GetNumElements());</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;    <a class="code" href="namespacearmnn.xhtml#aa01bce88f89975a5a031db4cc8861527">InputTensors</a> inputTensors</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;        {</div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;        {0, <a class="code" href="classarmnn_1_1_const_tensor.xhtml">ConstTensor</a>(runtime.<a class="code" href="structarmnn_1_1_runtime_impl.xhtml#aa198ca53eeb01b6e2134da924ec36405">GetInputTensorInfo</a>(netId, 0), inputData.data())}</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;        };</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;    <a class="code" href="namespacearmnn.xhtml#a8f091a512915d1cb29a4ebf13dfc53ea">OutputTensors</a> outputTensors</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;        {</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;        {0, <a class="code" href="classarmnn_1_1_tensor.xhtml">Tensor</a>(runtime.<a class="code" href="structarmnn_1_1_runtime_impl.xhtml#a81c83702b94931626c6d84a3fa915362">GetOutputTensorInfo</a>(netId, 0), outputData.data())}</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;        };</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;</div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;    <span class="comment">// Does the inference.</span></div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;    runtime.<a class="code" href="structarmnn_1_1_runtime_impl.xhtml#ab88fe81be37ed549ae7247c18025cc35">EnqueueWorkload</a>(netId, inputTensors, outputTensors);</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;    <span class="comment">// Get readable buffer for input workload</span></div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;    <span class="keyword">auto</span> inputReadableBuffer = bufferManager.GetReadableBuffer();</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;    BOOST_CHECK(inputReadableBuffer != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;    <span class="comment">// Get readable buffer for output workload</span></div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;    <span class="keyword">auto</span> outputReadableBuffer = bufferManager.GetReadableBuffer();</div><div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;    BOOST_CHECK(outputReadableBuffer != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;    <span class="comment">// Get readable buffer for inference timeline</span></div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    <span class="keyword">auto</span> inferenceReadableBuffer = bufferManager.GetReadableBuffer();</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;    BOOST_CHECK(inferenceReadableBuffer != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;    <span class="comment">// Validate input workload data</span></div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;    size = inputReadableBuffer-&gt;GetSize();</div><div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;    BOOST_CHECK(size == 164);</div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;</div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    readableData = inputReadableBuffer-&gt;GetReadableData();</div><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;    BOOST_CHECK(readableData != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;</div><div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;    offset = 0;</div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;    <span class="comment">// Verify Header</span></div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6bd6e8ba2f989621f7348d2bb6ce13a4">VerifyTimelineHeaderBinary</a>(readableData, offset, 156);</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT WORKLOAD HEADER OK&quot;</span>);</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;    <span class="comment">// Input workload</span></div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;    <span class="comment">// Input workload entity</span></div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> inputWorkloadGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(<a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT WORKLOAD TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;    <span class="comment">// Entity - Type relationship</span></div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;                                               inputWorkloadGuid,</div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a6d5d1a547ba9c92694347fc71ddf0e18">LabelsAndEventClasses::WORKLOAD_GUID</a>,</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;                                               LabelsAndEventClasses::TYPE_GUID,</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;                                               readableData,</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;                                               offset);</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT WORKLOAD TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;    <span class="comment">// BackendId entity</span></div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#adc7f226dc73412440c4588cf685fab40">VerifyTimelineLabelBinaryPacketData</a>(<a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), backendId.<a class="code" href="classarmnn_1_1_backend_id.xhtml#af7445617163d3f07c47b92ae56c6cf8b">Get</a>(), readableData, offset);</div><div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;</div><div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;    <span class="comment">// Entity - BackendId relationship</span></div><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;                                               inputWorkloadGuid,</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;                                               backendIdLabelGuid,</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#ade2233e4c4600c2353dbdd1729977872">LabelsAndEventClasses::BACKENDID_GUID</a>,</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;                                               readableData,</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;                                               offset);</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT WORKLOAD BACKEND ID RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;</div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;    <span class="comment">// Input layer - Input workload relationship</span></div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;                                               input-&gt;GetGuid(),</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;                                               inputWorkloadGuid,</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a1caad872d87e206434faf5ca051cf36c">LabelsAndEventClasses::CHILD_GUID</a>,</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;                                               readableData,</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;                                               offset);</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT LAYER - INPUT WORKLOAD CHILD RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;</div><div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;    bufferManager.MarkRead(inputReadableBuffer);</div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;</div><div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;    <span class="comment">// Validate output workload data</span></div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;    size = outputReadableBuffer-&gt;GetSize();</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;    BOOST_CHECK(size == 164);</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;    readableData = outputReadableBuffer-&gt;GetReadableData();</div><div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;    BOOST_CHECK(readableData != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;</div><div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;    offset = 0;</div><div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;</div><div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;    <span class="comment">// Verify Header</span></div><div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6bd6e8ba2f989621f7348d2bb6ce13a4">VerifyTimelineHeaderBinary</a>(readableData, offset, 156);</div><div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT WORKLOAD HEADER OK&quot;</span>);</div><div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;</div><div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;    <span class="comment">// Output workload</span></div><div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;    <span class="comment">// Output workload entity</span></div><div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> outputWorkloadGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(<a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT WORKLOAD ENTITY OK&quot;</span>);</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;    <span class="comment">// Entity - Type relationship</span></div><div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;                                               outputWorkloadGuid,</div><div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a6d5d1a547ba9c92694347fc71ddf0e18">LabelsAndEventClasses::WORKLOAD_GUID</a>,</div><div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;                                               LabelsAndEventClasses::TYPE_GUID,</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;                                               readableData,</div><div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;                                               offset);</div><div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT WORKLOAD TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;</div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;    <span class="comment">// BackendId entity</span></div><div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#adc7f226dc73412440c4588cf685fab40">VerifyTimelineLabelBinaryPacketData</a>(<a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), backendId.<a class="code" href="classarmnn_1_1_backend_id.xhtml#af7445617163d3f07c47b92ae56c6cf8b">Get</a>(), readableData, offset);</div><div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT WORKLOAD LABEL OK&quot;</span>);</div><div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;</div><div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;    <span class="comment">// Entity - BackendId relationship</span></div><div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;                                               outputWorkloadGuid,</div><div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;                                               backendIdLabelGuid,</div><div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#ade2233e4c4600c2353dbdd1729977872">LabelsAndEventClasses::BACKENDID_GUID</a>,</div><div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;                                               readableData,</div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;                                               offset);</div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT WORKLOAD BACKEND ID RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;</div><div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;    <span class="comment">// Output layer - Output workload relationship</span></div><div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;                                               output-&gt;<a class="code" href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">GetGuid</a>(),</div><div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;                                               outputWorkloadGuid,</div><div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a1caad872d87e206434faf5ca051cf36c">LabelsAndEventClasses::CHILD_GUID</a>,</div><div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;                                               readableData,</div><div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;                                               offset);</div><div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT LAYER - OUTPUT WORKLOAD CHILD RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;</div><div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;    bufferManager.MarkRead(outputReadableBuffer);</div><div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;</div><div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;    <span class="comment">// Validate inference data</span></div><div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;    size = inferenceReadableBuffer-&gt;GetSize();</div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;</div><div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;    BOOST_CHECK(size == 1228 + 10 * <a class="code" href="namespacearmnn_1_1profiling.xhtml#a6272d5d5e3a8afa0a402e9aafd19aedf">ThreadIdSize</a>);</div><div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;</div><div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;    readableData = inferenceReadableBuffer-&gt;GetReadableData();</div><div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;    BOOST_CHECK(readableData != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;</div><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;    offset = 0;</div><div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;</div><div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;    <span class="comment">// Verify Header</span></div><div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6bd6e8ba2f989621f7348d2bb6ce13a4">VerifyTimelineHeaderBinary</a>(readableData, offset, 1220 + 10 * <a class="code" href="namespacearmnn_1_1profiling.xhtml#a6272d5d5e3a8afa0a402e9aafd19aedf">ThreadIdSize</a>);</div><div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INFERENCE HEADER OK&quot;</span>);</div><div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;</div><div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;    <span class="comment">// Inference timeline trace</span></div><div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;    <span class="comment">// Inference entity</span></div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> inferenceGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(<a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INFERENCE ENTITY OK&quot;</span>);</div><div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;</div><div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;    <span class="comment">// Entity - Type relationship</span></div><div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;                                               inferenceGuid,</div><div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#ae3da9252fb4310cb359c5d64a5573926">LabelsAndEventClasses::INFERENCE_GUID</a>,</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;                                               LabelsAndEventClasses::TYPE_GUID,</div><div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;                                               readableData,</div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;                                               offset);</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INFERENCE TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;</div><div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;    <span class="comment">// Network - Inference relationship</span></div><div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;                                               optNetGuid,</div><div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;                                               inferenceGuid,</div><div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a9b431866f8b82e77c6ed26c119078ff8">LabelsAndEventClasses::EXECUTION_OF_GUID</a>,</div><div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;                                               readableData,</div><div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;                                               offset);</div><div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;NETWORK - INFERENCE EXECUTION_OF RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;</div><div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;    <span class="comment">// Start Inference life</span></div><div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;    <span class="comment">// Event packet - timeline, threadId, eventGuid</span></div><div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> inferenceEventGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6580407dea269ed62934d0fd909a2e08">VerifyTimelineEventBinaryPacket</a>(</div><div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INFERENCE START OF LIFE EVENT OK&quot;</span>);</div><div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;</div><div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;    <span class="comment">// Inference - event relationship</span></div><div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::ExecutionLink,</div><div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;                                               inferenceGuid,</div><div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;                                               inferenceEventGuid,</div><div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a75123df426e55b7e9c218704cb52120f">LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS</a>,</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;                                               readableData,</div><div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;                                               offset);</div><div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INFERENCE START OF LIFE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;</div><div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;    <span class="comment">// Execution</span></div><div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;    <span class="comment">// Input workload execution</span></div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;    <span class="comment">// Input workload execution entity</span></div><div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> inputWorkloadExecutionGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT WORKLOAD EXECUTION ENTITY OK&quot;</span>);</div><div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;</div><div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;    <span class="comment">// Entity - Type relationship</span></div><div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;                                               inputWorkloadExecutionGuid,</div><div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a793b484a75929738ea46016d2190ab5c">LabelsAndEventClasses::WORKLOAD_EXECUTION_GUID</a>,</div><div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;                                               LabelsAndEventClasses::TYPE_GUID,</div><div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;                                               readableData,</div><div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;                                               offset);</div><div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT WORKLOAD EXECUTION TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;</div><div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;    <span class="comment">// Inference - Workload execution relationship</span></div><div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;                                               inferenceGuid,</div><div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;                                               inputWorkloadExecutionGuid,</div><div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;                                               LabelsAndEventClasses::CHILD_GUID,</div><div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;                                               readableData,</div><div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;                                               offset);</div><div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT WORKLOAD - INPUT WORKLOAD EXECUTION RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;</div><div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;    <span class="comment">// Workload - Workload execution relationship</span></div><div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;                                               inputWorkloadGuid,</div><div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;                                               inputWorkloadExecutionGuid,</div><div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a9b431866f8b82e77c6ed26c119078ff8">LabelsAndEventClasses::EXECUTION_OF_GUID</a>,</div><div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;                                               readableData,</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;                                               offset);</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT WORKLOAD - INPUT WORKLOAD EXECUTION RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;    <span class="comment">// Start Input workload execution life</span></div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;    <span class="comment">// Event packet - timeline, threadId, eventGuid</span></div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> inputWorkloadExecutionSOLEventId = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6580407dea269ed62934d0fd909a2e08">VerifyTimelineEventBinaryPacket</a>(</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT WORKLOAD EXECUTION - START OF LIFE EVENT OK&quot;</span>);</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;    <span class="comment">// Input workload execution - event relationship</span></div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::ExecutionLink,</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;                                               inputWorkloadExecutionGuid,</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;                                               inputWorkloadExecutionSOLEventId,</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a75123df426e55b7e9c218704cb52120f">LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS</a>,</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;                                               readableData,</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;                                               offset);</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT WORKLOAD EXECUTION - START OF LIFE EVENT RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;    <span class="comment">// End of Input workload execution life</span></div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;    <span class="comment">// Event packet - timeline, threadId, eventGuid</span></div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> inputWorkloadExecutionEOLEventId = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6580407dea269ed62934d0fd909a2e08">VerifyTimelineEventBinaryPacket</a>(</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT WORKLOAD EXECUTION - END OF LIFE EVENT OK&quot;</span>);</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;    <span class="comment">// Input workload execution - event relationship</span></div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::ExecutionLink,</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;                                               inputWorkloadExecutionGuid,</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;                                               inputWorkloadExecutionEOLEventId,</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#abff887aa42263e0816432cdd0987e27d">LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS</a>,</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;                                               readableData,</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;                                               offset);</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INPUT WORKLOAD EXECUTION - END OF LIFE EVENT RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;    <span class="comment">// Conv2d workload execution</span></div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;    <span class="comment">// Conv2d workload execution entity</span></div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> conv2DWorkloadExecutionGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D WORKLOAD EXECUTION ENTITY OK&quot;</span>);</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;    <span class="comment">// Entity - Type relationship</span></div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;                                               conv2DWorkloadExecutionGuid,</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a793b484a75929738ea46016d2190ab5c">LabelsAndEventClasses::WORKLOAD_EXECUTION_GUID</a>,</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;                                               LabelsAndEventClasses::TYPE_GUID,</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;                                               readableData,</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;                                               offset);</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D WORKLOAD EXECUTION TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;    <span class="comment">// Inference - Workload execution relationship</span></div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;                                               inferenceGuid,</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;                                               conv2DWorkloadExecutionGuid,</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;                                               LabelsAndEventClasses::CHILD_GUID,</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;                                               readableData,</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;                                               offset);</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INFERENCE - CONV2D WORKLOAD EXECUTION CHILD RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;    <span class="comment">// Workload - Workload execution relationship</span></div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;                                               conv2DWorkloadGuid,</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;                                               conv2DWorkloadExecutionGuid,</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a9b431866f8b82e77c6ed26c119078ff8">LabelsAndEventClasses::EXECUTION_OF_GUID</a>,</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;                                               readableData,</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;                                               offset);</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D WORKLOAD - CONV2D WORKLOAD EXECUTION RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;    <span class="comment">// Start Conv2d workload execution life</span></div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;    <span class="comment">// Event packet - timeline, threadId, eventGuid</span></div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> conv2DWorkloadExecutionSOLEventGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6580407dea269ed62934d0fd909a2e08">VerifyTimelineEventBinaryPacket</a>(</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D WORKLOAD EXECUTION START OF LIFE EVENT OK&quot;</span>);</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;    <span class="comment">// Conv2d workload execution - event relationship</span></div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::ExecutionLink,</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;                                               conv2DWorkloadExecutionGuid,</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;                                               conv2DWorkloadExecutionSOLEventGuid,</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a75123df426e55b7e9c218704cb52120f">LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS</a>,</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;                                               readableData,</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;                                               offset);</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D WORKLOAD EXECUTION START OF LIFE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;    <span class="comment">// End of Conv2d workload execution life</span></div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;    <span class="comment">// Event packet - timeline, threadId, eventGuid</span></div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> conv2DWorkloadExecutionEOLEventGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6580407dea269ed62934d0fd909a2e08">VerifyTimelineEventBinaryPacket</a>(</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D WORKLOAD EXECUTION END OF LIFE EVENT OK&quot;</span>);</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;    <span class="comment">// Conv2d workload execution - event relationship</span></div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::ExecutionLink,</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;                                               conv2DWorkloadExecutionGuid,</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;                                               conv2DWorkloadExecutionEOLEventGuid,</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#abff887aa42263e0816432cdd0987e27d">LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS</a>,</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;                                               readableData,</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;                                               offset);</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;CONV2D WORKLOAD EXECUTION END OF LIFE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;    <span class="comment">// Abs workload execution</span></div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;    <span class="comment">// Abs workload execution entity</span></div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> absWorkloadExecutionGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS WORKLOAD EXECUTION ENTITY OK&quot;</span>);</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;    <span class="comment">// Entity - Type relationship</span></div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;                                               absWorkloadExecutionGuid,</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a793b484a75929738ea46016d2190ab5c">LabelsAndEventClasses::WORKLOAD_EXECUTION_GUID</a>,</div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;                                               LabelsAndEventClasses::TYPE_GUID,</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;                                               readableData,</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;                                               offset);</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS WORKLOAD EXECUTION TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;    <span class="comment">// Inference - Workload execution relationship</span></div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;                                               inferenceGuid,</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;                                               absWorkloadExecutionGuid,</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;                                               LabelsAndEventClasses::CHILD_GUID,</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;                                               readableData,</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;                                               offset);</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INFERENCE - ABS WORKLOAD EXECUTION CHILD RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;    <span class="comment">// Workload - Workload execution relationship</span></div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;                                               absWorkloadGuid,</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;                                               absWorkloadExecutionGuid,</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a9b431866f8b82e77c6ed26c119078ff8">LabelsAndEventClasses::EXECUTION_OF_GUID</a>,</div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;                                               readableData,</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;                                               offset);</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS WORKLOAD - ABS WORKLOAD EXECUTION RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;    <span class="comment">// Start Abs workload execution life</span></div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;    <span class="comment">// Event packet - timeline, threadId, eventGuid</span></div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> absWorkloadExecutionSOLEventGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6580407dea269ed62934d0fd909a2e08">VerifyTimelineEventBinaryPacket</a>(</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS WORKLOAD EXECUTION START OF LIFE EVENT OK&quot;</span>);</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;    <span class="comment">// Abs workload execution - event relationship</span></div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::ExecutionLink,</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;                                               absWorkloadExecutionGuid,</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;                                               absWorkloadExecutionSOLEventGuid,</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a75123df426e55b7e9c218704cb52120f">LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS</a>,</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;                                               readableData,</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;                                               offset);</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS WORKLOAD EXECUTION START OF LIFE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;    <span class="comment">// End of Abs workload execution life</span></div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;    <span class="comment">// Event packet - timeline, threadId, eventGuid</span></div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> absWorkloadExecutionEOLEventGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6580407dea269ed62934d0fd909a2e08">VerifyTimelineEventBinaryPacket</a>(</div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS WORKLOAD EXECUTION END OF LIFE EVENT OK&quot;</span>);</div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;</div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;    <span class="comment">// Abs workload execution - event relationship</span></div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::ExecutionLink,</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;                                               absWorkloadExecutionGuid,</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;                                               absWorkloadExecutionEOLEventGuid,</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#abff887aa42263e0816432cdd0987e27d">LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS</a>,</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;                                               readableData,</div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;                                               offset);</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;ABS WORKLOAD EXECUTION END OF LIFE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;    <span class="comment">// Output workload execution</span></div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;    <span class="comment">// Output workload execution entity</span></div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> outputWorkloadExecutionGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a>(</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT WORKLOAD EXECUTION ENTITY OK&quot;</span>);</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;    <span class="comment">// Entity - Type relationship</span></div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::LabelLink,</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;                                               outputWorkloadExecutionGuid,</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a793b484a75929738ea46016d2190ab5c">LabelsAndEventClasses::WORKLOAD_EXECUTION_GUID</a>,</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;                                               LabelsAndEventClasses::TYPE_GUID,</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;                                               readableData,</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;                                               offset);</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT WORKLOAD EXECUTION TYPE RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;</div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;    <span class="comment">// Inference - Workload execution relationship</span></div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;                                               inferenceGuid,</div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;                                               outputWorkloadExecutionGuid,</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;                                               LabelsAndEventClasses::CHILD_GUID,</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;                                               readableData,</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;                                               offset);</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INFERENCE - OUTPUT WORKLOAD EXECUTION CHILD RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;    <span class="comment">// Workload - Workload execution relationship</span></div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::RetentionLink,</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;                                               outputWorkloadGuid,</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;                                               outputWorkloadExecutionGuid,</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a9b431866f8b82e77c6ed26c119078ff8">LabelsAndEventClasses::EXECUTION_OF_GUID</a>,</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;                                               readableData,</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;                                               offset);</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT WORKLOAD - OUTPUT WORKLOAD EXECUTION EXECUTION_OF RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;    <span class="comment">// Start Output workload execution life</span></div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;    <span class="comment">// Event packet - timeline, threadId, eventGuid</span></div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> outputWorkloadExecutionSOLEventGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6580407dea269ed62934d0fd909a2e08">VerifyTimelineEventBinaryPacket</a>(</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT WORKLOAD EXECUTION START OF LIFE EVENT OK&quot;</span>);</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;</div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160;    <span class="comment">// Output workload execution - event relationship</span></div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::ExecutionLink,</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;                                               outputWorkloadExecutionGuid,</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;                                               outputWorkloadExecutionSOLEventGuid,</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a75123df426e55b7e9c218704cb52120f">LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS</a>,</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;                                               readableData,</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;                                               offset);</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT WORKLOAD EXECUTION - START OF LIFE EVENT RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;    <span class="comment">// End of Normalize workload execution life</span></div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;    <span class="comment">// Event packet - timeline, threadId, eventGuid</span></div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> outputWorkloadExecutionEOLEventGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6580407dea269ed62934d0fd909a2e08">VerifyTimelineEventBinaryPacket</a>(</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT WORKLOAD EXECUTION END OF LIFE EVENT OK&quot;</span>);</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;    <span class="comment">// Output workload execution - event relationship</span></div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::ExecutionLink,</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;                                               outputWorkloadExecutionGuid,</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;                                               outputWorkloadExecutionEOLEventGuid,</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#abff887aa42263e0816432cdd0987e27d">LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS</a>,</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;                                               readableData,</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;                                               offset);</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;OUTPUT WORKLOAD EXECUTION - END OF LIFE EVENT RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;    <span class="comment">// End of Inference life</span></div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;    <span class="comment">// Event packet - timeline, threadId, eventGuid</span></div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;    <a class="code" href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">ProfilingGuid</a> inferenceEOLEventGuid = <a class="code" href="_profiling_test_utils_8cpp.xhtml#a6580407dea269ed62934d0fd909a2e08">VerifyTimelineEventBinaryPacket</a>(</div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;        <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(), readableData, offset);</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INFERENCE END OF LIFE EVENT OK&quot;</span>);</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;    <span class="comment">// Inference - event relationship</span></div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;    <a class="code" href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a>(ProfilingRelationshipType::ExecutionLink,</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;                                               <a class="code" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>(),</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;                                               inferenceGuid,</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;                                               inferenceEOLEventGuid,</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;                                               <a class="code" href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#abff887aa42263e0816432cdd0987e27d">LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS</a>,</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;                                               readableData,</div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;                                               offset);</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160;    BOOST_TEST_MESSAGE(<span class="stringliteral">&quot;INFERENCE - END OF LIFE EVENT RELATIONSHIP OK&quot;</span>);</div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160;</div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;    bufferManager.MarkRead(inferenceReadableBuffer);</div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;}</div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;</div><div class="line"><a name="l01258"></a><span class="lineno"><a class="line" href="_profiling_test_utils_8hpp.xhtml#a574e305ad5b7b33c40fc025580e30dee"> 1258</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="_profiling_test_utils_8cpp.xhtml#a574e305ad5b7b33c40fc025580e30dee">CompareOutput</a>(std::vector&lt;std::string&gt; output, std::vector&lt;std::string&gt; expectedOutput)</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;{</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;    <span class="keywordflow">if</span> (output.size() != expectedOutput.size())</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;    {</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;        std::cerr &lt;&lt; <span class="stringliteral">&quot;output has [&quot;</span> &lt;&lt; output.size() &lt;&lt; <span class="stringliteral">&quot;] lines, expected was [&quot;</span></div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;                  &lt;&lt; expectedOutput.size() &lt;&lt; <span class="stringliteral">&quot;] lines&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;        std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;actual&quot;</span> &lt;&lt; std::endl &lt;&lt; std::endl;</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;        <span class="keywordflow">for</span> (<span class="keyword">auto</span> line : output)</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;        {</div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;            std::cerr &lt;&lt; line &lt;&lt; std::endl;</div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;        }</div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;        std::cerr &lt;&lt; std::endl &lt;&lt; <span class="stringliteral">&quot;expected&quot;</span> &lt;&lt; std::endl &lt;&lt; std::endl;</div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;        <span class="keywordflow">for</span> (<span class="keyword">auto</span> line : expectedOutput)</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;        {</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;            std::cerr &lt;&lt; line &lt;&lt; std::endl;</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;        }</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;    }</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;    <span class="keywordtype">bool</span> bRet = <span class="keyword">true</span>;</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> i = 0; i &lt; output.size(); ++i)</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;    {</div><div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;        <span class="keywordflow">if</span> (output[i] != expectedOutput[i])</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;        {</div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;            bRet = <span class="keyword">false</span>;</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;            std::cerr &lt;&lt; i &lt;&lt; <span class="stringliteral">&quot;: actual [&quot;</span> &lt;&lt; output[i] &lt;&lt; <span class="stringliteral">&quot;] expected [&quot;</span> &lt;&lt; expectedOutput[i] &lt;&lt; <span class="stringliteral">&quot;]&quot;</span> &lt;&lt; std::endl;</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;        }</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;    }</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;    <span class="keywordflow">return</span> bRet;</div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;}</div><div class="ttc" id="classarmnn_1_1profiling_1_1_labels_and_event_classes_xhtml_ae3da9252fb4310cb359c5d64a5573926"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#ae3da9252fb4310cb359c5d64a5573926">armnn::profiling::LabelsAndEventClasses::INFERENCE_GUID</a></div><div class="ttdeci">static ARMNN_DLLEXPORT ProfilingStaticGuid INFERENCE_GUID</div><div class="ttdef"><b>Definition:</b> <a href="_labels_and_event_classes_8hpp_source.xhtml#l00051">LabelsAndEventClasses.hpp:51</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_a22f1d90f329261a58e14827f99090e93"><div class="ttname"><a href="namespacearmnn.xhtml#a22f1d90f329261a58e14827f99090e93">armnn::GetProfilingService</a></div><div class="ttdeci">profiling::ProfilingService &amp; GetProfilingService(armnn::RuntimeImpl *runtime)</div><div class="ttdef"><b>Definition:</b> <a href="_test_utils_8cpp_source.xhtml#l00035">TestUtils.cpp:35</a></div></div>
<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_aa9e49717ebdb741e8c767741647fc618"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#aa9e49717ebdb741e8c767741647fc618">armnn::Convolution2dDescriptor::m_PadBottom</a></div><div class="ttdeci">uint32_t m_PadBottom</div><div class="ttdoc">Padding bottom value in the height dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00444">Descriptors.hpp:444</a></div></div>
<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_aea202e14d8874cefd9a0f778022b7e25"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#aea202e14d8874cefd9a0f778022b7e25">armnn::Convolution2dDescriptor::m_BiasEnabled</a></div><div class="ttdeci">bool m_BiasEnabled</div><div class="ttdoc">Enable/disable bias. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00454">Descriptors.hpp:454</a></div></div>
<div class="ttc" id="structarmnn_1_1_runtime_impl_xhtml_aa198ca53eeb01b6e2134da924ec36405"><div class="ttname"><a href="structarmnn_1_1_runtime_impl.xhtml#aa198ca53eeb01b6e2134da924ec36405">armnn::RuntimeImpl::GetInputTensorInfo</a></div><div class="ttdeci">TensorInfo GetInputTensorInfo(NetworkId networkId, LayerBindingId layerId) const</div><div class="ttdef"><b>Definition:</b> <a href="_runtime_8cpp_source.xhtml#l00372">Runtime.cpp:372</a></div></div>
<div class="ttc" id="classarmnn_1_1_i_connectable_layer_xhtml"><div class="ttname"><a href="classarmnn_1_1_i_connectable_layer.xhtml">armnn::IConnectableLayer</a></div><div class="ttdoc">Interface for a layer that is connectable to other layers via InputSlots and OutputSlots. </div><div class="ttdef"><b>Definition:</b> <a href="_i_network_8hpp_source.xhtml#l00062">INetwork.hpp:62</a></div></div>
<div class="ttc" id="_profiling_test_utils_8cpp_xhtml_ae8508d42bb9bd2e705d05b921c83d2b0"><div class="ttname"><a href="_profiling_test_utils_8cpp.xhtml#ae8508d42bb9bd2e705d05b921c83d2b0">VerifyTimelineEventClassBinaryPacketData</a></div><div class="ttdeci">void VerifyTimelineEventClassBinaryPacketData(ProfilingGuid guid, ProfilingGuid nameGuid, const unsigned char *readableData, unsigned int &amp;offset)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_test_utils_8cpp_source.xhtml#l00145">ProfilingTestUtils.cpp:145</a></div></div>
<div class="ttc" id="_profiling_test_utils_8cpp_xhtml_a5bb551aa8659adc968f27238d539c3b5"><div class="ttname"><a href="_profiling_test_utils_8cpp.xhtml#a5bb551aa8659adc968f27238d539c3b5">VerifyTimelineEntityBinaryPacketData</a></div><div class="ttdeci">ProfilingGuid VerifyTimelineEntityBinaryPacketData(Optional&lt; ProfilingGuid &gt; guid, const unsigned char *readableData, unsigned int &amp;offset)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_test_utils_8cpp_source.xhtml#l00267">ProfilingTestUtils.cpp:267</a></div></div>
<div class="ttc" id="_profiling_test_utils_8cpp_xhtml_a63249ab17e3797a6c5e3c187a17dbce4"><div class="ttname"><a href="_profiling_test_utils_8cpp.xhtml#a63249ab17e3797a6c5e3c187a17dbce4">VerifyPostOptimisationStructureTestImpl</a></div><div class="ttdeci">void VerifyPostOptimisationStructureTestImpl(armnn::BackendId backendId)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_test_utils_8cpp_source.xhtml#l00361">ProfilingTestUtils.cpp:361</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_ae2f04a162585c0a5222a537efd5456aea83c2c4e9b658ccafbcbe6309c5d84c64"><div class="ttname"><a href="namespacearmnn.xhtml#ae2f04a162585c0a5222a537efd5456aea83c2c4e9b658ccafbcbe6309c5d84c64">armnn::Compute::CpuRef</a></div><div class="ttdoc">CPU Execution: Reference C++ kernels. </div></div>
<div class="ttc" id="classarmnn_1_1_optional_xhtml"><div class="ttname"><a href="classarmnn_1_1_optional.xhtml">armnn::Optional</a></div><div class="ttdef"><b>Definition:</b> <a href="_optional_8hpp_source.xhtml#l00270">Optional.hpp:270</a></div></div>
<div class="ttc" id="namespacearmnn_utils_1_1_threads_xhtml_af0dcc5dda372a6f517e0930720219297"><div class="ttname"><a href="namespacearmnn_utils_1_1_threads.xhtml#af0dcc5dda372a6f517e0930720219297">armnnUtils::Threads::GetCurrentThreadId</a></div><div class="ttdeci">int GetCurrentThreadId()</div><div class="ttdef"><b>Definition:</b> <a href="_threads_8cpp_source.xhtml#l00027">Threads.cpp:27</a></div></div>
<div class="ttc" id="structarmnn_1_1abs_xhtml"><div class="ttname"><a href="structarmnn_1_1abs.xhtml">armnn::abs</a></div><div class="ttdef"><b>Definition:</b> <a href="_abs_8hpp_source.xhtml#l00013">Abs.hpp:13</a></div></div>
<div class="ttc" id="namespacearmnn_1_1profiling_xhtml_a66ccd202fa7bf1e52476e61d49a45ee6"><div class="ttname"><a href="namespacearmnn_1_1profiling.xhtml#a66ccd202fa7bf1e52476e61d49a45ee6">armnn::profiling::GetHardwareVersion</a></div><div class="ttdeci">std::string GetHardwareVersion()</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_utils_8cpp_source.xhtml#l00232">ProfilingUtils.cpp:232</a></div></div>
<div class="ttc" id="namespacearmnn_utils_1_1_processes_xhtml_a1d95dea376acbd82dde773e05db454be"><div class="ttname"><a href="namespacearmnn_utils_1_1_processes.xhtml#a1d95dea376acbd82dde773e05db454be">armnnUtils::Processes::GetCurrentId</a></div><div class="ttdeci">int GetCurrentId()</div><div class="ttdef"><b>Definition:</b> <a href="_processes_8cpp_source.xhtml#l00019">Processes.cpp:19</a></div></div>
<div class="ttc" id="classarmnn_1_1_tensor_info_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor_info.xhtml">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00152">Tensor.hpp:152</a></div></div>
<div class="ttc" id="namespacearmnn_1_1profiling_xhtml_a097646e1b460c992b553061a3436fb47"><div class="ttname"><a href="namespacearmnn_1_1profiling.xhtml#a097646e1b460c992b553061a3436fb47">armnn::profiling::ReadBytes</a></div><div class="ttdeci">void ReadBytes(const IPacketBufferPtr &amp;packetBuffer, unsigned int offset, unsigned int valueSize, uint8_t outValue[])</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_utils_8cpp_source.xhtml#l00167">ProfilingUtils.cpp:167</a></div></div>
<div class="ttc" id="namespacearmnn_1_1profiling_xhtml_aa4de2b511faa41accc2c35cadf051124"><div class="ttname"><a href="namespacearmnn_1_1profiling.xhtml#aa4de2b511faa41accc2c35cadf051124">armnn::profiling::ReadUint64</a></div><div class="ttdeci">uint64_t ReadUint64(const IPacketBufferPtr &amp;packetBuffer, unsigned int offset)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_utils_8cpp_source.xhtml#l00174">ProfilingUtils.cpp:174</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_profiling_service_runtime_helper_xhtml_a03f72b1ccbef21ab7caafb037ce2144c"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_profiling_service_runtime_helper.xhtml#a03f72b1ccbef21ab7caafb037ce2144c">armnn::profiling::ProfilingServiceRuntimeHelper::ForceTransitionToState</a></div><div class="ttdeci">void ForceTransitionToState(ProfilingState newState)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_test_utils_8hpp_source.xhtml#l00084">ProfilingTestUtils.hpp:84</a></div></div>
<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml">armnn::Convolution2dDescriptor</a></div><div class="ttdoc">A Convolution2dDescriptor for the Convolution2dLayer. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00408">Descriptors.hpp:408</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_profiling_guid_xhtml"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_profiling_guid.xhtml">armnn::profiling::ProfilingGuid</a></div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.xhtml#l00291">Types.hpp:291</a></div></div>
<div class="ttc" id="_profiling_test_utils_8cpp_xhtml_aa449021ed1a9de7abcdbd0ca903577db"><div class="ttname"><a href="_profiling_test_utils_8cpp.xhtml#aa449021ed1a9de7abcdbd0ca903577db">GetStreamMetaDataPacketSize</a></div><div class="ttdeci">uint32_t GetStreamMetaDataPacketSize()</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_test_utils_8cpp_source.xhtml#l00021">ProfilingTestUtils.cpp:21</a></div></div>
<div class="ttc" id="namespacearmnn_1_1profiling_xhtml_a52fbcd350a9f12a385a7c5562c1efd9a"><div class="ttname"><a href="namespacearmnn_1_1profiling.xhtml#a52fbcd350a9f12a385a7c5562c1efd9a">armnn::profiling::GetProcessName</a></div><div class="ttdeci">std::string GetProcessName()</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_utils_8cpp_source.xhtml#l00243">ProfilingUtils.cpp:243</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_ac2807505b850738bc8a1991ce669dd47"><div class="ttname"><a href="namespacearmnn.xhtml#ac2807505b850738bc8a1991ce669dd47">armnn::BackendRegistryInstance</a></div><div class="ttdeci">BackendRegistry &amp; BackendRegistryInstance()</div><div class="ttdef"><b>Definition:</b> <a href="_backend_registry_8cpp_source.xhtml#l00013">BackendRegistry.cpp:13</a></div></div>
<div class="ttc" id="structarmnn_1_1_runtime_impl_xhtml_af92b5ae61208a778571bcea7e6aac7b4"><div class="ttname"><a href="structarmnn_1_1_runtime_impl.xhtml#af92b5ae61208a778571bcea7e6aac7b4">armnn::RuntimeImpl::LoadNetwork</a></div><div class="ttdeci">Status LoadNetwork(NetworkId &amp;networkIdOut, IOptimizedNetworkPtr network)</div><div class="ttdoc">Loads a complete network into the Runtime. </div><div class="ttdef"><b>Definition:</b> <a href="_runtime_8cpp_source.xhtml#l00109">Runtime.cpp:109</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_aa01bce88f89975a5a031db4cc8861527"><div class="ttname"><a href="namespacearmnn.xhtml#aa01bce88f89975a5a031db4cc8861527">armnn::InputTensors</a></div><div class="ttdeci">std::vector&lt; std::pair&lt; LayerBindingId, class ConstTensor &gt; &gt; InputTensors</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00340">Tensor.hpp:340</a></div></div>
<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_a002bc30e590d78cbb4f4d12171055ca7"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#a002bc30e590d78cbb4f4d12171055ca7">armnn::Convolution2dDescriptor::m_PadRight</a></div><div class="ttdeci">uint32_t m_PadRight</div><div class="ttdoc">Padding right value in the width dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00440">Descriptors.hpp:440</a></div></div>
<div class="ttc" id="structarmnn_1_1_runtime_impl_xhtml_a81c83702b94931626c6d84a3fa915362"><div class="ttname"><a href="structarmnn_1_1_runtime_impl.xhtml#a81c83702b94931626c6d84a3fa915362">armnn::RuntimeImpl::GetOutputTensorInfo</a></div><div class="ttdeci">TensorInfo GetOutputTensorInfo(NetworkId networkId, LayerBindingId layerId) const</div><div class="ttdef"><b>Definition:</b> <a href="_runtime_8cpp_source.xhtml#l00377">Runtime.cpp:377</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_a83015160d8c67d5d77735eb0d4033d9a"><div class="ttname"><a href="namespacearmnn.xhtml#a83015160d8c67d5d77735eb0d4033d9a">armnn::NetworkId</a></div><div class="ttdeci">int NetworkId</div><div class="ttdef"><b>Definition:</b> <a href="_i_runtime_8hpp_source.xhtml#l00020">IRuntime.hpp:20</a></div></div>
<div class="ttc" id="_test_utils_8hpp_xhtml"><div class="ttname"><a href="_test_utils_8hpp.xhtml">TestUtils.hpp</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml"><div class="ttname"><a href="namespacearmnn.xhtml">armnn</a></div><div class="ttdoc">Copyright (c) 2021 ARM Limited and Contributors. </div><div class="ttdef"><b>Definition:</b> <a href="01__00__software__tools_8dox_source.xhtml#l00006">01_00_software_tools.dox:6</a></div></div>
<div class="ttc" id="structarmnn_1_1_runtime_impl_xhtml_ab88fe81be37ed549ae7247c18025cc35"><div class="ttname"><a href="structarmnn_1_1_runtime_impl.xhtml#ab88fe81be37ed549ae7247c18025cc35">armnn::RuntimeImpl::EnqueueWorkload</a></div><div class="ttdeci">Status EnqueueWorkload(NetworkId networkId, const InputTensors &amp;inputTensors, const OutputTensors &amp;outputTensors)</div><div class="ttdef"><b>Definition:</b> <a href="_runtime_8cpp_source.xhtml#l00383">Runtime.cpp:383</a></div></div>
<div class="ttc" id="_profiling_test_utils_8cpp_xhtml_ae64165cd8af458ef4a8634c51892ef08"><div class="ttname"><a href="_profiling_test_utils_8cpp.xhtml#ae64165cd8af458ef4a8634c51892ef08">GetSuitableBackendRegistered</a></div><div class="ttdeci">std::vector&lt; BackendId &gt; GetSuitableBackendRegistered()</div><div class="ttdoc">Returns a vector of CpuRef, CpuAcc or GpuAcc backends if they where registered. </div><div class="ttdef"><b>Definition:</b> <a href="_profiling_test_utils_8cpp_source.xhtml#l00041">ProfilingTestUtils.cpp:41</a></div></div>
<div class="ttc" id="namespacearmnn_1_1profiling_xhtml_af38e9c5d82c9317255665a6315842166"><div class="ttname"><a href="namespacearmnn_1_1profiling.xhtml#af38e9c5d82c9317255665a6315842166">armnn::profiling::GetSoftwareInfo</a></div><div class="ttdeci">std::string GetSoftwareInfo()</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_utils_8cpp_source.xhtml#l00227">ProfilingUtils.cpp:227</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_labels_and_event_classes_xhtml_ab2c48043328356b5ec556dd5284a4138"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#ab2c48043328356b5ec556dd5284a4138">armnn::profiling::LabelsAndEventClasses::CONNECTION_GUID</a></div><div class="ttdeci">static ARMNN_DLLEXPORT ProfilingStaticGuid CONNECTION_GUID</div><div class="ttdef"><b>Definition:</b> <a href="_labels_and_event_classes_8hpp_source.xhtml#l00050">LabelsAndEventClasses.hpp:50</a></div></div>
<div class="ttc" id="structarmnn_1_1_i_runtime_1_1_creation_options_1_1_external_profiling_options_xhtml_a26d42007440bb01a1a6d0ab3b5a657ee"><div class="ttname"><a href="structarmnn_1_1_i_runtime_1_1_creation_options_1_1_external_profiling_options.xhtml#a26d42007440bb01a1a6d0ab3b5a657ee">armnn::IRuntime::CreationOptions::ExternalProfilingOptions::m_EnableProfiling</a></div><div class="ttdeci">bool m_EnableProfiling</div><div class="ttdef"><b>Definition:</b> <a href="_i_runtime_8hpp_source.xhtml#l00075">IRuntime.hpp:75</a></div></div>
<div class="ttc" id="classarmnn_1_1_optional_reference_switch_xhtml_a77c7d528ac063d870b8c8426ec81c1c3"><div class="ttname"><a href="classarmnn_1_1_optional_reference_switch.xhtml#a77c7d528ac063d870b8c8426ec81c1c3">armnn::OptionalReferenceSwitch&lt; std::is_reference&lt; T &gt;::value, T &gt;::value</a></div><div class="ttdeci">const T &amp; value() const</div><div class="ttdef"><b>Definition:</b> <a href="_optional_8hpp_source.xhtml#l00146">Optional.hpp:146</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_labels_and_event_classes_xhtml_a6d5d1a547ba9c92694347fc71ddf0e18"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a6d5d1a547ba9c92694347fc71ddf0e18">armnn::profiling::LabelsAndEventClasses::WORKLOAD_GUID</a></div><div class="ttdeci">static ARMNN_DLLEXPORT ProfilingStaticGuid WORKLOAD_GUID</div><div class="ttdef"><b>Definition:</b> <a href="_labels_and_event_classes_8hpp_source.xhtml#l00048">LabelsAndEventClasses.hpp:48</a></div></div>
<div class="ttc" id="_processes_8hpp_xhtml"><div class="ttname"><a href="_processes_8hpp.xhtml">Processes.hpp</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_labels_and_event_classes_xhtml_a793b484a75929738ea46016d2190ab5c"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a793b484a75929738ea46016d2190ab5c">armnn::profiling::LabelsAndEventClasses::WORKLOAD_EXECUTION_GUID</a></div><div class="ttdeci">static ARMNN_DLLEXPORT ProfilingStaticGuid WORKLOAD_EXECUTION_GUID</div><div class="ttdef"><b>Definition:</b> <a href="_labels_and_event_classes_8hpp_source.xhtml#l00052">LabelsAndEventClasses.hpp:52</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_labels_and_event_classes_xhtml_abff887aa42263e0816432cdd0987e27d"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#abff887aa42263e0816432cdd0987e27d">armnn::profiling::LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS</a></div><div class="ttdeci">static ARMNN_DLLEXPORT ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS</div><div class="ttdef"><b>Definition:</b> <a href="_labels_and_event_classes_8hpp_source.xhtml#l00060">LabelsAndEventClasses.hpp:60</a></div></div>
<div class="ttc" id="classarmnn_1_1_i_output_slot_xhtml_a5ee4a6c9a2481245487b1b1a70d20fd0"><div class="ttname"><a href="classarmnn_1_1_i_output_slot.xhtml#a5ee4a6c9a2481245487b1b1a70d20fd0">armnn::IOutputSlot::SetTensorInfo</a></div><div class="ttdeci">virtual void SetTensorInfo(const TensorInfo &amp;tensorInfo)=0</div></div>
<div class="ttc" id="_numeric_cast_8hpp_xhtml"><div class="ttname"><a href="_numeric_cast_8hpp.xhtml">NumericCast.hpp</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_labels_and_event_classes_xhtml_af22d8b04133c4b68f4320d6c98dc9502"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#af22d8b04133c4b68f4320d6c98dc9502">armnn::profiling::LabelsAndEventClasses::NAME_GUID</a></div><div class="ttdeci">static ARMNN_DLLEXPORT ProfilingStaticGuid NAME_GUID</div><div class="ttdef"><b>Definition:</b> <a href="_labels_and_event_classes_8hpp_source.xhtml#l00032">LabelsAndEventClasses.hpp:32</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_labels_and_event_classes_xhtml_a75123df426e55b7e9c218704cb52120f"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a75123df426e55b7e9c218704cb52120f">armnn::profiling::LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS</a></div><div class="ttdeci">static ARMNN_DLLEXPORT ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS</div><div class="ttdef"><b>Definition:</b> <a href="_labels_and_event_classes_8hpp_source.xhtml#l00056">LabelsAndEventClasses.hpp:56</a></div></div>
<div class="ttc" id="classarmnn_1_1_tensor_xhtml"><div class="ttname"><a href="classarmnn_1_1_tensor.xhtml">armnn::Tensor</a></div><div class="ttdoc">A tensor defined by a TensorInfo (shape and data type) and a mutable backing store. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00306">Tensor.hpp:306</a></div></div>
<div class="ttc" id="_profiling_test_utils_8cpp_xhtml_a197f0ee221203c2b65fbef6e9da54941"><div class="ttname"><a href="_profiling_test_utils_8cpp.xhtml#a197f0ee221203c2b65fbef6e9da54941">OffsetToNextWord</a></div><div class="ttdeci">unsigned int OffsetToNextWord(unsigned int numberOfBytes)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_test_utils_8cpp_source.xhtml#l00059">ProfilingTestUtils.cpp:59</a></div></div>
<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_a56b51f56cef50cdfa554258eecdab046"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#a56b51f56cef50cdfa554258eecdab046">armnn::Convolution2dDescriptor::m_PadTop</a></div><div class="ttdeci">uint32_t m_PadTop</div><div class="ttdoc">Padding top value in the height dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00442">Descriptors.hpp:442</a></div></div>
<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_afe6a3377c4531315354def9023c8fdda"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#afe6a3377c4531315354def9023c8fdda">armnn::Convolution2dDescriptor::m_StrideX</a></div><div class="ttdeci">uint32_t m_StrideX</div><div class="ttdoc">Stride value when proceeding through input for the width dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00446">Descriptors.hpp:446</a></div></div>
<div class="ttc" id="_labels_and_event_classes_8hpp_xhtml"><div class="ttname"><a href="_labels_and_event_classes_8hpp.xhtml">LabelsAndEventClasses.hpp</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_a67a0db04d321a74b7e7fcfd3f1a3f70ba505a83f220c02df2f85c3810cd9ceb38"><div class="ttname"><a href="namespacearmnn.xhtml#a67a0db04d321a74b7e7fcfd3f1a3f70ba505a83f220c02df2f85c3810cd9ceb38">armnn::Status::Success</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_labels_and_event_classes_xhtml_a939d115d7a078087c7a826bf2c65bcb4"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a939d115d7a078087c7a826bf2c65bcb4">armnn::profiling::LabelsAndEventClasses::LAYER_GUID</a></div><div class="ttdeci">static ARMNN_DLLEXPORT ProfilingStaticGuid LAYER_GUID</div><div class="ttdef"><b>Definition:</b> <a href="_labels_and_event_classes_8hpp_source.xhtml#l00047">LabelsAndEventClasses.hpp:47</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_profiling_service_xhtml_a881aa03d7b35e6d0acd783f2aaa22ac9"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_profiling_service.xhtml#a881aa03d7b35e6d0acd783f2aaa22ac9">armnn::profiling::ProfilingService::GetStaticId</a></div><div class="ttdeci">static ProfilingStaticGuid GetStaticId(const std::string &amp;str)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_service_8cpp_source.xhtml#l00029">ProfilingService.cpp:29</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_a82e98ef05fd67036d1195ba17174d685"><div class="ttname"><a href="namespacearmnn.xhtml#a82e98ef05fd67036d1195ba17174d685">armnn::Optimize</a></div><div class="ttdeci">IOptimizedNetworkPtr Optimize(const INetwork &amp;network, const std::vector&lt; BackendId &gt; &amp;backendPreferences, const IDeviceSpec &amp;deviceSpec, const OptimizerOptions &amp;options=OptimizerOptions(), Optional&lt; std::vector&lt; std::string &gt; &amp;&gt; messages=EmptyOptional())</div><div class="ttdoc">Create an optimized version of the network. </div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.xhtml#l01502">Network.cpp:1502</a></div></div>
<div class="ttc" id="_profiling_test_utils_8cpp_xhtml_a2d7768e5e753dcc3212100a9949db533"><div class="ttname"><a href="_profiling_test_utils_8cpp.xhtml#a2d7768e5e753dcc3212100a9949db533">VerifyTimelineRelationshipBinaryPacketData</a></div><div class="ttdeci">void VerifyTimelineRelationshipBinaryPacketData(ProfilingRelationshipType relationshipType, Optional&lt; ProfilingGuid &gt; relationshipGuid, Optional&lt; ProfilingGuid &gt; headGuid, Optional&lt; ProfilingGuid &gt; tailGuid, Optional&lt; ProfilingGuid &gt; attributeGuid, const unsigned char *readableData, unsigned int &amp;offset)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_test_utils_8cpp_source.xhtml#l00173">ProfilingTestUtils.cpp:173</a></div></div>
<div class="ttc" id="_profiling_test_utils_8cpp_xhtml_a574e305ad5b7b33c40fc025580e30dee"><div class="ttname"><a href="_profiling_test_utils_8cpp.xhtml#a574e305ad5b7b33c40fc025580e30dee">CompareOutput</a></div><div class="ttdeci">bool CompareOutput(std::vector&lt; std::string &gt; output, std::vector&lt; std::string &gt; expectedOutput)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_test_utils_8cpp_source.xhtml#l01258">ProfilingTestUtils.cpp:1258</a></div></div>
<div class="ttc" id="classarmnn_1_1_optional_base_xhtml_a86b749ce2c4bc627fa8a1fcfaf0e314f"><div class="ttname"><a href="classarmnn_1_1_optional_base.xhtml#a86b749ce2c4bc627fa8a1fcfaf0e314f">armnn::OptionalBase::has_value</a></div><div class="ttdeci">bool has_value() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="_optional_8hpp_source.xhtml#l00053">Optional.hpp:53</a></div></div>
<div class="ttc" id="structarmnn_1_1_runtime_impl_xhtml_ace3a3fbd42ff981af628e91fbeb254d5"><div class="ttname"><a href="structarmnn_1_1_runtime_impl.xhtml#ace3a3fbd42ff981af628e91fbeb254d5">armnn::RuntimeImpl::GetDeviceSpec</a></div><div class="ttdeci">const IDeviceSpec &amp; GetDeviceSpec() const</div><div class="ttdef"><b>Definition:</b> <a href="_runtime_8hpp_source.xhtml#l00070">Runtime.hpp:70</a></div></div>
<div class="ttc" id="classarmnn_1_1_i_connectable_layer_xhtml_afb5e65c770f6cee222db8af7581541a6"><div class="ttname"><a href="classarmnn_1_1_i_connectable_layer.xhtml#afb5e65c770f6cee222db8af7581541a6">armnn::IConnectableLayer::GetGuid</a></div><div class="ttdeci">virtual LayerGuid GetGuid() const =0</div><div class="ttdoc">Returns the unique id of the layer. </div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_labels_and_event_classes_xhtml_a9b431866f8b82e77c6ed26c119078ff8"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a9b431866f8b82e77c6ed26c119078ff8">armnn::profiling::LabelsAndEventClasses::EXECUTION_OF_GUID</a></div><div class="ttdeci">static ARMNN_DLLEXPORT ProfilingStaticGuid EXECUTION_OF_GUID</div><div class="ttdef"><b>Definition:</b> <a href="_labels_and_event_classes_8hpp_source.xhtml#l00037">LabelsAndEventClasses.hpp:37</a></div></div>
<div class="ttc" id="classarmnn_1_1_const_tensor_xhtml"><div class="ttname"><a href="classarmnn_1_1_const_tensor.xhtml">armnn::ConstTensor</a></div><div class="ttdoc">A tensor defined by a TensorInfo (shape and data type) and an immutable backing store. </div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00314">Tensor.hpp:314</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_a8f091a512915d1cb29a4ebf13dfc53ea"><div class="ttname"><a href="namespacearmnn.xhtml#a8f091a512915d1cb29a4ebf13dfc53ea">armnn::OutputTensors</a></div><div class="ttdeci">std::vector&lt; std::pair&lt; LayerBindingId, class Tensor &gt; &gt; OutputTensors</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.xhtml#l00341">Tensor.hpp:341</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_a674efcf6cbdb9e831d653ff0e821fb38"><div class="ttname"><a href="namespacearmnn.xhtml#a674efcf6cbdb9e831d653ff0e821fb38">armnn::IOptimizedNetworkPtr</a></div><div class="ttdeci">std::unique_ptr&lt; IOptimizedNetwork, void(*)(IOptimizedNetwork *network)&gt; IOptimizedNetworkPtr</div><div class="ttdef"><b>Definition:</b> <a href="_i_network_8hpp_source.xhtml#l00174">INetwork.hpp:174</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_profiling_service_xhtml_ae7a3588986b93e13fda47c7ce4b0627c"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_profiling_service.xhtml#ae7a3588986b93e13fda47c7ce4b0627c">armnn::profiling::ProfilingService::ResetExternalProfilingOptions</a></div><div class="ttdeci">void ResetExternalProfilingOptions(const ExternalProfilingOptions &amp;options, bool resetProfilingService=false)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_service_8cpp_source.xhtml#l00039">ProfilingService.cpp:39</a></div></div>
<div class="ttc" id="namespacearmnn_1_1profiling_xhtml_ab805f5aa9f101e7f6d971daba044c3c2"><div class="ttname"><a href="namespacearmnn_1_1profiling.xhtml#ab805f5aa9f101e7f6d971daba044c3c2">armnn::profiling::ProfilingRelationshipType</a></div><div class="ttdeci">ProfilingRelationshipType</div><div class="ttdef"><b>Definition:</b> <a href="_i_send_timeline_packet_8hpp_source.xhtml#l00018">ISendTimelinePacket.hpp:18</a></div></div>
<div class="ttc" id="_assert_8hpp_xhtml_a5698be69cbd5dfe6c28fcd9867e8cbed"><div class="ttname"><a href="_assert_8hpp.xhtml#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a></div><div class="ttdeci">#define ARMNN_ASSERT(COND)</div><div class="ttdef"><b>Definition:</b> <a href="_assert_8hpp_source.xhtml#l00014">Assert.hpp:14</a></div></div>
<div class="ttc" id="_threads_8hpp_xhtml"><div class="ttname"><a href="_threads_8hpp.xhtml">Threads.hpp</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_a6bab17bfd45c2fa4592c431bc25ad10e"><div class="ttname"><a href="namespacearmnn.xhtml#a6bab17bfd45c2fa4592c431bc25ad10e">armnn::GetComputeDeviceAsCString</a></div><div class="ttdeci">constexpr char const  * GetComputeDeviceAsCString(Compute compute)</div><div class="ttdoc">Deprecated function that will be removed together with the Compute enum. </div><div class="ttdef"><b>Definition:</b> <a href="_backend_id_8hpp_source.xhtml#l00034">BackendId.hpp:34</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_ae2f04a162585c0a5222a537efd5456aeafaa4524e3df19ada32643ce9a222362b"><div class="ttname"><a href="namespacearmnn.xhtml#ae2f04a162585c0a5222a537efd5456aeafaa4524e3df19ada32643ce9a222362b">armnn::Compute::GpuAcc</a></div><div class="ttdoc">GPU Execution: OpenCL: ArmCompute. </div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_buffer_manager_xhtml_abce8709dc1b666a26f427ba7ff08b737"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_buffer_manager.xhtml#abce8709dc1b666a26f427ba7ff08b737">armnn::profiling::BufferManager::GetReadableBuffer</a></div><div class="ttdeci">IPacketBufferPtr GetReadableBuffer() override</div><div class="ttdef"><b>Definition:</b> <a href="_buffer_manager_8cpp_source.xhtml#l00116">BufferManager.cpp:116</a></div></div>
<div class="ttc" id="namespacearmnn_1_1profiling_xhtml_a6272d5d5e3a8afa0a402e9aafd19aedf"><div class="ttname"><a href="namespacearmnn_1_1profiling.xhtml#a6272d5d5e3a8afa0a402e9aafd19aedf">armnn::profiling::ThreadIdSize</a></div><div class="ttdeci">constexpr unsigned int ThreadIdSize</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_utils_8hpp_source.xhtml#l00031">ProfilingUtils.hpp:31</a></div></div>
<div class="ttc" id="structarmnn_1_1_runtime_impl_xhtml"><div class="ttname"><a href="structarmnn_1_1_runtime_impl.xhtml">armnn::RuntimeImpl</a></div><div class="ttdef"><b>Definition:</b> <a href="_runtime_8hpp_source.xhtml#l00030">Runtime.hpp:30</a></div></div>
<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_ac1fe174bbadfb39a2b636940c2e647c8"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#ac1fe174bbadfb39a2b636940c2e647c8">armnn::Convolution2dDescriptor::m_StrideY</a></div><div class="ttdeci">uint32_t m_StrideY</div><div class="ttdoc">Stride value when proceeding through input for the height dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00448">Descriptors.hpp:448</a></div></div>
<div class="ttc" id="namespacearmnn_1_1profiling_xhtml_ad56f4c3ea5e88279bb6ef1f31d9dc6df"><div class="ttname"><a href="namespacearmnn_1_1profiling.xhtml#ad56f4c3ea5e88279bb6ef1f31d9dc6df">armnn::profiling::ReadUint32</a></div><div class="ttdeci">uint32_t ReadUint32(const IPacketBufferPtr &amp;packetBuffer, unsigned int offset)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_utils_8cpp_source.xhtml#l00181">ProfilingUtils.cpp:181</a></div></div>
<div class="ttc" id="_profiling_test_utils_8cpp_xhtml_a6bd6e8ba2f989621f7348d2bb6ce13a4"><div class="ttname"><a href="_profiling_test_utils_8cpp.xhtml#a6bd6e8ba2f989621f7348d2bb6ce13a4">VerifyTimelineHeaderBinary</a></div><div class="ttdeci">void VerifyTimelineHeaderBinary(const unsigned char *readableData, unsigned int &amp;offset, uint32_t packetDataLength)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_test_utils_8cpp_source.xhtml#l00072">ProfilingTestUtils.cpp:72</a></div></div>
<div class="ttc" id="structarmnn_1_1_i_runtime_1_1_creation_options_xhtml"><div class="ttname"><a href="structarmnn_1_1_i_runtime_1_1_creation_options.xhtml">armnn::IRuntime::CreationOptions</a></div><div class="ttdef"><b>Definition:</b> <a href="_i_runtime_8hpp_source.xhtml#l00043">IRuntime.hpp:43</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_labels_and_event_classes_xhtml_a2803368c101910905392bc7edd4c9cc5"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a2803368c101910905392bc7edd4c9cc5">armnn::profiling::LabelsAndEventClasses::NETWORK_GUID</a></div><div class="ttdeci">static ARMNN_DLLEXPORT ProfilingStaticGuid NETWORK_GUID</div><div class="ttdef"><b>Definition:</b> <a href="_labels_and_event_classes_8hpp_source.xhtml#l00049">LabelsAndEventClasses.hpp:49</a></div></div>
<div class="ttc" id="namespacearmnn_1_1profiling_xhtml_a1a90cae723e311b3b71272a7f5ecccbb"><div class="ttname"><a href="namespacearmnn_1_1profiling.xhtml#a1a90cae723e311b3b71272a7f5ecccbb">armnn::profiling::GetSoftwareVersion</a></div><div class="ttdeci">std::string GetSoftwareVersion()</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_utils_8cpp_source.xhtml#l00237">ProfilingUtils.cpp:237</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_profiling_service_xhtml"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_profiling_service.xhtml">armnn::profiling::ProfilingService</a></div><div class="ttdef"><b>Definition:</b> <a href="_profiling_service_8hpp_source.xhtml#l00049">ProfilingService.hpp:49</a></div></div>
<div class="ttc" id="structarmnn_1_1_empty_optional_xhtml"><div class="ttname"><a href="structarmnn_1_1_empty_optional.xhtml">armnn::EmptyOptional</a></div><div class="ttdoc">EmptyOptional is used to initialize the Optional class in case we want to have default value for an O...</div><div class="ttdef"><b>Definition:</b> <a href="_optional_8hpp_source.xhtml#l00032">Optional.hpp:32</a></div></div>
<div class="ttc" id="structarmnn_1_1_elementwise_unary_descriptor_xhtml"><div class="ttname"><a href="structarmnn_1_1_elementwise_unary_descriptor.xhtml">armnn::ElementwiseUnaryDescriptor</a></div><div class="ttdoc">A ElementwiseUnaryDescriptor for the ElementwiseUnaryLayer. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00098">Descriptors.hpp:98</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_profiling_service_runtime_helper_xhtml"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_profiling_service_runtime_helper.xhtml">armnn::profiling::ProfilingServiceRuntimeHelper</a></div><div class="ttdef"><b>Definition:</b> <a href="_profiling_test_utils_8hpp_source.xhtml#l00071">ProfilingTestUtils.hpp:71</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_labels_and_event_classes_xhtml_adb91c720887d6f0e45daf196741a5a0b"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#adb91c720887d6f0e45daf196741a5a0b">armnn::profiling::LabelsAndEventClasses::TYPE_GUID</a></div><div class="ttdeci">static ARMNN_DLLEXPORT ProfilingStaticGuid TYPE_GUID</div><div class="ttdef"><b>Definition:</b> <a href="_labels_and_event_classes_8hpp_source.xhtml#l00033">LabelsAndEventClasses.hpp:33</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_buffer_manager_xhtml"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_buffer_manager.xhtml">armnn::profiling::BufferManager</a></div><div class="ttdef"><b>Definition:</b> <a href="_buffer_manager_8hpp_source.xhtml#l00022">BufferManager.hpp:22</a></div></div>
<div class="ttc" id="namespacearmnn_1_1profiling_xhtml_aabcf5c25522e8a0542c95174056cfcac"><div class="ttname"><a href="namespacearmnn_1_1profiling.xhtml#aabcf5c25522e8a0542c95174056cfcac">armnn::profiling::uint32_t_size</a></div><div class="ttdeci">uint32_t uint32_t_size</div><div class="ttdef"><b>Definition:</b> <a href="_directory_capture_command_handler_8cpp_source.xhtml#l00022">DirectoryCaptureCommandHandler.cpp:22</a></div></div>
<div class="ttc" id="_descriptors_8hpp_xhtml"><div class="ttname"><a href="_descriptors_8hpp.xhtml">Descriptors.hpp</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_ae2f04a162585c0a5222a537efd5456aea39f8662ca778258e9c6a14f26fec5ec1"><div class="ttname"><a href="namespacearmnn.xhtml#ae2f04a162585c0a5222a537efd5456aea39f8662ca778258e9c6a14f26fec5ec1">armnn::Compute::CpuAcc</a></div><div class="ttdoc">CPU Execution: NEON: ArmCompute. </div></div>
<div class="ttc" id="classarmnn_1_1_backend_id_xhtml_af7445617163d3f07c47b92ae56c6cf8b"><div class="ttname"><a href="classarmnn_1_1_backend_id.xhtml#af7445617163d3f07c47b92ae56c6cf8b">armnn::BackendId::Get</a></div><div class="ttdeci">const std::string &amp; Get() const</div><div class="ttdef"><b>Definition:</b> <a href="_backend_id_8hpp_source.xhtml#l00136">BackendId.hpp:136</a></div></div>
<div class="ttc" id="classarmnn_1_1_i_connectable_layer_xhtml_a6ec9e0eb66d7d6a01240492a0b18104c"><div class="ttname"><a href="classarmnn_1_1_i_connectable_layer.xhtml#a6ec9e0eb66d7d6a01240492a0b18104c">armnn::IConnectableLayer::GetInputSlot</a></div><div class="ttdeci">virtual const IInputSlot &amp; GetInputSlot(unsigned int index) const =0</div><div class="ttdoc">Get a const input slot handle by slot index. </div></div>
<div class="ttc" id="namespacearmnn_xhtml_a375ca3cff9f1b005d1412dc5f3cf5b6e"><div class="ttname"><a href="namespacearmnn.xhtml#a375ca3cff9f1b005d1412dc5f3cf5b6e">armnn::numeric_cast</a></div><div class="ttdeci">std::enable_if_t&lt; std::is_unsigned&lt; Source &gt;::value &amp;&amp;std::is_unsigned&lt; Dest &gt;::value, Dest &gt; numeric_cast(Source source)</div><div class="ttdef"><b>Definition:</b> <a href="_numeric_cast_8hpp_source.xhtml#l00035">NumericCast.hpp:35</a></div></div>
<div class="ttc" id="structarmnn_1_1_i_runtime_1_1_creation_options_1_1_external_profiling_options_xhtml_a5b304d775657afbf1fb724af57add374"><div class="ttname"><a href="structarmnn_1_1_i_runtime_1_1_creation_options_1_1_external_profiling_options.xhtml#a5b304d775657afbf1fb724af57add374">armnn::IRuntime::CreationOptions::ExternalProfilingOptions::m_TimelineEnabled</a></div><div class="ttdeci">bool m_TimelineEnabled</div><div class="ttdef"><b>Definition:</b> <a href="_i_runtime_8hpp_source.xhtml#l00076">IRuntime.hpp:76</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_profiling_service_runtime_helper_xhtml_a33b6add40a385911fe653ac446124deb"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_profiling_service_runtime_helper.xhtml#a33b6add40a385911fe653ac446124deb">armnn::profiling::ProfilingServiceRuntimeHelper::GetProfilingBufferManager</a></div><div class="ttdeci">BufferManager &amp; GetProfilingBufferManager()</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_test_utils_8hpp_source.xhtml#l00078">ProfilingTestUtils.hpp:78</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
<div class="ttc" id="classarmnn_1_1_i_connectable_layer_xhtml_a80ac4eda2e7f2757ec9dd96fc96dbd16"><div class="ttname"><a href="classarmnn_1_1_i_connectable_layer.xhtml#a80ac4eda2e7f2757ec9dd96fc96dbd16">armnn::IConnectableLayer::GetOutputSlot</a></div><div class="ttdeci">virtual const IOutputSlot &amp; GetOutputSlot(unsigned int index) const =0</div><div class="ttdoc">Get the const output slot handle by slot index. </div></div>
<div class="ttc" id="_profiling_test_utils_8hpp_xhtml"><div class="ttname"><a href="_profiling_test_utils_8hpp.xhtml">ProfilingTestUtils.hpp</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_ace74f6f9feb95a964a49d79458232703"><div class="ttname"><a href="namespacearmnn.xhtml#ace74f6f9feb95a964a49d79458232703">armnn::INetworkPtr</a></div><div class="ttdeci">std::unique_ptr&lt; INetwork, void(*)(INetwork *network)&gt; INetworkPtr</div><div class="ttdef"><b>Definition:</b> <a href="_i_network_8hpp_source.xhtml#l00173">INetwork.hpp:173</a></div></div>
<div class="ttc" id="_profiling_test_utils_8cpp_xhtml_a6580407dea269ed62934d0fd909a2e08"><div class="ttname"><a href="_profiling_test_utils_8cpp.xhtml#a6580407dea269ed62934d0fd909a2e08">VerifyTimelineEventBinaryPacket</a></div><div class="ttdeci">ProfilingGuid VerifyTimelineEventBinaryPacket(Optional&lt; uint64_t &gt; timestamp, Optional&lt; int &gt; threadId, Optional&lt; ProfilingGuid &gt; eventGuid, const unsigned char *readableData, unsigned int &amp;offset)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_test_utils_8cpp_source.xhtml#l00301">ProfilingTestUtils.cpp:301</a></div></div>
<div class="ttc" id="classarmnn_1_1_i_output_slot_xhtml_ac1835f8756a9f03c02fcf9664e3a0fce"><div class="ttname"><a href="classarmnn_1_1_i_output_slot.xhtml#ac1835f8756a9f03c02fcf9664e3a0fce">armnn::IOutputSlot::Connect</a></div><div class="ttdeci">virtual int Connect(IInputSlot &amp;destination)=0</div></div>
<div class="ttc" id="_profiling_test_utils_8cpp_xhtml_adc7f226dc73412440c4588cf685fab40"><div class="ttname"><a href="_profiling_test_utils_8cpp.xhtml#adc7f226dc73412440c4588cf685fab40">VerifyTimelineLabelBinaryPacketData</a></div><div class="ttdeci">ProfilingGuid VerifyTimelineLabelBinaryPacketData(Optional&lt; ProfilingGuid &gt; guid, const std::string &amp;label, const unsigned char *readableData, unsigned int &amp;offset)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_test_utils_8cpp_source.xhtml#l00100">ProfilingTestUtils.cpp:100</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_labels_and_event_classes_xhtml_a0c786c3e4560c019deef4d6fc63b847b"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a0c786c3e4560c019deef4d6fc63b847b">armnn::profiling::LabelsAndEventClasses::PROCESS_ID_GUID</a></div><div class="ttdeci">static ARMNN_DLLEXPORT ProfilingStaticGuid PROCESS_ID_GUID</div><div class="ttdef"><b>Definition:</b> <a href="_labels_and_event_classes_8hpp_source.xhtml#l00038">LabelsAndEventClasses.hpp:38</a></div></div>
<div class="ttc" id="structarmnn_1_1_i_runtime_1_1_creation_options_xhtml_a30412a91cadff138686eaeb12f5357cc"><div class="ttname"><a href="structarmnn_1_1_i_runtime_1_1_creation_options.xhtml#a30412a91cadff138686eaeb12f5357cc">armnn::IRuntime::CreationOptions::m_ProfilingOptions</a></div><div class="ttdeci">ExternalProfilingOptions m_ProfilingOptions</div><div class="ttdef"><b>Definition:</b> <a href="_i_runtime_8hpp_source.xhtml#l00084">IRuntime.hpp:84</a></div></div>
<div class="ttc" id="classarmnn_1_1_i_network_xhtml_a464f0ff87b1aabf71febaa71321dd40b"><div class="ttname"><a href="classarmnn_1_1_i_network.xhtml#a464f0ff87b1aabf71febaa71321dd40b">armnn::INetwork::Create</a></div><div class="ttdeci">static INetworkPtr Create(NetworkOptions networkOptions={})</div><div class="ttdef"><b>Definition:</b> <a href="_network_8cpp_source.xhtml#l00510">Network.cpp:510</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_labels_and_event_classes_xhtml_ade2233e4c4600c2353dbdd1729977872"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#ade2233e4c4600c2353dbdd1729977872">armnn::profiling::LabelsAndEventClasses::BACKENDID_GUID</a></div><div class="ttdeci">static ARMNN_DLLEXPORT ProfilingStaticGuid BACKENDID_GUID</div><div class="ttdef"><b>Definition:</b> <a href="_labels_and_event_classes_8hpp_source.xhtml#l00035">LabelsAndEventClasses.hpp:35</a></div></div>
<div class="ttc" id="_profiling_utils_8hpp_xhtml"><div class="ttname"><a href="_profiling_utils_8hpp.xhtml">ProfilingUtils.hpp</a></div></div>
<div class="ttc" id="structarmnn_1_1_convolution2d_descriptor_xhtml_ac18546ebbebbb32fe0a03baa9bf2c600"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.xhtml#ac18546ebbebbb32fe0a03baa9bf2c600">armnn::Convolution2dDescriptor::m_PadLeft</a></div><div class="ttdeci">uint32_t m_PadLeft</div><div class="ttdoc">Padding left value in the width dimension. </div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.xhtml#l00438">Descriptors.hpp:438</a></div></div>
<div class="ttc" id="classarmnn_1_1profiling_1_1_labels_and_event_classes_xhtml_a1caad872d87e206434faf5ca051cf36c"><div class="ttname"><a href="classarmnn_1_1profiling_1_1_labels_and_event_classes.xhtml#a1caad872d87e206434faf5ca051cf36c">armnn::profiling::LabelsAndEventClasses::CHILD_GUID</a></div><div class="ttdeci">static ARMNN_DLLEXPORT ProfilingStaticGuid CHILD_GUID</div><div class="ttdef"><b>Definition:</b> <a href="_labels_and_event_classes_8hpp_source.xhtml#l00036">LabelsAndEventClasses.hpp:36</a></div></div>
<div class="ttc" id="_profiling_service_8hpp_xhtml"><div class="ttname"><a href="_profiling_service_8hpp.xhtml">ProfilingService.hpp</a></div></div>
<div class="ttc" id="classarmnn_1_1_backend_id_xhtml"><div class="ttname"><a href="classarmnn_1_1_backend_id.xhtml">armnn::BackendId</a></div><div class="ttdef"><b>Definition:</b> <a href="_backend_id_8hpp_source.xhtml#l00075">BackendId.hpp:75</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_637c692f14729569dd2eac0c18e2a54a.xhtml">profiling</a></li><li class="navelem"><a class="el" href="dir_6b1198f6e738611120ec65b09506d2f8.xhtml">test</a></li><li class="navelem"><a class="el" href="_profiling_test_utils_8cpp.xhtml">ProfilingTestUtils.cpp</a></li>
    <li class="footer">Generated on Thu Feb 25 2021 17:27:54 for ArmNN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>