blob: fff0117d53a0651263aad67b11d35f6ea7c20374 [file] [log] [blame]
<!-- HTML header for doxygen 1.8.15-->
<!-- Remember to use version doxygen 1.8.15 +-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: IGCKernel Class 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>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</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="stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<img alt="Compute Library" src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png" style="max-width: 100%;margin-top: 15px;margin-left: 10px"/>
<td style="padding-left: 0.5em;">
<div id="projectname">
&#160;<span id="projectnumber">19.08</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<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('classarm__compute_1_1_i_g_c_kernel.xhtml','');});
/* @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="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">IGCKernel Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>Common interface for all the GLES kernels.
<a href="classarm__compute_1_1_i_g_c_kernel.xhtml#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_i_g_c_kernel_8h_source.xhtml">IGCKernel.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for IGCKernel:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classarm__compute_1_1_i_g_c_kernel__coll__graph.svg" width="94" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.xhtml">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:abd51b7f007e5846ae05efdaca32e876c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml#abd51b7f007e5846ae05efdaca32e876c">IGCKernel</a> ()</td></tr>
<tr class="memdesc:abd51b7f007e5846ae05efdaca32e876c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#abd51b7f007e5846ae05efdaca32e876c">More...</a><br /></td></tr>
<tr class="separator:abd51b7f007e5846ae05efdaca32e876c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b8f9d088e013cfbb039fd0ebbe42589"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_g_c_kernel.xhtml">GCKernel</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml#a3b8f9d088e013cfbb039fd0ebbe42589">kernel</a> ()</td></tr>
<tr class="memdesc:a3b8f9d088e013cfbb039fd0ebbe42589"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the GLES kernel of this object. <a href="#a3b8f9d088e013cfbb039fd0ebbe42589">More...</a><br /></td></tr>
<tr class="separator:a3b8f9d088e013cfbb039fd0ebbe42589"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7a1e979b3442bd2f7732b5f51d5dded"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml#ae7a1e979b3442bd2f7732b5f51d5dded">add_1D_tensor_argument</a> (unsigned int &amp;idx, const <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> *tensor, const unsigned int binding_point, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;<a class="el" href="classarm__compute_1_1_i_kernel.xhtml#ad34a46f53686c12a5c5e717cc9617fb6">window</a>)</td></tr>
<tr class="memdesc:ae7a1e979b3442bd2f7732b5f51d5dded"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the passed 1D tensor's parameters to the object's kernel's arguments starting from the index idx. <a href="#ae7a1e979b3442bd2f7732b5f51d5dded">More...</a><br /></td></tr>
<tr class="separator:ae7a1e979b3442bd2f7732b5f51d5dded"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a633d6a0cb573106e4d420b664cb29b66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml#a633d6a0cb573106e4d420b664cb29b66">add_2D_tensor_argument</a> (unsigned int &amp;idx, const <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> *tensor, const unsigned int binding_point, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;<a class="el" href="classarm__compute_1_1_i_kernel.xhtml#ad34a46f53686c12a5c5e717cc9617fb6">window</a>)</td></tr>
<tr class="memdesc:a633d6a0cb573106e4d420b664cb29b66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the passed 2D tensor's parameters to the object's kernel's arguments starting from the index idx. <a href="#a633d6a0cb573106e4d420b664cb29b66">More...</a><br /></td></tr>
<tr class="separator:a633d6a0cb573106e4d420b664cb29b66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9ed9d806fc3364df21027387b9e735a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml#aa9ed9d806fc3364df21027387b9e735a">add_3D_tensor_argument</a> (unsigned int &amp;idx, const <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> *tensor, const unsigned int binding_point, const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;<a class="el" href="classarm__compute_1_1_i_kernel.xhtml#ad34a46f53686c12a5c5e717cc9617fb6">window</a>)</td></tr>
<tr class="memdesc:aa9ed9d806fc3364df21027387b9e735a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the passed 3D tensor's parameters to the object's kernel's arguments starting from the index idx. <a href="#aa9ed9d806fc3364df21027387b9e735a">More...</a><br /></td></tr>
<tr class="separator:aa9ed9d806fc3364df21027387b9e735a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24938aee389d915b1cc481f11346b2f6"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml#a24938aee389d915b1cc481f11346b2f6">num_arguments_per_1D_tensor</a> () const</td></tr>
<tr class="memdesc:a24938aee389d915b1cc481f11346b2f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of arguments enqueued per 1D tensor object. <a href="#a24938aee389d915b1cc481f11346b2f6">More...</a><br /></td></tr>
<tr class="separator:a24938aee389d915b1cc481f11346b2f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cdff9e90a54e4ea673d10b2dcd7ec9f"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml#a1cdff9e90a54e4ea673d10b2dcd7ec9f">num_arguments_per_2D_tensor</a> () const</td></tr>
<tr class="memdesc:a1cdff9e90a54e4ea673d10b2dcd7ec9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of arguments enqueued per 2D tensor object. <a href="#a1cdff9e90a54e4ea673d10b2dcd7ec9f">More...</a><br /></td></tr>
<tr class="separator:a1cdff9e90a54e4ea673d10b2dcd7ec9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb64cdefb07e7d0e4dc5722015cccc35"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml#abb64cdefb07e7d0e4dc5722015cccc35">num_arguments_per_3D_tensor</a> () const</td></tr>
<tr class="memdesc:abb64cdefb07e7d0e4dc5722015cccc35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of arguments enqueued per 3D tensor object. <a href="#abb64cdefb07e7d0e4dc5722015cccc35">More...</a><br /></td></tr>
<tr class="separator:abb64cdefb07e7d0e4dc5722015cccc35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f56c8bb44166634652b877d6eb7a9a2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml#a6f56c8bb44166634652b877d6eb7a9a2">run</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;<a class="el" href="classarm__compute_1_1_i_kernel.xhtml#ad34a46f53686c12a5c5e717cc9617fb6">window</a>)=0</td></tr>
<tr class="memdesc:a6f56c8bb44166634652b877d6eb7a9a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enqueue the OpenGL ES shader to process the given window. <a href="#a6f56c8bb44166634652b877d6eb7a9a2">More...</a><br /></td></tr>
<tr class="separator:a6f56c8bb44166634652b877d6eb7a9a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c6173aecfebc9030bf8a0bee0c0ced8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml#a3c6173aecfebc9030bf8a0bee0c0ced8">set_lws_hint</a> (<a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a> &amp;lws_hint)</td></tr>
<tr class="memdesc:a3c6173aecfebc9030bf8a0bee0c0ced8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the Local-Workgroup-Size hint. <a href="#a3c6173aecfebc9030bf8a0bee0c0ced8">More...</a><br /></td></tr>
<tr class="separator:a3c6173aecfebc9030bf8a0bee0c0ced8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5ba9d34a3a855bf1dd2e36316ff550a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml#ad5ba9d34a3a855bf1dd2e36316ff550a">set_target</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> target)</td></tr>
<tr class="memdesc:ad5ba9d34a3a855bf1dd2e36316ff550a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the targeted GPU architecture. <a href="#ad5ba9d34a3a855bf1dd2e36316ff550a">More...</a><br /></td></tr>
<tr class="separator:ad5ba9d34a3a855bf1dd2e36316ff550a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa550ff0352ff2388e02f7b0a41bf5fe7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml#aa550ff0352ff2388e02f7b0a41bf5fe7">get_target</a> () const</td></tr>
<tr class="memdesc:aa550ff0352ff2388e02f7b0a41bf5fe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the targeted GPU architecture. <a href="#aa550ff0352ff2388e02f7b0a41bf5fe7">More...</a><br /></td></tr>
<tr class="separator:aa550ff0352ff2388e02f7b0a41bf5fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classarm__compute_1_1_i_kernel"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarm__compute_1_1_i_kernel')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a></td></tr>
<tr class="memitem:a7250cb8cbaa4104a93a2d77155085507 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a7250cb8cbaa4104a93a2d77155085507">IKernel</a> ()</td></tr>
<tr class="memdesc:a7250cb8cbaa4104a93a2d77155085507 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classarm__compute_1_1_i_kernel.xhtml#a7250cb8cbaa4104a93a2d77155085507">More...</a><br /></td></tr>
<tr class="separator:a7250cb8cbaa4104a93a2d77155085507 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a341b60d15a5e12a5b8f3825194dd3b12 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a341b60d15a5e12a5b8f3825194dd3b12">~IKernel</a> ()=default</td></tr>
<tr class="memdesc:a341b60d15a5e12a5b8f3825194dd3b12 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="classarm__compute_1_1_i_kernel.xhtml#a341b60d15a5e12a5b8f3825194dd3b12">More...</a><br /></td></tr>
<tr class="separator:a341b60d15a5e12a5b8f3825194dd3b12 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0466ee6ce6552c87595f0e88e73eeb1b inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a0466ee6ce6552c87595f0e88e73eeb1b">is_parallelisable</a> () const</td></tr>
<tr class="memdesc:a0466ee6ce6552c87595f0e88e73eeb1b inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates whether or not the kernel is parallelisable. <a href="classarm__compute_1_1_i_kernel.xhtml#a0466ee6ce6552c87595f0e88e73eeb1b">More...</a><br /></td></tr>
<tr class="separator:a0466ee6ce6552c87595f0e88e73eeb1b inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b3a97ba5dded504a2f2261c078493dd inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a4b3a97ba5dded504a2f2261c078493dd">border_size</a> () const</td></tr>
<tr class="memdesc:a4b3a97ba5dded504a2f2261c078493dd inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size of the border for that kernel. <a href="classarm__compute_1_1_i_kernel.xhtml#a4b3a97ba5dded504a2f2261c078493dd">More...</a><br /></td></tr>
<tr class="separator:a4b3a97ba5dded504a2f2261c078493dd inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad34a46f53686c12a5c5e717cc9617fb6 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml#ad34a46f53686c12a5c5e717cc9617fb6">window</a> () const</td></tr>
<tr class="memdesc:ad34a46f53686c12a5c5e717cc9617fb6 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum window the kernel can be executed on. <a href="classarm__compute_1_1_i_kernel.xhtml#ad34a46f53686c12a5c5e717cc9617fb6">More...</a><br /></td></tr>
<tr class="separator:ad34a46f53686c12a5c5e717cc9617fb6 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Common interface for all the GLES kernels. </p>
<p class="definition">Definition at line <a class="el" href="_i_g_c_kernel_8h_source.xhtml#l00039">39</a> of file <a class="el" href="_i_g_c_kernel_8h_source.xhtml">IGCKernel.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="abd51b7f007e5846ae05efdaca32e876c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd51b7f007e5846ae05efdaca32e876c">&#9670;&nbsp;</a></span>IGCKernel()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml">IGCKernel</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor. </p>
<p class="definition">Definition at line <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00064">64</a> of file <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml">IGCKernel.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; : _kernel(), _lws_hint(<a class="code" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a>(1<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, 1<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>, 1<a class="code" href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">U</a>)), _target(<a class="code" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">GPUTarget::MIDGARD</a>)</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="ttc" id="namespacearm__compute_xhtml_a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb"><div class="ttname"><a href="namespacearm__compute.xhtml#a1ce9b523fd4f3b5bbcadcd796183455aa4c614360da93c0a041b22e537de151eb">arm_compute::Channel::U</a></div><div class="ttdoc">Cb/U channel.</div></div>
<div class="ttc" id="namespacearm__compute_xhtml_a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38"><div class="ttname"><a href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">arm_compute::GPUTarget::MIDGARD</a></div></div>
<div class="ttc" id="classarm__compute_1_1gles_1_1_n_d_range_xhtml"><div class="ttname"><a href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">arm_compute::gles::NDRange</a></div><div class="ttdoc">Class interface for specifying NDRange values.</div><div class="ttdef"><b>Definition:</b> <a href="_open_g_l_e_s_8h_source.xhtml#l00053">OpenGLES.h:53</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3afa362f4daec88442a387ff7cda411a38">arm_compute::MIDGARD</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae7a1e979b3442bd2f7732b5f51d5dded"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7a1e979b3442bd2f7732b5f51d5dded">&#9670;&nbsp;</a></span>add_1D_tensor_argument()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void add_1D_tensor_argument </td>
<td>(</td>
<td class="paramtype">unsigned int &amp;&#160;</td>
<td class="paramname"><em>idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> *&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned int&#160;</td>
<td class="paramname"><em>binding_point</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
<td class="paramname"><em>window</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add the passed 1D tensor's parameters to the object's kernel's arguments starting from the index idx. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>Index at which to start adding the tensor's arguments.Input and output tensor will have sperated index, multiple indices start from 1, single index have to be set to 0. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a> to set as an argument of the object's kernel. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">binding_point</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a>'s binding point in this kernel. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a> the kernel will be executed on. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00122">122</a> of file <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml">IGCKernel.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;{</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; add_tensor_argument&lt;1&gt;(idx, tensor, binding_point, <a class="code" href="classarm__compute_1_1_i_kernel.xhtml#ad34a46f53686c12a5c5e717cc9617fb6">window</a>);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_i_kernel_xhtml_ad34a46f53686c12a5c5e717cc9617fb6"><div class="ttname"><a href="classarm__compute_1_1_i_kernel.xhtml#ad34a46f53686c12a5c5e717cc9617fb6">arm_compute::IKernel::window</a></div><div class="ttdeci">const Window &amp; window() const</div><div class="ttdoc">The maximum window the kernel can be executed on.</div><div class="ttdef"><b>Definition:</b> <a href="_i_kernel_8cpp_source.xhtml#l00028">IKernel.cpp:28</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_kernel_8cpp_source.xhtml#l00028">IKernel::window()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_g_c_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00103">GCGEMMMatrixAccumulateBiasesKernel::run()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00205">GCDepthwiseConvolutionLayer3x3Kernel::run()</a>, <a class="el" href="_g_c_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00132">GCNormalizePlanarYUVLayerKernel::run()</a>, <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00101">GCWeightsReshapeKernel::run()</a>, and <a class="el" href="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00205">GCBatchNormalizationLayerKernel::run()</a>.</p>
</div>
</div>
<a id="a633d6a0cb573106e4d420b664cb29b66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a633d6a0cb573106e4d420b664cb29b66">&#9670;&nbsp;</a></span>add_2D_tensor_argument()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void add_2D_tensor_argument </td>
<td>(</td>
<td class="paramtype">unsigned int &amp;&#160;</td>
<td class="paramname"><em>idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> *&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned int&#160;</td>
<td class="paramname"><em>binding_point</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
<td class="paramname"><em>window</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add the passed 2D tensor's parameters to the object's kernel's arguments starting from the index idx. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>Index at which to start adding the tensor's arguments.Input and output tensor will have sperated index, multiple indices start from 1, single index have to be set to 0. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a> to set as an argument of the object's kernel. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">binding_point</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a>'s binding point in this kernel. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a> the kernel will be executed on. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00127">127</a> of file <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml">IGCKernel.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;{</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; add_tensor_argument&lt;2&gt;(idx, tensor, binding_point, <a class="code" href="classarm__compute_1_1_i_kernel.xhtml#ad34a46f53686c12a5c5e717cc9617fb6">window</a>);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_i_kernel_xhtml_ad34a46f53686c12a5c5e717cc9617fb6"><div class="ttname"><a href="classarm__compute_1_1_i_kernel.xhtml#ad34a46f53686c12a5c5e717cc9617fb6">arm_compute::IKernel::window</a></div><div class="ttdeci">const Window &amp; window() const</div><div class="ttdoc">The maximum window the kernel can be executed on.</div><div class="ttdef"><b>Definition:</b> <a href="_i_kernel_8cpp_source.xhtml#l00028">IKernel.cpp:28</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_kernel_8cpp_source.xhtml#l00028">IKernel::window()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_i_g_c_simple2_d_kernel_8cpp_source.xhtml#l00033">IGCSimple2DKernel::run()</a>, <a class="el" href="_g_c_transpose_kernel_8cpp_source.xhtml#l00123">GCTransposeKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_accumulate_biases_kernel_8cpp_source.xhtml#l00103">GCGEMMMatrixAccumulateBiasesKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_matrix_addition_kernel_8cpp_source.xhtml#l00080">GCGEMMMatrixAdditionKernel::run()</a>, <a class="el" href="_g_c_absolute_difference_kernel_8cpp_source.xhtml#l00086">GCAbsoluteDifferenceKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_transpose1x_w_kernel_8cpp_source.xhtml#l00098">GCGEMMTranspose1xWKernel::run()</a>, <a class="el" href="_g_c_g_e_m_m_interleave4x4_kernel_8cpp_source.xhtml#l00090">GCGEMMInterleave4x4Kernel::run()</a>, <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00101">GCWeightsReshapeKernel::run()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00097">GCCol2ImKernel::run()</a>, and <a class="el" href="_g_c_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00303">GCGEMMMatrixMultiplyKernel::run()</a>.</p>
</div>
</div>
<a id="aa9ed9d806fc3364df21027387b9e735a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9ed9d806fc3364df21027387b9e735a">&#9670;&nbsp;</a></span>add_3D_tensor_argument()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void add_3D_tensor_argument </td>
<td>(</td>
<td class="paramtype">unsigned int &amp;&#160;</td>
<td class="paramname"><em>idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> *&#160;</td>
<td class="paramname"><em>tensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned int&#160;</td>
<td class="paramname"><em>binding_point</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
<td class="paramname"><em>window</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add the passed 3D tensor's parameters to the object's kernel's arguments starting from the index idx. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>Index at which to start adding the tensor's arguments.Input and output tensor will have sperated index, multiple indices start from 1, single index have to be set to 0. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a> to set as an argument of the object's kernel. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">binding_point</td><td><a class="el" href="classarm__compute_1_1_tensor.xhtml" title="Basic implementation of the tensor interface.">Tensor</a>'s binding point in this kernel. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td><a class="el" href="classarm__compute_1_1_window.xhtml" title="Describe a multidimensional execution window.">Window</a> the kernel will be executed on. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00132">132</a> of file <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml">IGCKernel.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;{</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; add_tensor_argument&lt;3&gt;(idx, tensor, binding_point, <a class="code" href="classarm__compute_1_1_i_kernel.xhtml#ad34a46f53686c12a5c5e717cc9617fb6">window</a>);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div><div class="ttc" id="classarm__compute_1_1_i_kernel_xhtml_ad34a46f53686c12a5c5e717cc9617fb6"><div class="ttname"><a href="classarm__compute_1_1_i_kernel.xhtml#ad34a46f53686c12a5c5e717cc9617fb6">arm_compute::IKernel::window</a></div><div class="ttdeci">const Window &amp; window() const</div><div class="ttdoc">The maximum window the kernel can be executed on.</div><div class="ttdef"><b>Definition:</b> <a href="_i_kernel_8cpp_source.xhtml#l00028">IKernel.cpp:28</a></div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_kernel_8cpp_source.xhtml#l00028">IKernel::window()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_i_g_c_simple3_d_kernel_8cpp_source.xhtml#l00033">IGCSimple3DKernel::run()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00145">GCScaleKernel::run()</a>, <a class="el" href="_g_c_activation_layer_kernel_8cpp_source.xhtml#l00104">GCActivationLayerKernel::run()</a>, <a class="el" href="_g_c_pixel_wise_multiplication_kernel_8cpp_source.xhtml#l00101">GCPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00205">GCDepthwiseConvolutionLayer3x3Kernel::run()</a>, <a class="el" href="_g_c_normalization_layer_kernel_8cpp_source.xhtml#l00098">GCNormalizationLayerKernel::run()</a>, <a class="el" href="_g_c_depth_concatenate_layer_kernel_8cpp_source.xhtml#l00087">GCDepthConcatenateLayerKernel::run()</a>, <a class="el" href="_g_c_dropout_layer_kernel_8cpp_source.xhtml#l00086">GCDropoutLayerKernel::run()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00171">GCLogits1DShiftExpSumKernel::run()</a>, <a class="el" href="_g_c_fill_border_kernel_8cpp_source.xhtml#l00141">GCFillBorderKernel::run()</a>, <a class="el" href="_g_c_pooling_layer_kernel_8cpp_source.xhtml#l00331">GCPoolingLayerKernel::run()</a>, <a class="el" href="_g_c_arithmetic_addition_kernel_8cpp_source.xhtml#l00131">GCArithmeticAdditionKernel::run()</a>, <a class="el" href="_g_c_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00132">GCNormalizePlanarYUVLayerKernel::run()</a>, <a class="el" href="_g_c_tensor_shift_kernel_8cpp_source.xhtml#l00077">GCTensorShiftKernel::run()</a>, <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00101">GCWeightsReshapeKernel::run()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00097">GCCol2ImKernel::run()</a>, <a class="el" href="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00205">GCBatchNormalizationLayerKernel::run()</a>, and <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00249">GCLogits1DNormKernel::run()</a>.</p>
</div>
</div>
<a id="aa550ff0352ff2388e02f7b0a41bf5fe7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa550ff0352ff2388e02f7b0a41bf5fe7">&#9670;&nbsp;</a></span>get_target()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> get_target </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the targeted GPU architecture. </p>
<dl class="section return"><dt>Returns</dt><dd>The targeted GPU architecture. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_i_g_c_kernel_8h_source.xhtml#l00122">122</a> of file <a class="el" href="_i_g_c_kernel_8h_source.xhtml">IGCKernel.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> _target;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_g_c_g_e_m_m_matrix_multiply_kernel_8cpp_source.xhtml#l00185">GCGEMMMatrixMultiplyKernel::configure()</a>.</p>
</div>
</div>
<a id="a3b8f9d088e013cfbb039fd0ebbe42589"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b8f9d088e013cfbb039fd0ebbe42589">&#9670;&nbsp;</a></span>kernel()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarm__compute_1_1_g_c_kernel.xhtml">GCKernel</a> &amp; kernel </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a reference to the GLES kernel of this object. </p>
<dl class="section return"><dt>Returns</dt><dd>A reference to the GLES kernel of this object. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00069">69</a> of file <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml">IGCKernel.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;{</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">return</span> _kernel;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;}</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00041">arm_compute::enqueue()</a>.</p>
</div>
</div>
<a id="a24938aee389d915b1cc481f11346b2f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24938aee389d915b1cc481f11346b2f6">&#9670;&nbsp;</a></span>num_arguments_per_1D_tensor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int num_arguments_per_1D_tensor </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of arguments enqueued per 1D tensor object. </p>
<dl class="section return"><dt>Returns</dt><dd>The number of arguments enqueues per 1D tensor object. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00137">137</a> of file <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml">IGCKernel.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;{</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span> num_arguments_per_tensor&lt;1&gt;();</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;}</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00046">GCWeightsReshapeKernel::configure()</a>.</p>
</div>
</div>
<a id="a1cdff9e90a54e4ea673d10b2dcd7ec9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1cdff9e90a54e4ea673d10b2dcd7ec9f">&#9670;&nbsp;</a></span>num_arguments_per_2D_tensor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int num_arguments_per_2D_tensor </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of arguments enqueued per 2D tensor object. </p>
<dl class="section return"><dt>Returns</dt><dd>The number of arguments enqueues per 2D tensor object. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00142">142</a> of file <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml">IGCKernel.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;{</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> num_arguments_per_tensor&lt;2&gt;();</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;}</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00046">GCWeightsReshapeKernel::configure()</a>.</p>
</div>
</div>
<a id="abb64cdefb07e7d0e4dc5722015cccc35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb64cdefb07e7d0e4dc5722015cccc35">&#9670;&nbsp;</a></span>num_arguments_per_3D_tensor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int num_arguments_per_3D_tensor </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of arguments enqueued per 3D tensor object. </p>
<dl class="section return"><dt>Returns</dt><dd>The number of arguments enqueues per 3D tensor object. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml#l00147">147</a> of file <a class="el" href="_i_g_c_kernel_8cpp_source.xhtml">IGCKernel.cpp</a>.</p>
<div class="fragment"><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">return</span> num_arguments_per_tensor&lt;3&gt;();</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;}</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00042">GCLogits1DMaxKernel::configure()</a>, <a class="el" href="_g_c_scale_kernel_8cpp_source.xhtml#l00047">GCScaleKernel::configure()</a>, <a class="el" href="_g_c_fill_border_kernel_8cpp_source.xhtml#l00060">GCFillBorderKernel::configure()</a>, <a class="el" href="_g_c_softmax_layer_kernel_8cpp_source.xhtml#l00107">GCLogits1DShiftExpSumKernel::configure()</a>, <a class="el" href="_g_c_weights_reshape_kernel_8cpp_source.xhtml#l00046">GCWeightsReshapeKernel::configure()</a>, <a class="el" href="_g_c_depthwise_convolution_layer3x3_kernel_8cpp_source.xhtml#l00205">GCDepthwiseConvolutionLayer3x3Kernel::run()</a>, <a class="el" href="_g_c_normalize_planar_y_u_v_layer_kernel_8cpp_source.xhtml#l00132">GCNormalizePlanarYUVLayerKernel::run()</a>, <a class="el" href="_g_c_col2_im_kernel_8cpp_source.xhtml#l00097">GCCol2ImKernel::run()</a>, and <a class="el" href="_g_c_batch_normalization_layer_kernel_8cpp_source.xhtml#l00205">GCBatchNormalizationLayerKernel::run()</a>.</p>
</div>
</div>
<a id="a6f56c8bb44166634652b877d6eb7a9a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f56c8bb44166634652b877d6eb7a9a2">&#9670;&nbsp;</a></span>run()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void run </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Enqueue the OpenGL ES shader to process the given window. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>Region on which to execute the kernel. (Must be a valid region of the window returned by <a class="el" href="classarm__compute_1_1_i_kernel.xhtml#ad34a46f53686c12a5c5e717cc9617fb6" title="The maximum window the kernel can be executed on.">window()</a>). </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classarm__compute_1_1_g_c_logits1_d_norm_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCLogits1DNormKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_batch_normalization_layer_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCBatchNormalizationLayerKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_matrix_multiply_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCGEMMMatrixMultiplyKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_im2_col_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCIm2ColKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_col2_im_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCCol2ImKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_weights_reshape_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCWeightsReshapeKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_tensor_shift_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCTensorShiftKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_normalize_planar_y_u_v_layer_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCNormalizePlanarYUVLayerKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_arithmetic_addition_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCArithmeticAdditionKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_interleave4x4_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCGEMMInterleave4x4Kernel</a>, <a class="el" href="classarm__compute_1_1_g_c_pooling_layer_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCPoolingLayerKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_direct_convolution_layer_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCDirectConvolutionLayerKernel&lt; kernel_size &gt;</a>, <a class="el" href="classarm__compute_1_1_g_c_fill_border_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCFillBorderKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_dropout_layer_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCDropoutLayerKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_logits1_d_shift_exp_sum_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCLogits1DShiftExpSumKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_depth_concatenate_layer_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCDepthConcatenateLayerKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_transpose1x_w_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCGEMMTranspose1xWKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_absolute_difference_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCAbsoluteDifferenceKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_matrix_addition_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCGEMMMatrixAdditionKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_normalization_layer_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCNormalizationLayerKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_activation_layer_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCActivationLayerKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_depthwise_convolution_layer3x3_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCDepthwiseConvolutionLayer3x3Kernel</a>, <a class="el" href="classarm__compute_1_1_g_c_pixel_wise_multiplication_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCPixelWiseMultiplicationKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_g_e_m_m_matrix_accumulate_biases_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCGEMMMatrixAccumulateBiasesKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_scale_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCScaleKernel</a>, <a class="el" href="classarm__compute_1_1_g_c_transpose_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">GCTransposeKernel</a>, <a class="el" href="classarm__compute_1_1_i_g_c_simple3_d_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">IGCSimple3DKernel</a>, and <a class="el" href="classarm__compute_1_1_i_g_c_simple2_d_kernel.xhtml#a8fd12b95bdde3f93db96bc9b1598db69">IGCSimple2DKernel</a>.</p>
<p class="reference">Referenced by <a class="el" href="_g_c_scheduler_8cpp_source.xhtml#l00069">GCScheduler::dispatch()</a>.</p>
</div>
</div>
<a id="a3c6173aecfebc9030bf8a0bee0c0ced8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c6173aecfebc9030bf8a0bee0c0ced8">&#9670;&nbsp;</a></span>set_lws_hint()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void set_lws_hint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarm__compute_1_1gles_1_1_n_d_range.xhtml">gles::NDRange</a> &amp;&#160;</td>
<td class="paramname"><em>lws_hint</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the Local-Workgroup-Size hint. </p>
<dl class="section note"><dt>Note</dt><dd>This method should be called after the configuration of the kernel</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">lws_hint</td><td>Local-Workgroup-Size to use </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_i_g_c_kernel_8h_source.xhtml#l00104">104</a> of file <a class="el" href="_i_g_c_kernel_8h_source.xhtml">IGCKernel.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; _lws_hint = lws_hint;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div></div><!-- fragment -->
</div>
</div>
<a id="ad5ba9d34a3a855bf1dd2e36316ff550a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5ba9d34a3a855bf1dd2e36316ff550a">&#9670;&nbsp;</a></span>set_target()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void set_target </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
<td class="paramname"><em>target</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the targeted GPU architecture. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>The targeted GPU architecture </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_i_g_c_kernel_8h_source.xhtml#l00113">113</a> of file <a class="el" href="_i_g_c_kernel_8h_source.xhtml">IGCKernel.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; _target = target;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_g_c_g_e_m_m_8cpp_source.xhtml#l00081">GCGEMM::configure()</a>, and <a class="el" href="_g_c_convolution_layer_8cpp_source.xhtml#l00090">GCConvolutionLayer::configure()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>arm_compute/core/GLES_COMPUTE/<a class="el" href="_i_g_c_kernel_8h_source.xhtml">IGCKernel.h</a></li>
<li>src/core/GLES_COMPUTE/<a class="el" href="_i_g_c_kernel_8cpp_source.xhtml">IGCKernel.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="classarm__compute_1_1_i_g_c_kernel.xhtml">IGCKernel</a></li>
<li class="footer">Generated on Mon Sep 2 2019 11:47:35 for Compute Library by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
</ul>
</div>
</body>
</html>