aboutsummaryrefslogtreecommitdiff
path: root/latest/_neon_workload_utils_8hpp_source.html
diff options
context:
space:
mode:
authorNikhil Raj <nikhil.raj@arm.com>2024-05-16 09:47:51 +0100
committerNikhil Raj <nikhil.raj@arm.com>2024-05-16 09:47:51 +0100
commit1dc83febfb76d6a770bdf3ba16c4034a970c2320 (patch)
tree66d27e5587e9010f3db26a23a348df844c88f8e6 /latest/_neon_workload_utils_8hpp_source.html
parent38b600d8abb2c5f7a44511b5deddf441f975d51d (diff)
downloadarmnn-gh-pages.tar.gz
IVGCVSW-8260 Update Doxgen Docu for 24.05gh-pages
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: If4bc983bf2793a27ded8e26ac2b29523fc1e4711
Diffstat (limited to 'latest/_neon_workload_utils_8hpp_source.html')
-rw-r--r--latest/_neon_workload_utils_8hpp_source.html324
1 files changed, 162 insertions, 162 deletions
diff --git a/latest/_neon_workload_utils_8hpp_source.html b/latest/_neon_workload_utils_8hpp_source.html
index 4ff2a57a91..c16e1f9c7e 100644
--- a/latest/_neon_workload_utils_8hpp_source.html
+++ b/latest/_neon_workload_utils_8hpp_source.html
@@ -36,7 +36,7 @@
<img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
<td id="projectalign" style="padding-left: 0.9em;">
<div id="projectname">
- &#160;<span id="projectnumber">24.02</span>
+ &#160;<span id="projectnumber">24.05</span>
</div>
</td>
</tr>
@@ -97,78 +97,78 @@ $(document).ready(function(){initNavTree('_neon_workload_utils_8hpp_source.html'
</div><!--header-->
<div class="contents">
<a href="_neon_workload_utils_8hpp.html">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 © 2017-2023 Arm Ltd and Contributors. All rights reserved.</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Copyright © 2017-2024 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;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; </div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_workload_8hpp.html">armnn/backends/Workload.hpp</a>&gt;</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_arm_compute_tensor_utils_8hpp.html">aclCommon/ArmComputeTensorUtils.hpp</a>&gt;</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_neon_tensor_handle_8hpp.html">neon/NeonTensorHandle.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="_neon_timer_8hpp.html">neon/NeonTimer.hpp</a>&gt;</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_tensor_handle_8hpp.html">armnn/backends/TensorHandle.hpp</a>&gt;</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; </div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_utils_8hpp.html">armnn/Utils.hpp</a>&gt;</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; </div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_half_8hpp.html">Half.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"><a class="line" href="_neon_workload_utils_8hpp.html#a8bf91fd5e5875631bcf6abbcd97fe2f4"> 17</a></span>&#160;<span class="preprocessor">#define ARMNN_SCOPED_PROFILING_EVENT_NEON(name) \</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor"> ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::CpuAcc, \</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor"> armnn::EmptyOptional(), \</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor"> name, \</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor"> armnn::NeonTimer(), \</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor"> armnn::WallClockTimer())</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
-<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="_neon_workload_utils_8hpp.html#a9165e41bcaf1b90f9ff91ef681e88c4f"> 24</a></span>&#160;<span class="preprocessor">#define ARMNN_SCOPED_PROFILING_EVENT_NEON_GUID(name, guid) \</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"> ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::CpuAcc, \</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"> guid, \</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"> GetName() + &quot;_&quot; + name, \</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor"> armnn::NeonTimer(), \</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor"> armnn::WallClockTimer())</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment">/// Creates a profiling event that uses GetGuid() and GetName() from the calling class</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="_neon_workload_utils_8hpp.html#a7f97eedf3c9436b110df92c947bbb55d"> 32</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID(label) \</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor"> ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::CpuAcc, \</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor"> this-&gt;GetGuid(), \</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"> this-&gt;GetName() + &quot;_&quot; + label, \</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"> armnn::NeonTimer(), \</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor"> armnn::WallClockTimer())</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">using namespace </span>armnn::armcomputetensorutils;</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"> 41</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacearmnn.html">armnn</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; </div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">inline</span> std::string <a class="code" href="namespacearmnn.html#a63833af8e1986a93f86d15397b9062c2">GetConvolutionMethodString</a>(arm_compute::ConvolutionMethod&amp; convolutionMethod)</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; <span class="keywordflow">switch</span> (convolutionMethod)</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">case</span> arm_compute::ConvolutionMethod::FFT:</div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;FFT&quot;</span>;</div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">case</span> arm_compute::ConvolutionMethod::DIRECT:</div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Direct&quot;</span>;</div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">case</span> arm_compute::ConvolutionMethod::GEMM:</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;GEMM&quot;</span>;</div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">case</span> arm_compute::ConvolutionMethod::WINOGRAD:</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Winograd&quot;</span>;</div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Unknown&quot;</span>;</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"> 59</span>&#160;}</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="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
-<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41"> 62</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(arm_compute::Tensor&amp; dstTensor, <span class="keyword">const</span> T* srcData)</div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;{</div>
-<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; InitialiseArmComputeTensorEmpty(dstTensor);</div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; CopyArmComputeITensorData(srcData, dstTensor);</div>
-<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;}</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"><a class="line" href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7"> 68</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">InitializeArmComputeTensorData</a>(arm_compute::Tensor&amp; tensor,</div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> tensorInfo,</div>
-<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_i_tensor_handle.html">ITensorHandle</a>* handle)</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"> 72</span>&#160; <a class="code" href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(handle);</div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; </div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_exceptions_8hpp.html">armnn/Exceptions.hpp</a>&gt;</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_workload_8hpp.html">armnn/backends/Workload.hpp</a>&gt;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_arm_compute_tensor_utils_8hpp.html">aclCommon/ArmComputeTensorUtils.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="_neon_tensor_handle_8hpp.html">neon/NeonTensorHandle.hpp</a>&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_neon_timer_8hpp.html">neon/NeonTimer.hpp</a>&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_tensor_handle_8hpp.html">armnn/backends/TensorHandle.hpp</a>&gt;</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; </div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_utils_8hpp.html">armnn/Utils.hpp</a>&gt;</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_half_8hpp.html">Half.hpp</a>&gt;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
+<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="_neon_workload_utils_8hpp.html#a8bf91fd5e5875631bcf6abbcd97fe2f4"> 18</a></span>&#160;<span class="preprocessor">#define ARMNN_SCOPED_PROFILING_EVENT_NEON(name) \</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor"> ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::CpuAcc, \</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor"> armnn::EmptyOptional(), \</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor"> name, \</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor"> armnn::NeonTimer(), \</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"> armnn::WallClockTimer())</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="_neon_workload_utils_8hpp.html#a9165e41bcaf1b90f9ff91ef681e88c4f"> 25</a></span>&#160;<span class="preprocessor">#define ARMNN_SCOPED_PROFILING_EVENT_NEON_GUID(name, guid) \</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"> ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::CpuAcc, \</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"> guid, \</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor"> GetName() + &quot;_&quot; + name, \</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor"> armnn::NeonTimer(), \</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor"> armnn::WallClockTimer())</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment">/// Creates a profiling event that uses GetGuid() and GetName() from the calling class</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="_neon_workload_utils_8hpp.html#a7f97eedf3c9436b110df92c947bbb55d"> 33</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID(label) \</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor"> ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::CpuAcc, \</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"> this-&gt;GetGuid(), \</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"> this-&gt;GetName() + &quot;_&quot; + label, \</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor"> armnn::NeonTimer(), \</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor"> armnn::WallClockTimer())</span></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;<span class="keyword">using namespace </span>armnn::armcomputetensorutils;</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacearmnn.html">armnn</a></div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">inline</span> std::string <a class="code" href="namespacearmnn.html#a63833af8e1986a93f86d15397b9062c2">GetConvolutionMethodString</a>(arm_compute::ConvolutionMethod&amp; convolutionMethod)</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">switch</span> (convolutionMethod)</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; {</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">case</span> arm_compute::ConvolutionMethod::FFT:</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;FFT&quot;</span>;</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">case</span> arm_compute::ConvolutionMethod::DIRECT:</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Direct&quot;</span>;</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">case</span> arm_compute::ConvolutionMethod::GEMM:</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;GEMM&quot;</span>;</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">case</span> arm_compute::ConvolutionMethod::WINOGRAD:</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Winograd&quot;</span>;</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Unknown&quot;</span>;</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</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; </div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41"> 63</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(arm_compute::Tensor&amp; dstTensor, <span class="keyword">const</span> T* srcData)</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; InitialiseArmComputeTensorEmpty(dstTensor);</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; CopyArmComputeITensorData(srcData, dstTensor);</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"><a class="line" href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7"> 69</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">InitializeArmComputeTensorData</a>(arm_compute::Tensor&amp; tensor,</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> tensorInfo,</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_i_tensor_handle.html">ITensorHandle</a>* handle)</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;{</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="_exceptions_8hpp.html#a5b0cd1f24b12298894d6367f186ea6dc">ARMNN_THROW_INVALIDARG_MSG_IF_FALSE</a>(handle, <span class="stringliteral">&quot;Null tensor handle passed to InitializeArmComputeTensorData.&quot;</span>);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">switch</span>(tensorInfo.<a class="code" href="classarmnn_1_1_tensor_info.html#aea909c7327109228ef618d459015def3">GetDataType</a>())</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; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>:</div>
@@ -202,100 +202,98 @@ $(document).ready(function(){initNavTree('_neon_workload_utils_8hpp_source.html'
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="namespacearmnn.html#acf8e1f43fc13cf7603564cc15743fce2"> 104</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">InitializeArmComputeTensorData</a>(arm_compute::Tensor&amp; tensor,</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_const_tensor_handle.html">ConstTensorHandle</a>* handle)</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; <a class="code" href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(handle);</div>
-<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; </div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">switch</span>(handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>().<a class="code" href="classarmnn_1_1_tensor_info.html#aea909c7327109228ef618d459015def3">GetDataType</a>())</div>
-<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div>
-<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>:</div>
-<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(tensor, handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">GetConstTensor</a>&lt;<a class="code" href="namespacearmnn.html#a0b49aa352b84d572942185ce72cef751">armnn::Half</a>&gt;());</div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>:</div>
-<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(tensor, handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">GetConstTensor</a>&lt;<span class="keywordtype">float</span>&gt;());</div>
-<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>:</div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(tensor, handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">GetConstTensor</a>&lt;uint8_t&gt;());</div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>:</div>
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>:</div>
-<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(tensor, handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">GetConstTensor</a>&lt;int8_t&gt;());</div>
-<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a>:</div>
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(tensor, handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">GetConstTensor</a>&lt;int32_t&gt;());</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a>:</div>
-<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(tensor, handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">GetConstTensor</a>&lt;int16_t&gt;());</div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>:</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(tensor, handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">GetConstTensor</a>&lt;<a class="code" href="classarmnn_1_1_b_float16.html">armnn::BFloat16</a>&gt;());</div>
-<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">break</span>;</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">default</span>:</div>
-<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="comment">// Throw exception; assertion not called in release build.</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_exception.html">Exception</a>(<span class="stringliteral">&quot;Unexpected tensor type during InitializeArmComputeTensorData().&quot;</span>);</div>
-<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</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; </div>
-<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="namespacearmnn.html#a01d1e745f360ccd0b655214645bcef32"> 139</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">auto</span> <a class="code" href="namespacearmnn.html#a01d1e745f360ccd0b655214645bcef32">SetNeonStridedSliceData</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; m_begin,</div>
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; m_end,</div>
-<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; m_stride)</div>
-<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;{</div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="namespacearmnn.html#ac6e86c1def7f674d3c4cb7f577874aa6">arm_compute::Coordinates</a> starts;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="namespacearmnn.html#ac6e86c1def7f674d3c4cb7f577874aa6">arm_compute::Coordinates</a> ends;</div>
-<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="namespacearmnn.html#ac6e86c1def7f674d3c4cb7f577874aa6">arm_compute::Coordinates</a> strides;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; </div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_dims = <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span>(m_begin.size());</div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; </div>
-<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; num_dims; i++)</div>
-<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; {</div>
-<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> revertedIndex = num_dims - i - 1;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; </div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; starts.set(i, <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(m_begin[revertedIndex]));</div>
-<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; ends.set(i, <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(m_end[revertedIndex]));</div>
-<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; strides.set(i, <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(m_stride[revertedIndex]));</div>
-<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; </div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> std::make_tuple(starts, ends, strides);</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; </div>
-<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="namespacearmnn.html#ab40e30cea5a328a3c35aa32f9b7db1c1"> 161</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">auto</span> <a class="code" href="namespacearmnn.html#ab40e30cea5a328a3c35aa32f9b7db1c1">SetNeonSliceData</a>(<span class="keyword">const</span> std::vector&lt;unsigned int&gt;&amp; m_begin,</div>
-<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keyword">const</span> std::vector&lt;unsigned int&gt;&amp; m_size)</div>
-<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;{</div>
-<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="comment">// This function must translate the size vector given to an end vector</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="comment">// expected by the ACL NESlice workload</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="namespacearmnn.html#ac6e86c1def7f674d3c4cb7f577874aa6">arm_compute::Coordinates</a> starts;</div>
-<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="namespacearmnn.html#ac6e86c1def7f674d3c4cb7f577874aa6">arm_compute::Coordinates</a> ends;</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="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_dims = <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span>(m_begin.size());</div>
-<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; </div>
-<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="comment">// For strided slices, we have the relationship size = (end - begin) / stride</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="comment">// For slice, we assume stride to be a vector of all ones, yielding the formula</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="comment">// size = (end - begin) therefore we know end = size + begin</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; num_dims; i++)</div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; {</div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> revertedIndex = num_dims - i - 1;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; </div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; starts.set(i, <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(m_begin[revertedIndex]));</div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; ends.set(i, <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(m_begin[revertedIndex] + m_size[revertedIndex]));</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; </div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> std::make_tuple(starts, ends);</div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;}</div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> DataType, <span class="keyword">typename</span> PayloadType&gt;</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>* <a class="code" href="namespacearmnn.html#ae9f37e0b5f15afd89a29788a319da9ec">GetOutputTensorData</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> idx, <span class="keyword">const</span> PayloadType&amp; data)</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;{</div>
-<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; ITensorHandle* tensorHandle = data.m_Outputs[idx];</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span><a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>*<span class="keyword">&gt;</span>(tensorHandle-&gt;Map());</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;}</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
-<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;} <span class="comment">//namespace armnn</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="_exceptions_8hpp.html#a5b0cd1f24b12298894d6367f186ea6dc">ARMNN_THROW_INVALIDARG_MSG_IF_FALSE</a>(handle, <span class="stringliteral">&quot;Null tensor handle passed to InitializeArmComputeTensorData.&quot;</span>);</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">switch</span>(handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>().<a class="code" href="classarmnn_1_1_tensor_info.html#aea909c7327109228ef618d459015def3">GetDataType</a>())</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>:</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(tensor, handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">GetConstTensor</a>&lt;<a class="code" href="namespacearmnn.html#a0b49aa352b84d572942185ce72cef751">armnn::Half</a>&gt;());</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>:</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(tensor, handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">GetConstTensor</a>&lt;<span class="keywordtype">float</span>&gt;());</div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>:</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(tensor, handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">GetConstTensor</a>&lt;uint8_t&gt;());</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>:</div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>:</div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(tensor, handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">GetConstTensor</a>&lt;int8_t&gt;());</div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a>:</div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(tensor, handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">GetConstTensor</a>&lt;int32_t&gt;());</div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a>:</div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(tensor, handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">GetConstTensor</a>&lt;int16_t&gt;());</div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>:</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">CopyArmComputeTensorData</a>(tensor, handle-&gt;<a class="code" href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">GetConstTensor</a>&lt;<a class="code" href="classarmnn_1_1_b_float16.html">armnn::BFloat16</a>&gt;());</div>
+<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">break</span>;</div>
+<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">default</span>:</div>
+<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="comment">// Throw exception; assertion not called in release build.</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_exception.html">Exception</a>(<span class="stringliteral">&quot;Unexpected tensor type during InitializeArmComputeTensorData().&quot;</span>);</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div>
+<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;};</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"><a class="line" href="namespacearmnn.html#a01d1e745f360ccd0b655214645bcef32"> 138</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">auto</span> <a class="code" href="namespacearmnn.html#a01d1e745f360ccd0b655214645bcef32">SetNeonStridedSliceData</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; m_begin,</div>
+<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; m_end,</div>
+<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; m_stride)</div>
+<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;{</div>
+<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="namespacearmnn.html#ac6e86c1def7f674d3c4cb7f577874aa6">arm_compute::Coordinates</a> starts;</div>
+<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="namespacearmnn.html#ac6e86c1def7f674d3c4cb7f577874aa6">arm_compute::Coordinates</a> ends;</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="namespacearmnn.html#ac6e86c1def7f674d3c4cb7f577874aa6">arm_compute::Coordinates</a> strides;</div>
+<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; </div>
+<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_dims = <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span>(m_begin.size());</div>
+<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; num_dims; i++)</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; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> revertedIndex = num_dims - i - 1;</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; starts.set(i, <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(m_begin[revertedIndex]));</div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; ends.set(i, <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(m_end[revertedIndex]));</div>
+<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; strides.set(i, <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(m_stride[revertedIndex]));</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; </div>
+<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> std::make_tuple(starts, ends, strides);</div>
+<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;}</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"><a class="line" href="namespacearmnn.html#ab40e30cea5a328a3c35aa32f9b7db1c1"> 160</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">auto</span> <a class="code" href="namespacearmnn.html#ab40e30cea5a328a3c35aa32f9b7db1c1">SetNeonSliceData</a>(<span class="keyword">const</span> std::vector&lt;unsigned int&gt;&amp; m_begin,</div>
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keyword">const</span> std::vector&lt;unsigned int&gt;&amp; m_size)</div>
+<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;{</div>
+<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="comment">// This function must translate the size vector given to an end vector</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="comment">// expected by the ACL NESlice workload</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="namespacearmnn.html#ac6e86c1def7f674d3c4cb7f577874aa6">arm_compute::Coordinates</a> starts;</div>
+<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="namespacearmnn.html#ac6e86c1def7f674d3c4cb7f577874aa6">arm_compute::Coordinates</a> ends;</div>
+<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; </div>
+<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_dims = <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span>(m_begin.size());</div>
+<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="comment">// For strided slices, we have the relationship size = (end - begin) / stride</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="comment">// For slice, we assume stride to be a vector of all ones, yielding the formula</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="comment">// size = (end - begin) therefore we know end = size + begin</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; num_dims; i++)</div>
+<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; {</div>
+<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> revertedIndex = num_dims - i - 1;</div>
+<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; </div>
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; starts.set(i, <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(m_begin[revertedIndex]));</div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; ends.set(i, <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(m_begin[revertedIndex] + m_size[revertedIndex]));</div>
+<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</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; <span class="keywordflow">return</span> std::make_tuple(starts, ends);</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; </div>
+<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> DataType, <span class="keyword">typename</span> PayloadType&gt;</div>
+<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>* <a class="code" href="namespacearmnn.html#ae9f37e0b5f15afd89a29788a319da9ec">GetOutputTensorData</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> idx, <span class="keyword">const</span> PayloadType&amp; data)</div>
+<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;{</div>
+<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; ITensorHandle* tensorHandle = data.m_Outputs[idx];</div>
+<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span><a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a>*<span class="keyword">&gt;</span>(tensorHandle-&gt;Map());</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;}</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; </div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;} <span class="comment">//namespace armnn</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
-<div class="ttc" id="a_assert_8hpp_html_a5698be69cbd5dfe6c28fcd9867e8cbed"><div class="ttname"><a href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a></div><div class="ttdeci">#define ARMNN_ASSERT(COND)</div><div class="ttdef"><b>Definition:</b> <a href="_assert_8hpp_source.html#l00014">Assert.hpp:14</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_const_tensor_handle_html"><div class="ttname"><a href="classarmnn_1_1_const_tensor_handle.html">armnn::ConstTensorHandle</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_handle_8hpp_source.html#l00024">TensorHandle.hpp:24</a></div></div>
-<div class="ttc" id="anamespacearmnn_html_ae9f37e0b5f15afd89a29788a319da9ec"><div class="ttname"><a href="namespacearmnn.html#ae9f37e0b5f15afd89a29788a319da9ec">armnn::GetOutputTensorData</a></div><div class="ttdeci">DataType * GetOutputTensorData(unsigned int idx, const PayloadType &amp;data)</div><div class="ttdef"><b>Definition:</b> <a href="_cl_workload_utils_8hpp_source.html#l00181">ClWorkloadUtils.hpp:181</a></div></div>
+<div class="ttc" id="anamespacearmnn_html_ae9f37e0b5f15afd89a29788a319da9ec"><div class="ttname"><a href="namespacearmnn.html#ae9f37e0b5f15afd89a29788a319da9ec">armnn::GetOutputTensorData</a></div><div class="ttdeci">DataType * GetOutputTensorData(unsigned int idx, const PayloadType &amp;data)</div><div class="ttdef"><b>Definition:</b> <a href="_cl_workload_utils_8hpp_source.html#l00180">ClWorkloadUtils.hpp:180</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_tensor_info_html"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00152">Tensor.hpp:152</a></div></div>
<div class="ttc" id="a_neon_tensor_handle_8hpp_html"><div class="ttname"><a href="_neon_tensor_handle_8hpp.html">NeonTensorHandle.hpp</a></div></div>
-<div class="ttc" id="anamespacearmnn_html_a01d1e745f360ccd0b655214645bcef32"><div class="ttname"><a href="namespacearmnn.html#a01d1e745f360ccd0b655214645bcef32">armnn::SetNeonStridedSliceData</a></div><div class="ttdeci">auto SetNeonStridedSliceData(const std::vector&lt; int &gt; &amp;m_begin, const std::vector&lt; int &gt; &amp;m_end, const std::vector&lt; int &gt; &amp;m_stride)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00139">NeonWorkloadUtils.hpp:139</a></div></div>
+<div class="ttc" id="anamespacearmnn_html_a01d1e745f360ccd0b655214645bcef32"><div class="ttname"><a href="namespacearmnn.html#a01d1e745f360ccd0b655214645bcef32">armnn::SetNeonStridedSliceData</a></div><div class="ttdeci">auto SetNeonStridedSliceData(const std::vector&lt; int &gt; &amp;m_begin, const std::vector&lt; int &gt; &amp;m_end, const std::vector&lt; int &gt; &amp;m_stride)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00138">NeonWorkloadUtils.hpp:138</a></div></div>
<div class="ttc" id="anamespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div><div class="ttdeci">@ Float32</div></div>
<div class="ttc" id="aclassarmnn_1_1_i_tensor_handle_html"><div class="ttname"><a href="classarmnn_1_1_i_tensor_handle.html">armnn::ITensorHandle</a></div><div class="ttdef"><b>Definition:</b> <a href="_i_tensor_handle_8hpp_source.html#l00016">ITensorHandle.hpp:16</a></div></div>
<div class="ttc" id="anamespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div><div class="ttdeci">@ QAsymmU8</div></div>
@@ -305,14 +303,14 @@ $(document).ready(function(){initNavTree('_neon_workload_utils_8hpp_source.html'
<div class="ttc" id="anamespacearmnn_html_ac6e86c1def7f674d3c4cb7f577874aa6"><div class="ttname"><a href="namespacearmnn.html#ac6e86c1def7f674d3c4cb7f577874aa6">armnn::Coordinates</a></div><div class="ttdeci">std::array&lt; unsigned int, MaxNumOfTensorDimensions &gt; Coordinates</div><div class="ttdef"><b>Definition:</b> <a href="_internal_types_8hpp_source.html#l00015">InternalTypes.hpp:15</a></div></div>
<div class="ttc" id="anamespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div><div class="ttdeci">@ QSymmS16</div></div>
<div class="ttc" id="anamespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div><div class="ttdeci">@ BFloat16</div></div>
-<div class="ttc" id="anamespacearmnn_html_a611208865d55ea576cc89ac86d7c19b7"><div class="ttname"><a href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">armnn::InitializeArmComputeTensorData</a></div><div class="ttdeci">void InitializeArmComputeTensorData(arm_compute::Tensor &amp;tensor, TensorInfo tensorInfo, const ITensorHandle *handle)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00068">NeonWorkloadUtils.hpp:68</a></div></div>
+<div class="ttc" id="anamespacearmnn_html_a611208865d55ea576cc89ac86d7c19b7"><div class="ttname"><a href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">armnn::InitializeArmComputeTensorData</a></div><div class="ttdeci">void InitializeArmComputeTensorData(arm_compute::Tensor &amp;tensor, TensorInfo tensorInfo, const ITensorHandle *handle)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00069">NeonWorkloadUtils.hpp:69</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_const_tensor_handle_html_a3a76fc8b348e13d5a6ac1240c96ebef4"><div class="ttname"><a href="classarmnn_1_1_const_tensor_handle.html#a3a76fc8b348e13d5a6ac1240c96ebef4">armnn::ConstTensorHandle::GetConstTensor</a></div><div class="ttdeci">const T * GetConstTensor() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_handle_8hpp_source.html#l00028">TensorHandle.hpp:28</a></div></div>
<div class="ttc" id="anamespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div><div class="ttdeci">@ Float16</div></div>
<div class="ttc" id="a_utils_8hpp_html"><div class="ttname"><a href="_utils_8hpp.html">Utils.hpp</a></div></div>
<div class="ttc" id="anamespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">armnn::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00048">Types.hpp:48</a></div></div>
<div class="ttc" id="a_workload_8hpp_html"><div class="ttname"><a href="_workload_8hpp.html">Workload.hpp</a></div></div>
<div class="ttc" id="anamespacearmnn_html_a63833af8e1986a93f86d15397b9062c2"><div class="ttname"><a href="namespacearmnn.html#a63833af8e1986a93f86d15397b9062c2">armnn::GetConvolutionMethodString</a></div><div class="ttdeci">std::string GetConvolutionMethodString(arm_compute::ConvolutionMethod &amp;convolutionMethod)</div><div class="ttdef"><b>Definition:</b> <a href="_cl_workload_utils_8hpp_source.html#l00046">ClWorkloadUtils.hpp:46</a></div></div>
-<div class="ttc" id="anamespacearmnn_html_ab40e30cea5a328a3c35aa32f9b7db1c1"><div class="ttname"><a href="namespacearmnn.html#ab40e30cea5a328a3c35aa32f9b7db1c1">armnn::SetNeonSliceData</a></div><div class="ttdeci">auto SetNeonSliceData(const std::vector&lt; unsigned int &gt; &amp;m_begin, const std::vector&lt; unsigned int &gt; &amp;m_size)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00161">NeonWorkloadUtils.hpp:161</a></div></div>
+<div class="ttc" id="anamespacearmnn_html_ab40e30cea5a328a3c35aa32f9b7db1c1"><div class="ttname"><a href="namespacearmnn.html#ab40e30cea5a328a3c35aa32f9b7db1c1">armnn::SetNeonSliceData</a></div><div class="ttdeci">auto SetNeonSliceData(const std::vector&lt; unsigned int &gt; &amp;m_begin, const std::vector&lt; unsigned int &gt; &amp;m_size)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00160">NeonWorkloadUtils.hpp:160</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_exception_html"><div class="ttname"><a href="classarmnn_1_1_exception.html">armnn::Exception</a></div><div class="ttdoc">Base class for all ArmNN exceptions so that users can filter to just those.</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00046">Exceptions.hpp:46</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_tensor_info_html_aea909c7327109228ef618d459015def3"><div class="ttname"><a href="classarmnn_1_1_tensor_info.html#aea909c7327109228ef618d459015def3">armnn::TensorInfo::GetDataType</a></div><div class="ttdeci">DataType GetDataType() const</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_8hpp_source.html#l00200">Tensor.hpp:200</a></div></div>
<div class="ttc" id="anamespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div><div class="ttdeci">@ Signed32</div></div>
@@ -320,16 +318,18 @@ $(document).ready(function(){initNavTree('_neon_workload_utils_8hpp_source.html'
<div class="ttc" id="a_half_8hpp_html"><div class="ttname"><a href="_half_8hpp.html">Half.hpp</a></div></div>
<div class="ttc" id="a_tensor_handle_8hpp_html"><div class="ttname"><a href="_tensor_handle_8hpp.html">TensorHandle.hpp</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_b_float16_html"><div class="ttname"><a href="classarmnn_1_1_b_float16.html">armnn::BFloat16</a></div><div class="ttdef"><b>Definition:</b> <a href="_b_float16_8hpp_source.html#l00015">BFloat16.hpp:15</a></div></div>
+<div class="ttc" id="a_exceptions_8hpp_html"><div class="ttname"><a href="_exceptions_8hpp.html">Exceptions.hpp</a></div></div>
<div class="ttc" id="anamespacearmnn_html"><div class="ttname"><a href="namespacearmnn.html">armnn</a></div><div class="ttdoc">Copyright (c) 2021 ARM Limited and Contributors.</div><div class="ttdef"><b>Definition:</b> <a href="01__00__quick__start_8dox_source.html#l00006">01_00_quick_start.dox:6</a></div></div>
<div class="ttc" id="a_arm_compute_tensor_utils_8hpp_html"><div class="ttname"><a href="_arm_compute_tensor_utils_8hpp.html">ArmComputeTensorUtils.hpp</a></div></div>
<div class="ttc" id="a_neon_timer_8hpp_html"><div class="ttname"><a href="_neon_timer_8hpp.html">NeonTimer.hpp</a></div></div>
-<div class="ttc" id="anamespacearmnn_html_a1351e01f9fb983937caf79e353142b41"><div class="ttname"><a href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">armnn::CopyArmComputeTensorData</a></div><div class="ttdeci">void CopyArmComputeTensorData(arm_compute::Tensor &amp;dstTensor, const T *srcData)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00062">NeonWorkloadUtils.hpp:62</a></div></div>
+<div class="ttc" id="anamespacearmnn_html_a1351e01f9fb983937caf79e353142b41"><div class="ttname"><a href="namespacearmnn.html#a1351e01f9fb983937caf79e353142b41">armnn::CopyArmComputeTensorData</a></div><div class="ttdeci">void CopyArmComputeTensorData(arm_compute::Tensor &amp;dstTensor, const T *srcData)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00063">NeonWorkloadUtils.hpp:63</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_i_tensor_handle_html_a9afbc055a017adf1bc38ee137bca6e90"><div class="ttname"><a href="classarmnn_1_1_i_tensor_handle.html#a9afbc055a017adf1bc38ee137bca6e90">armnn::ITensorHandle::Map</a></div><div class="ttdeci">virtual const void * Map(bool blocking=true) const =0</div><div class="ttdoc">Map the tensor data for access.</div></div>
+<div class="ttc" id="a_exceptions_8hpp_html_a5b0cd1f24b12298894d6367f186ea6dc"><div class="ttname"><a href="_exceptions_8hpp.html#a5b0cd1f24b12298894d6367f186ea6dc">ARMNN_THROW_INVALIDARG_MSG_IF_FALSE</a></div><div class="ttdeci">#define ARMNN_THROW_INVALIDARG_MSG_IF_FALSE(_cond, _str)</div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00210">Exceptions.hpp:210</a></div></div>
<!-- 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.html">src</a></li><li class="navelem"><a class="el" href="dir_0f3cdec46afbc61a1ded8e1687c9c9a0.html">backends</a></li><li class="navelem"><a class="el" href="dir_d86eb514662c7c08e168285f21d00ea1.html">neon</a></li><li class="navelem"><a class="el" href="dir_369c3c20501d0d10bd0354bf11c2f559.html">workloads</a></li><li class="navelem"><a class="el" href="_neon_workload_utils_8hpp.html">NeonWorkloadUtils.hpp</a></li>
- <li class="footer">Generated on Wed Feb 14 2024 16:36:16 for Arm NN by
+ <li class="footer">Generated on Thu May 16 2024 09:31:48 for Arm NN by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>