Bugfix for NumPyBinLoader with SubTensor output. (#345)
[platform/upstream/armcl.git] / documentation / classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml
1 <!-- HTML header for doxygen 1.8.9.1-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
7 <meta name="generator" content="Doxygen 1.8.11"/>
8 <meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
9 <title>Compute Library: NEWinogradLayerKernel Class Reference</title>
10 <link href="tabs.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="jquery.js"></script>
12 <script type="text/javascript" src="dynsections.js"></script>
13 <link href="navtree.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="resize.js"></script>
15 <script type="text/javascript" src="navtreedata.js"></script>
16 <script type="text/javascript" src="navtree.js"></script>
17 <script type="text/javascript">
18   $(document).ready(initResizable);
19   $(window).load(resizeHeight);
20 </script>
21 <link href="search/search.css" rel="stylesheet" type="text/css"/>
22 <script type="text/javascript" src="search/searchdata.js"></script>
23 <script type="text/javascript" src="search/search.js"></script>
24 <script type="text/javascript">
25   $(document).ready(function() { init_search(); });
26 </script>
27 <script type="text/x-mathjax-config">
28   MathJax.Hub.Config({
29     extensions: ["tex2jax.js"],
30     jax: ["input/TeX","output/HTML-CSS"],
31 });
32 </script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
33 <link href="doxygen.css" rel="stylesheet" type="text/css" />
34 </head>
35 <body>
36 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
37 <div id="titlearea">
38 <table cellspacing="0" cellpadding="0">
39  <tbody>
40  <tr style="height: 56px;">
41   <td style="padding-left: 0.5em;">
42    <div id="projectname">Compute Library
43    &#160;<span id="projectnumber">18.01</span>
44    </div>
45   </td>
46  </tr>
47  </tbody>
48 </table>
49 </div>
50 <!-- end header part -->
51 <!-- Generated by Doxygen 1.8.11 -->
52 <script type="text/javascript">
53 var searchBox = new SearchBox("searchBox", "search",false,'Search');
54 </script>
55   <div id="navrow1" class="tabs">
56     <ul class="tablist">
57       <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
58       <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
59       <li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
60       <li class="current"><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
61       <li><a href="files.xhtml"><span>Files</span></a></li>
62       <li>
63         <div id="MSearchBox" class="MSearchBoxInactive">
64         <span class="left">
65           <img id="MSearchSelect" src="search/mag_sel.png"
66                onmouseover="return searchBox.OnSearchSelectShow()"
67                onmouseout="return searchBox.OnSearchSelectHide()"
68                alt=""/>
69           <input type="text" id="MSearchField" value="Search" accesskey="S"
70                onfocus="searchBox.OnSearchFieldFocus(true)" 
71                onblur="searchBox.OnSearchFieldFocus(false)" 
72                onkeyup="searchBox.OnSearchFieldChange(event)"/>
73           </span><span class="right">
74             <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
75           </span>
76         </div>
77       </li>
78     </ul>
79   </div>
80   <div id="navrow2" class="tabs2">
81     <ul class="tablist">
82       <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
83       <li><a href="classes.xhtml"><span>Data&#160;Structure&#160;Index</span></a></li>
84       <li><a href="inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
85       <li><a href="functions.xhtml"><span>Data&#160;Fields</span></a></li>
86     </ul>
87   </div>
88 </div><!-- top -->
89 <div id="side-nav" class="ui-resizable side-nav-resizable">
90   <div id="nav-tree">
91     <div id="nav-tree-contents">
92       <div id="nav-sync" class="sync"></div>
93     </div>
94   </div>
95   <div id="splitbar" style="-moz-user-select:none;" 
96        class="ui-resizable-handle">
97   </div>
98 </div>
99 <script type="text/javascript">
100 $(document).ready(function(){initNavTree('classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml','');});
101 </script>
102 <div id="doc-content">
103 <!-- window showing the filter options -->
104 <div id="MSearchSelectWindow"
105      onmouseover="return searchBox.OnSearchSelectShow()"
106      onmouseout="return searchBox.OnSearchSelectHide()"
107      onkeydown="return searchBox.OnSearchSelectKey(event)">
108 </div>
109
110 <!-- iframe showing the search results (closed by default) -->
111 <div id="MSearchResultsWindow">
112 <iframe src="javascript:void(0)" frameborder="0" 
113         name="MSearchResults" id="MSearchResults">
114 </iframe>
115 </div>
116
117 <div class="header">
118   <div class="summary">
119 <a href="#pub-methods">Public Member Functions</a> &#124;
120 <a href="#pub-static-methods">Static Public Member Functions</a>  </div>
121   <div class="headertitle">
122 <div class="title">NEWinogradLayerKernel Class Reference</div>  </div>
123 </div><!--header-->
124 <div class="contents">
125
126 <p><code>#include &lt;<a class="el" href="_n_e_winograd_layer_kernel_8h_source.xhtml">NEWinogradLayerKernel.h</a>&gt;</code></p>
127 <div class="dynheader">
128 Collaboration diagram for NEWinogradLayerKernel:</div>
129 <div class="dyncontent">
130 <div class="center"><iframe scrolling="no" frameborder="0" src="classarm__compute_1_1_n_e_winograd_layer_kernel__coll__graph.svg" width="184" height="187"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
131 </div>
132 <center><span class="legend">[<a target="top" href="graph_legend.xhtml">legend</a>]</span></center></div>
133 <table class="memberdecls">
134 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
135 Public Member Functions</h2></td></tr>
136 <tr class="memitem:a8023793c80e0f49d35b15e81373ca42b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml#a8023793c80e0f49d35b15e81373ca42b">NEWinogradLayerKernel</a> ()</td></tr>
137 <tr class="memdesc:a8023793c80e0f49d35b15e81373ca42b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a8023793c80e0f49d35b15e81373ca42b">More...</a><br /></td></tr>
138 <tr class="separator:a8023793c80e0f49d35b15e81373ca42b"><td class="memSeparator" colspan="2">&#160;</td></tr>
139 <tr class="memitem:aa3b0bb71c1dd96c0dcf4f25337ddd670"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml#aa3b0bb71c1dd96c0dcf4f25337ddd670">NEWinogradLayerKernel</a> (const <a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a> &amp;)=delete</td></tr>
140 <tr class="memdesc:aa3b0bb71c1dd96c0dcf4f25337ddd670"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent instances of this class from being copied (As this class contains pointers)  <a href="#aa3b0bb71c1dd96c0dcf4f25337ddd670">More...</a><br /></td></tr>
141 <tr class="separator:aa3b0bb71c1dd96c0dcf4f25337ddd670"><td class="memSeparator" colspan="2">&#160;</td></tr>
142 <tr class="memitem:a00d009003744d1f065b1f32198c3299a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml#a00d009003744d1f065b1f32198c3299a">operator=</a> (const <a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a> &amp;)=delete</td></tr>
143 <tr class="memdesc:a00d009003744d1f065b1f32198c3299a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent instances of this class from being copied (As this class contains pointers)  <a href="#a00d009003744d1f065b1f32198c3299a">More...</a><br /></td></tr>
144 <tr class="separator:a00d009003744d1f065b1f32198c3299a"><td class="memSeparator" colspan="2">&#160;</td></tr>
145 <tr class="memitem:a8b589273f73305d6122da6d75b65e082"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml#a8b589273f73305d6122da6d75b65e082">NEWinogradLayerKernel</a> (<a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a> &amp;&amp;)=default</td></tr>
146 <tr class="memdesc:a8b589273f73305d6122da6d75b65e082"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be moved.  <a href="#a8b589273f73305d6122da6d75b65e082">More...</a><br /></td></tr>
147 <tr class="separator:a8b589273f73305d6122da6d75b65e082"><td class="memSeparator" colspan="2">&#160;</td></tr>
148 <tr class="memitem:a1d51916b2aa07ed2f79b3cc7a85cbd83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml#a1d51916b2aa07ed2f79b3cc7a85cbd83">operator=</a> (<a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a> &amp;&amp;)=default</td></tr>
149 <tr class="memdesc:a1d51916b2aa07ed2f79b3cc7a85cbd83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be moved.  <a href="#a1d51916b2aa07ed2f79b3cc7a85cbd83">More...</a><br /></td></tr>
150 <tr class="separator:a1d51916b2aa07ed2f79b3cc7a85cbd83"><td class="memSeparator" colspan="2">&#160;</td></tr>
151 <tr class="memitem:ac9989decbb2c46d1f4246dcdcfe4ed1e"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml#ac9989decbb2c46d1f4246dcdcfe4ed1e">~NEWinogradLayerKernel</a> ()=default</td></tr>
152 <tr class="separator:ac9989decbb2c46d1f4246dcdcfe4ed1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
153 <tr class="memitem:a28a14f42b211986c047de4d6bba8e4ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml#a28a14f42b211986c047de4d6bba8e4ed">configure</a> (<a class="el" href="classarm__compute_1_1_winograd3x3_f32.xhtml">Winograd3x3F32</a> *convolver)</td></tr>
154 <tr class="memdesc:a28a14f42b211986c047de4d6bba8e4ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialise the kernel.  <a href="#a28a14f42b211986c047de4d6bba8e4ed">More...</a><br /></td></tr>
155 <tr class="separator:a28a14f42b211986c047de4d6bba8e4ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
156 <tr class="memitem:a112b35dd205c62ea6ed1447ef226da82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml#a112b35dd205c62ea6ed1447ef226da82">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#a3f5646133956f06348b310ccc3d36353">window</a>, const <a class="el" href="structarm__compute_1_1_thread_info.xhtml">ThreadInfo</a> &amp;info) override</td></tr>
157 <tr class="memdesc:a112b35dd205c62ea6ed1447ef226da82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute the kernel on the passed window.  <a href="#a112b35dd205c62ea6ed1447ef226da82">More...</a><br /></td></tr>
158 <tr class="separator:a112b35dd205c62ea6ed1447ef226da82"><td class="memSeparator" colspan="2">&#160;</td></tr>
159 <tr class="inherit_header pub_methods_classarm__compute_1_1_i_c_p_p_kernel"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarm__compute_1_1_i_c_p_p_kernel')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a></td></tr>
160 <tr class="memitem:a033d17a97e07cea7fe83eefcf23540f6 inherit pub_methods_classarm__compute_1_1_i_c_p_p_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_c_p_p_kernel.xhtml#a033d17a97e07cea7fe83eefcf23540f6">~ICPPKernel</a> ()=default</td></tr>
161 <tr class="memdesc:a033d17a97e07cea7fe83eefcf23540f6 inherit pub_methods_classarm__compute_1_1_i_c_p_p_kernel"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor.  <a href="#a033d17a97e07cea7fe83eefcf23540f6">More...</a><br /></td></tr>
162 <tr class="separator:a033d17a97e07cea7fe83eefcf23540f6 inherit pub_methods_classarm__compute_1_1_i_c_p_p_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
163 <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>
164 <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>
165 <tr class="memdesc:a7250cb8cbaa4104a93a2d77155085507 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a7250cb8cbaa4104a93a2d77155085507">More...</a><br /></td></tr>
166 <tr class="separator:a7250cb8cbaa4104a93a2d77155085507 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
167 <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>
168 <tr class="memdesc:a341b60d15a5e12a5b8f3825194dd3b12 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a341b60d15a5e12a5b8f3825194dd3b12">More...</a><br /></td></tr>
169 <tr class="separator:a341b60d15a5e12a5b8f3825194dd3b12 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
170 <tr class="memitem:abfab8f0d4928e1081d9f65b77933e24a 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#abfab8f0d4928e1081d9f65b77933e24a">is_parallelisable</a> () const </td></tr>
171 <tr class="memdesc:abfab8f0d4928e1081d9f65b77933e24a 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="#abfab8f0d4928e1081d9f65b77933e24a">More...</a><br /></td></tr>
172 <tr class="separator:abfab8f0d4928e1081d9f65b77933e24a inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
173 <tr class="memitem:aa6daa9b04e2035bf007e5e5c3c4396a8 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#aa6daa9b04e2035bf007e5e5c3c4396a8">border_size</a> () const </td></tr>
174 <tr class="memdesc:aa6daa9b04e2035bf007e5e5c3c4396a8 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="#aa6daa9b04e2035bf007e5e5c3c4396a8">More...</a><br /></td></tr>
175 <tr class="separator:aa6daa9b04e2035bf007e5e5c3c4396a8 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
176 <tr class="memitem:a3f5646133956f06348b310ccc3d36353 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#a3f5646133956f06348b310ccc3d36353">window</a> () const </td></tr>
177 <tr class="memdesc:a3f5646133956f06348b310ccc3d36353 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="#a3f5646133956f06348b310ccc3d36353">More...</a><br /></td></tr>
178 <tr class="separator:a3f5646133956f06348b310ccc3d36353 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
179 </table><table class="memberdecls">
180 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
181 Static Public Member Functions</h2></td></tr>
182 <tr class="memitem:a2d663c8f7f808c143fe2d575fcfcafdb"><td class="memItemLeft" align="right" valign="top">static unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml#a2d663c8f7f808c143fe2d575fcfcafdb">get_weight_storage_size</a> (const int n_output_channels, const int n_input_channels)</td></tr>
183 <tr class="memdesc:a2d663c8f7f808c143fe2d575fcfcafdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine how much memory (in units of TIn) to allocate for the transformed weights.  <a href="#a2d663c8f7f808c143fe2d575fcfcafdb">More...</a><br /></td></tr>
184 <tr class="separator:a2d663c8f7f808c143fe2d575fcfcafdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
185 <tr class="memitem:ae649097234f8eeb6bf3504720a60b574"><td class="memItemLeft" align="right" valign="top">static unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml#ae649097234f8eeb6bf3504720a60b574">get_input_storage_size</a> (const int n_batches, const int n_channels, const int n_rows, const int n_cols, const bool same_padding)</td></tr>
186 <tr class="memdesc:ae649097234f8eeb6bf3504720a60b574"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine how much memory (in units of TIn) to allocate for the transformed input.  <a href="#ae649097234f8eeb6bf3504720a60b574">More...</a><br /></td></tr>
187 <tr class="separator:ae649097234f8eeb6bf3504720a60b574"><td class="memSeparator" colspan="2">&#160;</td></tr>
188 <tr class="memitem:a487d0811fefbd14a0d1bc7a11049bcba"><td class="memItemLeft" align="right" valign="top">static unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml#a487d0811fefbd14a0d1bc7a11049bcba">get_output_storage_size</a> (const int n_batches, const int n_rows, const int n_cols, const int n_output_channels, const bool same_padding)</td></tr>
189 <tr class="memdesc:a487d0811fefbd14a0d1bc7a11049bcba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine how much memory (in units of TOut) to allocate for the (Winograd domain) output.  <a href="#a487d0811fefbd14a0d1bc7a11049bcba">More...</a><br /></td></tr>
190 <tr class="separator:a487d0811fefbd14a0d1bc7a11049bcba"><td class="memSeparator" colspan="2">&#160;</td></tr>
191 </table>
192 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
193 <div class="textblock">
194 <p>Definition at line <a class="el" href="_n_e_winograd_layer_kernel_8h_source.xhtml#l00079">79</a> of file <a class="el" href="_n_e_winograd_layer_kernel_8h_source.xhtml">NEWinogradLayerKernel.h</a>.</p>
195 </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
196 <a class="anchor" id="a8023793c80e0f49d35b15e81373ca42b"></a>
197 <div class="memitem">
198 <div class="memproto">
199       <table class="memname">
200         <tr>
201           <td class="memname"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a> </td>
202           <td>(</td>
203           <td class="paramname"></td><td>)</td>
204           <td></td>
205         </tr>
206       </table>
207 </div><div class="memdoc">
208
209 <p>Constructor. </p>
210
211 </div>
212 </div>
213 <a class="anchor" id="aa3b0bb71c1dd96c0dcf4f25337ddd670"></a>
214 <div class="memitem">
215 <div class="memproto">
216 <table class="mlabels">
217   <tr>
218   <td class="mlabels-left">
219       <table class="memname">
220         <tr>
221           <td class="memname"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a> </td>
222           <td>(</td>
223           <td class="paramtype">const <a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a> &amp;&#160;</td>
224           <td class="paramname"></td><td>)</td>
225           <td></td>
226         </tr>
227       </table>
228   </td>
229   <td class="mlabels-right">
230 <span class="mlabels"><span class="mlabel">delete</span></span>  </td>
231   </tr>
232 </table>
233 </div><div class="memdoc">
234
235 <p>Prevent instances of this class from being copied (As this class contains pointers) </p>
236
237 </div>
238 </div>
239 <a class="anchor" id="a8b589273f73305d6122da6d75b65e082"></a>
240 <div class="memitem">
241 <div class="memproto">
242 <table class="mlabels">
243   <tr>
244   <td class="mlabels-left">
245       <table class="memname">
246         <tr>
247           <td class="memname"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a> </td>
248           <td>(</td>
249           <td class="paramtype"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a> &amp;&amp;&#160;</td>
250           <td class="paramname"></td><td>)</td>
251           <td></td>
252         </tr>
253       </table>
254   </td>
255   <td class="mlabels-right">
256 <span class="mlabels"><span class="mlabel">default</span></span>  </td>
257   </tr>
258 </table>
259 </div><div class="memdoc">
260
261 <p>Allow instances of this class to be moved. </p>
262
263 </div>
264 </div>
265 <a class="anchor" id="ac9989decbb2c46d1f4246dcdcfe4ed1e"></a>
266 <div class="memitem">
267 <div class="memproto">
268 <table class="mlabels">
269   <tr>
270   <td class="mlabels-left">
271       <table class="memname">
272         <tr>
273           <td class="memname">virtual ~<a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a> </td>
274           <td>(</td>
275           <td class="paramname"></td><td>)</td>
276           <td></td>
277         </tr>
278       </table>
279   </td>
280   <td class="mlabels-right">
281 <span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">default</span></span>  </td>
282   </tr>
283 </table>
284 </div><div class="memdoc">
285
286 </div>
287 </div>
288 <h2 class="groupheader">Member Function Documentation</h2>
289 <a class="anchor" id="a28a14f42b211986c047de4d6bba8e4ed"></a>
290 <div class="memitem">
291 <div class="memproto">
292       <table class="memname">
293         <tr>
294           <td class="memname">void configure </td>
295           <td>(</td>
296           <td class="paramtype"><a class="el" href="classarm__compute_1_1_winograd3x3_f32.xhtml">Winograd3x3F32</a> *&#160;</td>
297           <td class="paramname"><em>convolver</em></td><td>)</td>
298           <td></td>
299         </tr>
300       </table>
301 </div><div class="memdoc">
302
303 <p>Initialise the kernel. </p>
304 <dl class="params"><dt>Parameters</dt><dd>
305   <table class="params">
306     <tr><td class="paramdir">[in]</td><td class="paramname">convolver</td><td>A pointer to the winograd convolver, this object must have been configured and is ready to execute 16 GEMMS . </td></tr>
307   </table>
308   </dd>
309 </dl>
310
311 </div>
312 </div>
313 <a class="anchor" id="ae649097234f8eeb6bf3504720a60b574"></a>
314 <div class="memitem">
315 <div class="memproto">
316 <table class="mlabels">
317   <tr>
318   <td class="mlabels-left">
319       <table class="memname">
320         <tr>
321           <td class="memname">static unsigned int get_input_storage_size </td>
322           <td>(</td>
323           <td class="paramtype">const int&#160;</td>
324           <td class="paramname"><em>n_batches</em>, </td>
325         </tr>
326         <tr>
327           <td class="paramkey"></td>
328           <td></td>
329           <td class="paramtype">const int&#160;</td>
330           <td class="paramname"><em>n_channels</em>, </td>
331         </tr>
332         <tr>
333           <td class="paramkey"></td>
334           <td></td>
335           <td class="paramtype">const int&#160;</td>
336           <td class="paramname"><em>n_rows</em>, </td>
337         </tr>
338         <tr>
339           <td class="paramkey"></td>
340           <td></td>
341           <td class="paramtype">const int&#160;</td>
342           <td class="paramname"><em>n_cols</em>, </td>
343         </tr>
344         <tr>
345           <td class="paramkey"></td>
346           <td></td>
347           <td class="paramtype">const bool&#160;</td>
348           <td class="paramname"><em>same_padding</em>&#160;</td>
349         </tr>
350         <tr>
351           <td></td>
352           <td>)</td>
353           <td></td><td></td>
354         </tr>
355       </table>
356   </td>
357   <td class="mlabels-right">
358 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
359   </tr>
360 </table>
361 </div><div class="memdoc">
362
363 <p>Determine how much memory (in units of TIn) to allocate for the transformed input. </p>
364 <dl class="params"><dt>Parameters</dt><dd>
365   <table class="params">
366     <tr><td class="paramdir">[in]</td><td class="paramname">n_batches</td><td>Number of batches in the input tensor. </td></tr>
367     <tr><td class="paramdir">[in]</td><td class="paramname">n_channels</td><td>Number of feature maps in the input tensor. </td></tr>
368     <tr><td class="paramdir">[in]</td><td class="paramname">n_rows</td><td>Number of rows in each feature map. </td></tr>
369     <tr><td class="paramdir">[in]</td><td class="paramname">n_cols</td><td>Number of columns in each feature map. </td></tr>
370     <tr><td class="paramdir">[in]</td><td class="paramname">same_padding</td><td>Use "SAME" padding, otherwise use "VALID". </td></tr>
371   </table>
372   </dd>
373 </dl>
374
375 </div>
376 </div>
377 <a class="anchor" id="a487d0811fefbd14a0d1bc7a11049bcba"></a>
378 <div class="memitem">
379 <div class="memproto">
380 <table class="mlabels">
381   <tr>
382   <td class="mlabels-left">
383       <table class="memname">
384         <tr>
385           <td class="memname">static unsigned int get_output_storage_size </td>
386           <td>(</td>
387           <td class="paramtype">const int&#160;</td>
388           <td class="paramname"><em>n_batches</em>, </td>
389         </tr>
390         <tr>
391           <td class="paramkey"></td>
392           <td></td>
393           <td class="paramtype">const int&#160;</td>
394           <td class="paramname"><em>n_rows</em>, </td>
395         </tr>
396         <tr>
397           <td class="paramkey"></td>
398           <td></td>
399           <td class="paramtype">const int&#160;</td>
400           <td class="paramname"><em>n_cols</em>, </td>
401         </tr>
402         <tr>
403           <td class="paramkey"></td>
404           <td></td>
405           <td class="paramtype">const int&#160;</td>
406           <td class="paramname"><em>n_output_channels</em>, </td>
407         </tr>
408         <tr>
409           <td class="paramkey"></td>
410           <td></td>
411           <td class="paramtype">const bool&#160;</td>
412           <td class="paramname"><em>same_padding</em>&#160;</td>
413         </tr>
414         <tr>
415           <td></td>
416           <td>)</td>
417           <td></td><td></td>
418         </tr>
419       </table>
420   </td>
421   <td class="mlabels-right">
422 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
423   </tr>
424 </table>
425 </div><div class="memdoc">
426
427 <p>Determine how much memory (in units of TOut) to allocate for the (Winograd domain) output. </p>
428 <dl class="params"><dt>Parameters</dt><dd>
429   <table class="params">
430     <tr><td class="paramdir">[in]</td><td class="paramname">n_batches</td><td>Number of batches in the output tensor. </td></tr>
431     <tr><td class="paramdir">[in]</td><td class="paramname">n_rows</td><td>Number of rows in each feature map of the input tensor. </td></tr>
432     <tr><td class="paramdir">[in]</td><td class="paramname">n_cols</td><td>Number of columns in each feature map of the input tensor. </td></tr>
433     <tr><td class="paramdir">[in]</td><td class="paramname">n_output_channels</td><td>Number of feature maps in the output tensor. </td></tr>
434     <tr><td class="paramdir">[in]</td><td class="paramname">same_padding</td><td>Use "SAME" padding, otherwise use "VALID". </td></tr>
435   </table>
436   </dd>
437 </dl>
438
439 </div>
440 </div>
441 <a class="anchor" id="a2d663c8f7f808c143fe2d575fcfcafdb"></a>
442 <div class="memitem">
443 <div class="memproto">
444 <table class="mlabels">
445   <tr>
446   <td class="mlabels-left">
447       <table class="memname">
448         <tr>
449           <td class="memname">static unsigned int get_weight_storage_size </td>
450           <td>(</td>
451           <td class="paramtype">const int&#160;</td>
452           <td class="paramname"><em>n_output_channels</em>, </td>
453         </tr>
454         <tr>
455           <td class="paramkey"></td>
456           <td></td>
457           <td class="paramtype">const int&#160;</td>
458           <td class="paramname"><em>n_input_channels</em>&#160;</td>
459         </tr>
460         <tr>
461           <td></td>
462           <td>)</td>
463           <td></td><td></td>
464         </tr>
465       </table>
466   </td>
467   <td class="mlabels-right">
468 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
469   </tr>
470 </table>
471 </div><div class="memdoc">
472
473 <p>Determine how much memory (in units of TIn) to allocate for the transformed weights. </p>
474 <dl class="params"><dt>Parameters</dt><dd>
475   <table class="params">
476     <tr><td class="paramdir">[in]</td><td class="paramname">n_output_channels</td><td>Number of output feature maps. </td></tr>
477     <tr><td class="paramdir">[in]</td><td class="paramname">n_input_channels</td><td>Number of input feature maps. </td></tr>
478   </table>
479   </dd>
480 </dl>
481
482 </div>
483 </div>
484 <a class="anchor" id="a00d009003744d1f065b1f32198c3299a"></a>
485 <div class="memitem">
486 <div class="memproto">
487 <table class="mlabels">
488   <tr>
489   <td class="mlabels-left">
490       <table class="memname">
491         <tr>
492           <td class="memname"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a>&amp; operator= </td>
493           <td>(</td>
494           <td class="paramtype">const <a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a> &amp;&#160;</td>
495           <td class="paramname"></td><td>)</td>
496           <td></td>
497         </tr>
498       </table>
499   </td>
500   <td class="mlabels-right">
501 <span class="mlabels"><span class="mlabel">delete</span></span>  </td>
502   </tr>
503 </table>
504 </div><div class="memdoc">
505
506 <p>Prevent instances of this class from being copied (As this class contains pointers) </p>
507
508 </div>
509 </div>
510 <a class="anchor" id="a1d51916b2aa07ed2f79b3cc7a85cbd83"></a>
511 <div class="memitem">
512 <div class="memproto">
513 <table class="mlabels">
514   <tr>
515   <td class="mlabels-left">
516       <table class="memname">
517         <tr>
518           <td class="memname"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a>&amp; operator= </td>
519           <td>(</td>
520           <td class="paramtype"><a class="el" href="classarm__compute_1_1_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a> &amp;&amp;&#160;</td>
521           <td class="paramname"></td><td>)</td>
522           <td></td>
523         </tr>
524       </table>
525   </td>
526   <td class="mlabels-right">
527 <span class="mlabels"><span class="mlabel">default</span></span>  </td>
528   </tr>
529 </table>
530 </div><div class="memdoc">
531
532 <p>Allow instances of this class to be moved. </p>
533
534 </div>
535 </div>
536 <a class="anchor" id="a112b35dd205c62ea6ed1447ef226da82"></a>
537 <div class="memitem">
538 <div class="memproto">
539 <table class="mlabels">
540   <tr>
541   <td class="mlabels-left">
542       <table class="memname">
543         <tr>
544           <td class="memname">void run </td>
545           <td>(</td>
546           <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
547           <td class="paramname"><em>window</em>, </td>
548         </tr>
549         <tr>
550           <td class="paramkey"></td>
551           <td></td>
552           <td class="paramtype">const <a class="el" href="structarm__compute_1_1_thread_info.xhtml">ThreadInfo</a> &amp;&#160;</td>
553           <td class="paramname"><em>info</em>&#160;</td>
554         </tr>
555         <tr>
556           <td></td>
557           <td>)</td>
558           <td></td><td></td>
559         </tr>
560       </table>
561   </td>
562   <td class="mlabels-right">
563 <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
564   </tr>
565 </table>
566 </div><div class="memdoc">
567
568 <p>Execute the kernel on the passed window. </p>
569 <dl class="section warning"><dt>Warning</dt><dd>If <a class="el" href="classarm__compute_1_1_i_kernel.xhtml#abfab8f0d4928e1081d9f65b77933e24a" title="Indicates whether or not the kernel is parallelisable. ">is_parallelisable()</a> returns false then the passed window must be equal to <a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a3f5646133956f06348b310ccc3d36353" title="The maximum window the kernel can be executed on. ">window()</a></dd></dl>
570 <dl class="section note"><dt>Note</dt><dd>The window has to be a region within the window returned by the <a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a3f5646133956f06348b310ccc3d36353" title="The maximum window the kernel can be executed on. ">window()</a> method</dd>
571 <dd>
572 The width of the window has to be a multiple of num_elems_processed_per_iteration().</dd></dl>
573 <dl class="params"><dt>Parameters</dt><dd>
574   <table class="params">
575     <tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>Region on which to execute the kernel. (Must be a region of the window returned by <a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a3f5646133956f06348b310ccc3d36353" title="The maximum window the kernel can be executed on. ">window()</a>) </td></tr>
576     <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Info about executing thread and CPU. </td></tr>
577   </table>
578   </dd>
579 </dl>
580
581 <p>Implements <a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml#af814ff5e96f40f1cccf809b2b4ee19ef">ICPPKernel</a>.</p>
582
583 </div>
584 </div>
585 <hr/>The documentation for this class was generated from the following file:<ul>
586 <li>arm_compute/core/NEON/kernels/<a class="el" href="_n_e_winograd_layer_kernel_8h_source.xhtml">NEWinogradLayerKernel.h</a></li>
587 </ul>
588 </div><!-- contents -->
589 </div><!-- doc-content -->
590 <!-- start footer part -->
591 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
592   <ul>
593     <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_n_e_winograd_layer_kernel.xhtml">NEWinogradLayerKernel</a></li>
594     <li class="footer">Generated on Wed Jan 24 2018 14:30:46 for Compute Library by
595     <a href="http://www.doxygen.org/index.html">
596     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
597   </ul>
598 </div>
599 </body>
600 </html>