blob: 6a804c19387729faf3e7bdf7de8b2dfb401460ff [file] [log] [blame]
Ryan OSheade36e4a2020-03-13 16:26:19 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.13"/>
7<meta name="viewport" content="width=device-width, initial-scale=1"/>
8<title>ArmNN: src/backends/cl/workloads/ClWorkloadUtils.hpp File Reference</title>
9<link href="tabs.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="dynsections.js"></script>
12<link href="navtree.css" rel="stylesheet" type="text/css"/>
13<script type="text/javascript" src="resize.js"></script>
14<script type="text/javascript" src="navtreedata.js"></script>
15<script type="text/javascript" src="navtree.js"></script>
16<script type="text/javascript">
17 $(document).ready(initResizable);
18</script>
19<link href="search/search.css" rel="stylesheet" type="text/css"/>
20<script type="text/javascript" src="search/searchdata.js"></script>
21<script type="text/javascript" src="search/search.js"></script>
22<link href="doxygen.css" rel="stylesheet" type="text/css" />
23</head>
24<body>
25<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
26<div id="titlearea">
27<table cellspacing="0" cellpadding="0">
28 <tbody>
29 <tr style="height: 56px;">
30 <td id="projectalign" style="padding-left: 0.5em;">
31 <div id="projectname">ArmNN
32 &#160;<span id="projectnumber">NotReleased</span>
33 </div>
34 </td>
35 </tr>
36 </tbody>
37</table>
38</div>
39<!-- end header part -->
40<!-- Generated by Doxygen 1.8.13 -->
41<script type="text/javascript">
42var searchBox = new SearchBox("searchBox", "search",false,'Search');
43</script>
44<script type="text/javascript" src="menudata.js"></script>
45<script type="text/javascript" src="menu.js"></script>
46<script type="text/javascript">
47$(function() {
48 initMenu('',true,false,'search.php','Search');
49 $(document).ready(function() { init_search(); });
50});
51</script>
52<div id="main-nav"></div>
53</div><!-- top -->
54<div id="side-nav" class="ui-resizable side-nav-resizable">
55 <div id="nav-tree">
56 <div id="nav-tree-contents">
57 <div id="nav-sync" class="sync"></div>
58 </div>
59 </div>
60 <div id="splitbar" style="-moz-user-select:none;"
61 class="ui-resizable-handle">
62 </div>
63</div>
64<script type="text/javascript">
65$(document).ready(function(){initNavTree('_cl_workload_utils_8hpp.html','');});
66</script>
67<div id="doc-content">
68<!-- window showing the filter options -->
69<div id="MSearchSelectWindow"
70 onmouseover="return searchBox.OnSearchSelectShow()"
71 onmouseout="return searchBox.OnSearchSelectHide()"
72 onkeydown="return searchBox.OnSearchSelectKey(event)">
73</div>
74
75<!-- iframe showing the search results (closed by default) -->
76<div id="MSearchResultsWindow">
77<iframe src="javascript:void(0)" frameborder="0"
78 name="MSearchResults" id="MSearchResults">
79</iframe>
80</div>
81
82<div class="header">
83 <div class="summary">
84<a href="#namespaces">Namespaces</a> &#124;
85<a href="#define-members">Macros</a> &#124;
86<a href="#func-members">Functions</a> </div>
87 <div class="headertitle">
88<div class="title">ClWorkloadUtils.hpp File Reference</div> </div>
89</div><!--header-->
90<div class="contents">
91<div class="textblock"><code>#include &lt;<a class="el" href="_half_8hpp_source.html">Half.hpp</a>&gt;</code><br />
92<code>#include &lt;<a class="el" href="_arm_compute_tensor_utils_8hpp_source.html">aclCommon/ArmComputeTensorUtils.hpp</a>&gt;</code><br />
93<code>#include &lt;<a class="el" href="_open_cl_timer_8hpp_source.html">cl/OpenClTimer.hpp</a>&gt;</code><br />
94<code>#include &lt;<a class="el" href="_cpu_tensor_handle_8hpp_source.html">backendsCommon/CpuTensorHandle.hpp</a>&gt;</code><br />
95<code>#include &lt;<a class="el" href="_utils_8hpp_source.html">armnn/Utils.hpp</a>&gt;</code><br />
96<code>#include &lt;arm_compute/runtime/CL/CLTensor.h&gt;</code><br />
97<code>#include &lt;arm_compute/runtime/IFunction.h&gt;</code><br />
98<code>#include &lt;sstream&gt;</code><br />
99</div>
100<p><a href="_cl_workload_utils_8hpp_source.html">Go to the source code of this file.</a></p>
101<table class="memberdecls">
102<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
103Namespaces</h2></td></tr>
104<tr class="memitem:namespacearmnn"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn.html">armnn</a></td></tr>
105<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
106</table><table class="memberdecls">
107<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
108Macros</h2></td></tr>
109<tr class="memitem:a9166fc90a3ea47a2c9499a810b204daf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_cl_workload_utils_8hpp.html#a9166fc90a3ea47a2c9499a810b204daf">ARMNN_SCOPED_PROFILING_EVENT_CL</a>(name)</td></tr>
110<tr class="separator:a9166fc90a3ea47a2c9499a810b204daf"><td class="memSeparator" colspan="2">&#160;</td></tr>
111</table><table class="memberdecls">
112<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
113Functions</h2></td></tr>
114<tr class="memitem:a73447f827b995cf90d4029151514b4ba"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
115<tr class="memitem:a73447f827b995cf90d4029151514b4ba"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#a73447f827b995cf90d4029151514b4ba">CopyArmComputeClTensorData</a> (arm_compute::CLTensor &amp;dstTensor, const T *srcData)</td></tr>
116<tr class="separator:a73447f827b995cf90d4029151514b4ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
117<tr class="memitem:a6d4bdf4368a1422943f8f2b1740ec491"><td class="memItemLeft" align="right" valign="top">auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#a6d4bdf4368a1422943f8f2b1740ec491">SetClStridedSliceData</a> (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)</td></tr>
118<tr class="separator:a6d4bdf4368a1422943f8f2b1740ec491"><td class="memSeparator" colspan="2">&#160;</td></tr>
119<tr class="memitem:a460e01ad4cd0bfa6bde4eccaf0e77220"><td class="memItemLeft" align="right" valign="top">auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#a460e01ad4cd0bfa6bde4eccaf0e77220">SetClSliceData</a> (const std::vector&lt; unsigned int &gt; &amp;m_begin, const std::vector&lt; unsigned int &gt; &amp;m_size)</td></tr>
120<tr class="separator:a460e01ad4cd0bfa6bde4eccaf0e77220"><td class="memSeparator" colspan="2">&#160;</td></tr>
121<tr class="memitem:a46747c3d0b99968be0b37d74bc9687dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#a46747c3d0b99968be0b37d74bc9687dd">InitializeArmComputeClTensorData</a> (arm_compute::CLTensor &amp;clTensor, const ConstCpuTensorHandle *handle)</td></tr>
122<tr class="separator:a46747c3d0b99968be0b37d74bc9687dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
123<tr class="memitem:a2192b5ff59aacdb27f8b0238323915dc"><td class="memItemLeft" align="right" valign="top">RuntimeException&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#a2192b5ff59aacdb27f8b0238323915dc">WrapClError</a> (const cl::Error &amp;clError, const CheckLocation &amp;location)</td></tr>
124<tr class="separator:a2192b5ff59aacdb27f8b0238323915dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<tr class="memitem:aff5bee79757341daf750c7dd7c123a15"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#aff5bee79757341daf750c7dd7c123a15">RunClFunction</a> (arm_compute::IFunction &amp;function, const CheckLocation &amp;location)</td></tr>
126<tr class="separator:aff5bee79757341daf750c7dd7c123a15"><td class="memSeparator" colspan="2">&#160;</td></tr>
127</table>
128<h2 class="groupheader">Macro Definition Documentation</h2>
129<a id="a9166fc90a3ea47a2c9499a810b204daf"></a>
130<h2 class="memtitle"><span class="permalink"><a href="#a9166fc90a3ea47a2c9499a810b204daf">&#9670;&nbsp;</a></span>ARMNN_SCOPED_PROFILING_EVENT_CL</h2>
131
132<div class="memitem">
133<div class="memproto">
134 <table class="memname">
135 <tr>
136 <td class="memname">#define ARMNN_SCOPED_PROFILING_EVENT_CL</td>
137 <td>(</td>
138 <td class="paramtype">&#160;</td>
139 <td class="paramname">name</td><td>)</td>
140 <td></td>
141 </tr>
142 </table>
143</div><div class="memdoc">
144<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="_profiling_8hpp.html#a1a638e817a4bf185cd95dc61f8cca62c">ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS</a>(<a class="code" href="namespacearmnn.html#ae2f04a162585c0a5222a537efd5456aeafaa4524e3df19ada32643ce9a222362b">armnn::Compute::GpuAcc</a>, \</div><div class="line"> name, \</div><div class="line"> <a class="code" href="classarmnn_1_1_open_cl_timer.html">armnn::OpenClTimer</a>(), \</div><div class="line"> <a class="code" href="classarmnn_1_1_wall_clock_timer.html">armnn::WallClockTimer</a>())</div><div class="ttc" id="classarmnn_1_1_open_cl_timer_html"><div class="ttname"><a href="classarmnn_1_1_open_cl_timer.html">armnn::OpenClTimer</a></div><div class="ttdoc">OpenClTimer instrument that times all OpenCl kernels executed between calls to Start() and Stop()...</div><div class="ttdef"><b>Definition:</b> <a href="_open_cl_timer_8hpp_source.html#l00020">OpenClTimer.hpp:20</a></div></div>
145<div class="ttc" id="classarmnn_1_1_wall_clock_timer_html"><div class="ttname"><a href="classarmnn_1_1_wall_clock_timer.html">armnn::WallClockTimer</a></div><div class="ttdef"><b>Definition:</b> <a href="_wall_clock_timer_8hpp_source.html#l00038">WallClockTimer.hpp:38</a></div></div>
146<div class="ttc" id="namespacearmnn_html_ae2f04a162585c0a5222a537efd5456aeafaa4524e3df19ada32643ce9a222362b"><div class="ttname"><a href="namespacearmnn.html#ae2f04a162585c0a5222a537efd5456aeafaa4524e3df19ada32643ce9a222362b">armnn::Compute::GpuAcc</a></div><div class="ttdoc">GPU Execution: OpenCL: ArmCompute. </div></div>
147<div class="ttc" id="_profiling_8hpp_html_a1a638e817a4bf185cd95dc61f8cca62c"><div class="ttname"><a href="_profiling_8hpp.html#a1a638e817a4bf185cd95dc61f8cca62c">ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS</a></div><div class="ttdeci">#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(backendId,...)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_8hpp_source.html#l00167">Profiling.hpp:167</a></div></div>
148</div><!-- fragment -->
149<p class="definition">Definition at line <a class="el" href="_cl_workload_utils_8hpp_source.html#l00020">20</a> of file <a class="el" href="_cl_workload_utils_8hpp_source.html">ClWorkloadUtils.hpp</a>.</p>
150
151<p class="reference">Referenced by <a class="el" href="_cl_workload_utils_8hpp_source.html#l00030">armnn::CopyArmComputeClTensorData()</a>, <a class="el" href="_cl_constant_workload_8cpp_source.html#l00024">ClConstantWorkload::Execute()</a>, <a class="el" href="_cl_pad_workload_8cpp_source.html#l00039">ClPadWorkload::Execute()</a>, <a class="el" href="_cl_convert_fp16_to_fp32_workload_8cpp_source.html#l00029">ClConvertFp16ToFp32Workload::Execute()</a>, <a class="el" href="_cl_addition_workload_8cpp_source.html#l00032">ClAdditionWorkload::Execute()</a>, <a class="el" href="_cl_convert_fp32_to_fp16_workload_8cpp_source.html#l00029">ClConvertFp32ToFp16Workload::Execute()</a>, <a class="el" href="_cl_subtraction_workload_8cpp_source.html#l00032">ClSubtractionWorkload::Execute()</a>, <a class="el" href="_cl_quantize_workload_8cpp_source.html#l00043">ClQuantizeWorkload::Execute()</a>, <a class="el" href="_cl_rsqrt_workload_8cpp_source.html#l00038">ClRsqrtWorkload::Execute()</a>, <a class="el" href="_cl_activation_workload_8cpp_source.html#l00046">ClActivationWorkload::Execute()</a>, <a class="el" href="_cl_lstm_float_workload_8cpp_source.html#l00250">ClLstmFloatWorkload::Execute()</a>, <a class="el" href="_cl_abs_workload_8cpp_source.html#l00038">ClAbsWorkload::Execute()</a>, <a class="el" href="_cl_dequantize_workload_8cpp_source.html#l00048">ClDequantizeWorkload::Execute()</a>, <a class="el" href="_cl_prelu_workload_8cpp_source.html#l00042">ClPreluWorkload::Execute()</a>, <a class="el" href="_cl_floor_float_workload_8cpp_source.html#l00034">ClFloorFloatWorkload::Execute()</a>, <a class="el" href="_cl_reshape_workload_8cpp_source.html#l00035">ClReshapeWorkload::Execute()</a>, <a class="el" href="_cl_resize_workload_8cpp_source.html#l00071">ClResizeWorkload::Execute()</a>, <a class="el" href="_cl_softmax_float_workload_8cpp_source.html#l00030">ClSoftmaxFloatWorkload::Execute()</a>, <a class="el" href="_cl_instance_normalization_workload_8cpp_source.html#l00053">ClInstanceNormalizationWorkload::Execute()</a>, <a class="el" href="_cl_space_to_depth_workload_8cpp_source.html#l00038">ClSpaceToDepthWorkload::Execute()</a>, <a class="el" href="_cl_stack_workload_8cpp_source.html#l00065">ClStackWorkload::Execute()</a>, <a class="el" href="_cl_maximum_workload_8cpp_source.html#l00052">ClMaximumWorkload::Execute()</a>, <a class="el" href="_cl_minimum_workload_8cpp_source.html#l00052">ClMinimumWorkload::Execute()</a>, <a class="el" href="_cl_batch_to_space_nd_workload_8cpp_source.html#l00039">ClBatchToSpaceNdWorkload::Execute()</a>, <a class="el" href="_cl_normalization_float_workload_8cpp_source.html#l00049">ClNormalizationFloatWorkload::Execute()</a>, <a class="el" href="_cl_arg_min_max_workload_8cpp_source.html#l00075">ClArgMinMaxWorkload::Execute()</a>, <a class="el" href="_cl_greater_workload_8cpp_source.html#l00056">ClGreaterWorkload&lt; T &gt;::Execute()</a>, <a class="el" href="_cl_slice_workload_8cpp_source.html#l00050">ClSliceWorkload::Execute()</a>, <a class="el" href="_cl_l2_normalization_float_workload_8cpp_source.html#l00047">ClL2NormalizationFloatWorkload::Execute()</a>, <a class="el" href="_cl_softmax_uint8_workload_8cpp_source.html#l00040">ClSoftmaxUint8Workload::Execute()</a>, <a class="el" href="_cl_mean_workload_8cpp_source.html#l00046">ClMeanWorkload::Execute()</a>, <a class="el" href="_cl_depth_to_space_workload_8cpp_source.html#l00060">ClDepthToSpaceWorkload::Execute()</a>, <a class="el" href="_cl_multiplication_workload_8cpp_source.html#l00052">ClMultiplicationWorkload::Execute()</a>, <a class="el" href="_cl_concat_workload_8cpp_source.html#l00093">ClConcatWorkload::Execute()</a>, <a class="el" href="_cl_space_to_batch_nd_workload_8cpp_source.html#l00079">ClSpaceToBatchNdWorkload::Execute()</a>, <a class="el" href="_cl_quantized_lstm_workload_8cpp_source.html#l00136">ClQuantizedLstmWorkload::Execute()</a>, <a class="el" href="_cl_strided_slice_workload_8cpp_source.html#l00090">ClStridedSliceWorkload::Execute()</a>, <a class="el" href="_cl_division_float_workload_8cpp_source.html#l00040">ClDivisionFloatWorkload::Execute()</a>, <a class="el" href="_cl_splitter_workload_8cpp_source.html#l00106">ClSplitterWorkload::Execute()</a>, <a class="el" href="_cl_pooling2d_workload_8cpp_source.html#l00054">ClPooling2dWorkload::Execute()</a>, <a class="el" href="_cl_batch_normalization_float_workload_8cpp_source.html#l00092">ClBatchNormalizationFloatWorkload::Execute()</a>, <a class="el" href="_cl_depthwise_convolution_workload_8cpp_source.html#l00148">ClDepthwiseConvolutionWorkload::Execute()</a>, <a class="el" href="_cl_convolution2d_workload_8cpp_source.html#l00110">ClConvolution2dWorkload::Execute()</a>, <a class="el" href="_cl_fully_connected_workload_8cpp_source.html#l00084">ClFullyConnectedWorkload::Execute()</a>, <a class="el" href="_cl_permute_workload_8cpp_source.html#l00045">ClPermuteWorkload::Execute()</a>, and <a class="el" href="_cl_transpose_convolution2d_workload_8cpp_source.html#l00098">ClTransposeConvolution2dWorkload::Execute()</a>.</p>
152
153</div>
154</div>
155</div><!-- contents -->
156</div><!-- doc-content -->
157<!-- start footer part -->
158<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
159 <ul>
160 <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_1ad86c6d39ab715a831555571b9e98a5.html">cl</a></li><li class="navelem"><a class="el" href="dir_2d9c087bc7f49a1d7a25fdc615d2f0c9.html">workloads</a></li><li class="navelem"><a class="el" href="_cl_workload_utils_8hpp.html">ClWorkloadUtils.hpp</a></li>
161 <li class="footer">Generated on Fri Mar 13 2020 16:07:00 for ArmNN by
162 <a href="http://www.doxygen.org/index.html">
163 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
164 </ul>
165</div>
166</body>
167</html>