<!-- HTML header for doxygen 1.8.17-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Arm NN: src/backends/cl/workloads/ClWorkloadUtils.hpp File Reference</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>
<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" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.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: 15rem; margin-top: .5rem; margin-left 13px"/>
  <td id="projectalign" style="padding-left: 0.9em;">
   <div id="projectname">
   &#160;<span id="projectnumber">24.05</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_cl_workload_utils_8hpp.html',''); initResizable(); });
/* @license-end */
</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="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">ClWorkloadUtils.hpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="_b_float16_8hpp_source.html">BFloat16.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="_half_8hpp_source.html">Half.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="_arm_compute_tensor_utils_8hpp_source.html">aclCommon/ArmComputeTensorUtils.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="_open_cl_timer_8hpp_source.html">cl/OpenClTimer.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="_tensor_handle_8hpp_source.html">armnn/backends/TensorHandle.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="_utils_8hpp_source.html">armnn/Utils.hpp</a>&gt;</code><br />
<code>#include &lt;arm_compute/runtime/CL/CLTensor.h&gt;</code><br />
<code>#include &lt;arm_compute/runtime/IFunction.h&gt;</code><br />
<code>#include &lt;sstream&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for ClWorkloadUtils.hpp:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="_cl_workload_utils_8hpp__incl.svg" width="3127" height="544"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="_cl_workload_utils_8hpp__dep__incl.svg" width="16627" height="335"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
<p><a href="_cl_workload_utils_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<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>
<tr class="memdesc:namespacearmnn"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copyright (c) 2021 ARM Limited and Contributors. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<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>
<tr class="separator:a9166fc90a3ea47a2c9499a810b204daf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae96fe8349d05e83e891129d63d8e2263"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_cl_workload_utils_8hpp.html#ae96fe8349d05e83e891129d63d8e2263">ARMNN_SCOPED_PROFILING_EVENT_CL_GUID</a>(name,  guid)</td></tr>
<tr class="separator:ae96fe8349d05e83e891129d63d8e2263"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d57ef1645138f5f8a6dbd2ce92dc072"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_cl_workload_utils_8hpp.html#a2d57ef1645138f5f8a6dbd2ce92dc072">ARMNN_SCOPED_PROFILING_EVENT_CL_NAME_GUID</a>(label)</td></tr>
<tr class="memdesc:a2d57ef1645138f5f8a6dbd2ce92dc072"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a profiling event that uses GetGuid() and GetName() from the calling class.  <a href="_cl_workload_utils_8hpp.html#a2d57ef1645138f5f8a6dbd2ce92dc072">More...</a><br /></td></tr>
<tr class="separator:a2d57ef1645138f5f8a6dbd2ce92dc072"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a63833af8e1986a93f86d15397b9062c2"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#a63833af8e1986a93f86d15397b9062c2">GetConvolutionMethodString</a> (arm_compute::ConvolutionMethod &amp;convolutionMethod)</td></tr>
<tr class="separator:a63833af8e1986a93f86d15397b9062c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80bf40fafb5d10cd4d2a27c515052e2e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a80bf40fafb5d10cd4d2a27c515052e2e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#a80bf40fafb5d10cd4d2a27c515052e2e">CopyArmComputeClTensorData</a> (arm_compute::CLTensor &amp;dstTensor, const T *srcData)</td></tr>
<tr class="separator:a80bf40fafb5d10cd4d2a27c515052e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21850e0777395246bfd30d95f8ffdd31"><td class="memItemLeft" align="right" valign="top">auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#a21850e0777395246bfd30d95f8ffdd31">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>
<tr class="separator:a21850e0777395246bfd30d95f8ffdd31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7c459566269bf22b16513d61865272b"><td class="memItemLeft" align="right" valign="top">auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#ae7c459566269bf22b16513d61865272b">SetClSliceData</a> (const std::vector&lt; unsigned int &gt; &amp;m_begin, const std::vector&lt; unsigned int &gt; &amp;m_size)</td></tr>
<tr class="separator:ae7c459566269bf22b16513d61865272b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a8bd8184644cbdfcefe062087b8f048"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#a9a8bd8184644cbdfcefe062087b8f048">InitializeArmComputeClTensorData</a> (arm_compute::CLTensor &amp;clTensor, const ConstTensorHandle *handle)</td></tr>
<tr class="separator:a9a8bd8184644cbdfcefe062087b8f048"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a562616feb340f23dbad3d86eb8706218"><td class="memItemLeft" align="right" valign="top">RuntimeException&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#a562616feb340f23dbad3d86eb8706218">WrapClError</a> (const cl::Error &amp;clError, const CheckLocation &amp;location)</td></tr>
<tr class="separator:a562616feb340f23dbad3d86eb8706218"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52c299ca6a3884c609583a5a0663db80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#a52c299ca6a3884c609583a5a0663db80">RunClFunction</a> (arm_compute::IFunction &amp;function, const CheckLocation &amp;location)</td></tr>
<tr class="separator:a52c299ca6a3884c609583a5a0663db80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9f37e0b5f15afd89a29788a319da9ec"><td class="memTemplParams" colspan="2">template&lt;typename DataType , typename PayloadType &gt; </td></tr>
<tr class="memitem:ae9f37e0b5f15afd89a29788a319da9ec"><td class="memTemplItemLeft" align="right" valign="top">DataType *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearmnn.html#ae9f37e0b5f15afd89a29788a319da9ec">GetOutputTensorData</a> (unsigned int idx, const PayloadType &amp;data)</td></tr>
<tr class="separator:ae9f37e0b5f15afd89a29788a319da9ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a9166fc90a3ea47a2c9499a810b204daf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9166fc90a3ea47a2c9499a810b204daf">&#9670;&nbsp;</a></span>ARMNN_SCOPED_PROFILING_EVENT_CL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ARMNN_SCOPED_PROFILING_EVENT_CL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">    <a class="code" href="_profiling_8hpp.html#a1d6c14f3b73fa7a440ebaf53afa53266">ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS</a>(<a class="code" href="namespacearmnn.html#ae2f04a162585c0a5222a537efd5456aeafaa4524e3df19ada32643ce9a222362b">armnn::Compute::GpuAcc</a>, \</div>
<div class="line">                                                  <a class="code" href="structarmnn_1_1_empty_optional.html">armnn::EmptyOptional</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><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="_cl_workload_utils_8hpp_source.html#l00021">21</a> of file <a class="el" href="_cl_workload_utils_8hpp_source.html">ClWorkloadUtils.hpp</a>.</p>

</div>
</div>
<a id="ae96fe8349d05e83e891129d63d8e2263"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae96fe8349d05e83e891129d63d8e2263">&#9670;&nbsp;</a></span>ARMNN_SCOPED_PROFILING_EVENT_CL_GUID</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ARMNN_SCOPED_PROFILING_EVENT_CL_GUID</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">guid&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">    <a class="code" href="_profiling_8hpp.html#a1d6c14f3b73fa7a440ebaf53afa53266">ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS</a>(<a class="code" href="namespacearmnn.html#ae2f04a162585c0a5222a537efd5456aeafaa4524e3df19ada32643ce9a222362b">armnn::Compute::GpuAcc</a>, \</div>
<div class="line">                                                  guid, \</div>
<div class="line">                                                  GetName() + <span class="stringliteral">&quot;_&quot;</span> + 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><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="_cl_workload_utils_8hpp_source.html#l00028">28</a> of file <a class="el" href="_cl_workload_utils_8hpp_source.html">ClWorkloadUtils.hpp</a>.</p>

</div>
</div>
<a id="a2d57ef1645138f5f8a6dbd2ce92dc072"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d57ef1645138f5f8a6dbd2ce92dc072">&#9670;&nbsp;</a></span>ARMNN_SCOPED_PROFILING_EVENT_CL_NAME_GUID</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ARMNN_SCOPED_PROFILING_EVENT_CL_NAME_GUID</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">label</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">    <a class="code" href="_profiling_8hpp.html#a1d6c14f3b73fa7a440ebaf53afa53266">ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS</a>(<a class="code" href="namespacearmnn.html#ae2f04a162585c0a5222a537efd5456aeafaa4524e3df19ada32643ce9a222362b">armnn::Compute::GpuAcc</a>, \</div>
<div class="line">                                                  this-&gt;GetGuid(), \</div>
<div class="line">                                                  this-&gt;GetName() + <span class="stringliteral">&quot;_&quot;</span> + label, \</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><!-- fragment -->
<p>Creates a profiling event that uses GetGuid() and GetName() from the calling class. </p>

<p class="definition">Definition at line <a class="el" href="_cl_workload_utils_8hpp_source.html#l00036">36</a> of file <a class="el" href="_cl_workload_utils_8hpp_source.html">ClWorkloadUtils.hpp</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="a_profiling_8hpp_html_a1d6c14f3b73fa7a440ebaf53afa53266"><div class="ttname"><a href="_profiling_8hpp.html#a1d6c14f3b73fa7a440ebaf53afa53266">ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS</a></div><div class="ttdeci">#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(backendId, guid,...)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_8hpp_source.html#l00217">Profiling.hpp:217</a></div></div>
<div class="ttc" id="anamespacearmnn_html_ae2f04a162585c0a5222a537efd5456aeafaa4524e3df19ada32643ce9a222362b"><div class="ttname"><a href="namespacearmnn.html#ae2f04a162585c0a5222a537efd5456aeafaa4524e3df19ada32643ce9a222362b">armnn::Compute::GpuAcc</a></div><div class="ttdeci">@ GpuAcc</div><div class="ttdoc">GPU Execution: OpenCL: ArmCompute.</div></div>
<div class="ttc" id="aclassarmnn_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>
<div class="ttc" id="astructarmnn_1_1_empty_optional_html"><div class="ttname"><a href="structarmnn_1_1_empty_optional.html">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.html#l00032">Optional.hpp:32</a></div></div>
<div class="ttc" id="aclassarmnn_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>
<!-- 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_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>
    <li class="footer">Generated on Thu May 16 2024 09:31:52 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>
</div>
</body>
</html>
