blob: ab1a3317d3228a0950997de7e8a2fc14f710f898 [file] [log] [blame]
Jenkins514be652019-02-28 12:25:18 +00001<!-- HTML header for doxygen 1.8.15-->
2<!-- Remember to use version doxygen 1.8.15 +-->
Kaizen8938bd32017-09-28 14:38:23 +01003<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml">
5<head>
6<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
7<meta http-equiv="X-UA-Compatible" content="IE=9"/>
Jenkins514be652019-02-28 12:25:18 +00008<meta name="generator" content="Doxygen 1.8.15"/>
Kaizen8938bd32017-09-28 14:38:23 +01009<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
10<title>Compute Library: src/core/CL/cl_kernels/depthwise_convolution.cl File Reference</title>
11<link href="tabs.css" rel="stylesheet" type="text/css"/>
12<script type="text/javascript" src="jquery.js"></script>
13<script type="text/javascript" src="dynsections.js"></script>
14<link href="navtree.css" rel="stylesheet" type="text/css"/>
15<script type="text/javascript" src="resize.js"></script>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000016<script type="text/javascript" src="navtreedata.js"></script>
Kaizen8938bd32017-09-28 14:38:23 +010017<script type="text/javascript" src="navtree.js"></script>
18<script type="text/javascript">
Jenkins514be652019-02-28 12:25:18 +000019/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
Kaizen8938bd32017-09-28 14:38:23 +010020 $(document).ready(initResizable);
Jenkins514be652019-02-28 12:25:18 +000021/* @license-end */</script>
Kaizen8938bd32017-09-28 14:38:23 +010022<link href="search/search.css" rel="stylesheet" type="text/css"/>
Anthony Barbier8140e1e2017-12-14 23:48:46 +000023<script type="text/javascript" src="search/searchdata.js"></script>
Kaizen8938bd32017-09-28 14:38:23 +010024<script type="text/javascript" src="search/search.js"></script>
Kaizen8938bd32017-09-28 14:38:23 +010025<script type="text/x-mathjax-config">
26 MathJax.Hub.Config({
27 extensions: ["tex2jax.js"],
28 jax: ["input/TeX","output/HTML-CSS"],
29});
Jenkins514be652019-02-28 12:25:18 +000030</script><script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
Kaizen8938bd32017-09-28 14:38:23 +010031<link href="doxygen.css" rel="stylesheet" type="text/css" />
Jenkins514be652019-02-28 12:25:18 +000032<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
Kaizen8938bd32017-09-28 14:38:23 +010033</head>
34<body>
35<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
36<div id="titlearea">
37<table cellspacing="0" cellpadding="0">
38 <tbody>
39 <tr style="height: 56px;">
Jenkins514be652019-02-28 12:25:18 +000040 <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"/>
Kaizen8938bd32017-09-28 14:38:23 +010041 <td style="padding-left: 0.5em;">
Jenkins514be652019-02-28 12:25:18 +000042 <div id="projectname">
Jenkins0e205f72019-11-28 16:53:35 +000043 &#160;<span id="projectnumber">19.11</span>
Kaizen8938bd32017-09-28 14:38:23 +010044 </div>
45 </td>
46 </tr>
47 </tbody>
48</table>
49</div>
50<!-- end header part -->
Jenkins514be652019-02-28 12:25:18 +000051<!-- Generated by Doxygen 1.8.15 -->
Kaizen8938bd32017-09-28 14:38:23 +010052<script type="text/javascript">
Jenkins514be652019-02-28 12:25:18 +000053/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
Kaizen8938bd32017-09-28 14:38:23 +010054var searchBox = new SearchBox("searchBox", "search",false,'Search');
Jenkins514be652019-02-28 12:25:18 +000055/* @license-end */
Kaizen8938bd32017-09-28 14:38:23 +010056</script>
Jenkinsb9abeae2018-11-22 11:58:08 +000057<script type="text/javascript" src="menudata.js"></script>
58<script type="text/javascript" src="menu.js"></script>
59<script type="text/javascript">
Jenkins514be652019-02-28 12:25:18 +000060/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
Jenkinsb9abeae2018-11-22 11:58:08 +000061$(function() {
62 initMenu('',true,false,'search.php','Search');
63 $(document).ready(function() { init_search(); });
64});
Jenkins514be652019-02-28 12:25:18 +000065/* @license-end */</script>
Jenkinsb9abeae2018-11-22 11:58:08 +000066<div id="main-nav"></div>
Kaizen8938bd32017-09-28 14:38:23 +010067</div><!-- top -->
68<div id="side-nav" class="ui-resizable side-nav-resizable">
69 <div id="nav-tree">
70 <div id="nav-tree-contents">
71 <div id="nav-sync" class="sync"></div>
72 </div>
73 </div>
74 <div id="splitbar" style="-moz-user-select:none;"
75 class="ui-resizable-handle">
76 </div>
77</div>
78<script type="text/javascript">
Jenkins514be652019-02-28 12:25:18 +000079/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
Kaizen8938bd32017-09-28 14:38:23 +010080$(document).ready(function(){initNavTree('depthwise__convolution_8cl.xhtml','');});
Jenkins514be652019-02-28 12:25:18 +000081/* @license-end */
Kaizen8938bd32017-09-28 14:38:23 +010082</script>
83<div id="doc-content">
84<!-- window showing the filter options -->
85<div id="MSearchSelectWindow"
86 onmouseover="return searchBox.OnSearchSelectShow()"
87 onmouseout="return searchBox.OnSearchSelectHide()"
88 onkeydown="return searchBox.OnSearchSelectKey(event)">
Anthony Barbier8140e1e2017-12-14 23:48:46 +000089</div>
Kaizen8938bd32017-09-28 14:38:23 +010090
91<!-- iframe showing the search results (closed by default) -->
92<div id="MSearchResultsWindow">
93<iframe src="javascript:void(0)" frameborder="0"
94 name="MSearchResults" id="MSearchResults">
95</iframe>
96</div>
97
98<div class="header">
Jenkins52ba29e2018-08-29 15:32:11 +000099 <div class="summary">
Jenkins4ba87db2019-05-23 17:11:51 +0100100<a href="#define-members">Macros</a> &#124;
101<a href="#func-members">Functions</a> </div>
Kaizen8938bd32017-09-28 14:38:23 +0100102 <div class="headertitle">
103<div class="title">depthwise_convolution.cl File Reference</div> </div>
104</div><!--header-->
105<div class="contents">
Jenkinsb9abeae2018-11-22 11:58:08 +0000106<div class="textblock"><code>#include &quot;<a class="el" href="src_2core_2_c_l_2cl__kernels_2_helpers_8h_source.xhtml">helpers.h</a>&quot;</code><br />
Jenkins975dfe12019-09-02 11:47:54 +0100107<code>#include &quot;<a class="el" href="activation__float__helpers_8h_source.xhtml">activation_float_helpers.h</a>&quot;</code><br />
Kaizen8938bd32017-09-28 14:38:23 +0100108</div>
109<p><a href="depthwise__convolution_8cl_source.xhtml">Go to the source code of this file.</a></p>
Jenkins52ba29e2018-08-29 15:32:11 +0000110<table class="memberdecls">
111<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
112Macros</h2></td></tr>
Jenkins4ba87db2019-05-23 17:11:51 +0100113<tr class="memitem:ae40b0f25b3985d4853b944151ffddb44"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="depthwise__convolution_8cl.xhtml#ae40b0f25b3985d4853b944151ffddb44">CONVOLUTION1x3_BIFROST2X1_STRIDE1</a>(acc, src0_left, src0_mid, src0_right, weights_row0)</td></tr>
114<tr class="separator:ae40b0f25b3985d4853b944151ffddb44"><td class="memSeparator" colspan="2">&#160;</td></tr>
115<tr class="memitem:a2da35283a28c35fd9f8b0d534e5a5a44"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="depthwise__convolution_8cl.xhtml#a2da35283a28c35fd9f8b0d534e5a5a44">CONVOLUTION1x3_BIFROST2X1_STRIDE2</a>(acc, src0_left, src0_mid, src0_right, weights_row0)</td></tr>
116<tr class="separator:a2da35283a28c35fd9f8b0d534e5a5a44"><td class="memSeparator" colspan="2">&#160;</td></tr>
117<tr class="memitem:a0916b921e5c01cc64afede6dc7bd5caa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="depthwise__convolution_8cl.xhtml#a0916b921e5c01cc64afede6dc7bd5caa">CONVOLUTION1x3_BIFROST4X1_STRIDE1</a>(acc, src0_left, src0_mid, src0_right, weights_row0)</td></tr>
118<tr class="separator:a0916b921e5c01cc64afede6dc7bd5caa"><td class="memSeparator" colspan="2">&#160;</td></tr>
119<tr class="memitem:aa18ba8a4892890c942fea83c5cad8dbc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="depthwise__convolution_8cl.xhtml#aa18ba8a4892890c942fea83c5cad8dbc">CONVOLUTION1x3_BIFROST4X1_STRIDE2</a>(acc, src0_left, src0_mid, src0_right, weights_row0)</td></tr>
120<tr class="separator:aa18ba8a4892890c942fea83c5cad8dbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins4ba87db2019-05-23 17:11:51 +0100121</table><table class="memberdecls">
122<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
123Functions</h2></td></tr>
124<tr class="memitem:a4201b7aeda129409f16dd5a5cfe56450"><td class="memItemLeft" align="right" valign="top">__global uchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="depthwise__convolution_8cl.xhtml#a4201b7aeda129409f16dd5a5cfe56450">ptr_offset</a> (__global uchar *ptr, const int x, const int y, const int stride_x, const int stride_y)</td></tr>
125<tr class="memdesc:a4201b7aeda129409f16dd5a5cfe56450"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pointer position at a certain offset in x and y direction. <a href="#a4201b7aeda129409f16dd5a5cfe56450">More...</a><br /></td></tr>
126<tr class="separator:a4201b7aeda129409f16dd5a5cfe56450"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +0000127</table>
128<h2 class="groupheader">Macro Definition Documentation</h2>
Jenkins4ba87db2019-05-23 17:11:51 +0100129<a id="ae40b0f25b3985d4853b944151ffddb44"></a>
130<h2 class="memtitle"><span class="permalink"><a href="#ae40b0f25b3985d4853b944151ffddb44">&#9670;&nbsp;</a></span>CONVOLUTION1x3_BIFROST2X1_STRIDE1</h2>
131
132<div class="memitem">
133<div class="memproto">
134 <table class="memname">
135 <tr>
136 <td class="memname">#define CONVOLUTION1x3_BIFROST2X1_STRIDE1</td>
137 <td>(</td>
138 <td class="paramtype">&#160;</td>
139 <td class="paramname">acc, </td>
140 </tr>
141 <tr>
142 <td class="paramkey"></td>
143 <td></td>
144 <td class="paramtype">&#160;</td>
145 <td class="paramname">src0_left, </td>
146 </tr>
147 <tr>
148 <td class="paramkey"></td>
149 <td></td>
150 <td class="paramtype">&#160;</td>
151 <td class="paramname">src0_mid, </td>
152 </tr>
153 <tr>
154 <td class="paramkey"></td>
155 <td></td>
156 <td class="paramtype">&#160;</td>
157 <td class="paramname">src0_right, </td>
158 </tr>
159 <tr>
160 <td class="paramkey"></td>
161 <td></td>
162 <td class="paramtype">&#160;</td>
163 <td class="paramname">weights_row0&#160;</td>
164 </tr>
165 <tr>
166 <td></td>
167 <td>)</td>
168 <td></td><td></td>
169 </tr>
170 </table>
171</div><div class="memdoc">
Jenkins0e205f72019-11-28 16:53:35 +0000172<b>Value:</b><div class="fragment"><div class="line">({ \</div><div class="line"> acc.s0 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_left.s0, weights_row0.s0, acc.s0); \</div><div class="line"> acc.s0 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_mid.s0, weights_row0.s1, acc.s0); \</div><div class="line"> acc.s0 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_right.s0, weights_row0.s2, acc.s0); \</div><div class="line"> acc.s1 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_left.s1, weights_row0.s0, acc.s1); \</div><div class="line"> acc.s1 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_mid.s1, weights_row0.s1, acc.s1); \</div><div class="line"> acc.s1 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_right.s1, weights_row0.s2, acc.s1); \</div><div class="line"> })</div><div class="ttc" id="namespacearm__compute_1_1support_1_1cpp11_xhtml_af399bedeaeb8dc177d3a301a12c3a5d0"><div class="ttname"><a href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">arm_compute::support::cpp11::fma</a></div><div class="ttdeci">T fma(T x, T y, T z)</div><div class="ttdoc">Computes (x*y) + z as if to infinite precision and rounded only once to fit the result type.</div><div class="ttdef"><b>Definition:</b> <a href="_toolchain_support_8h_source.xhtml#l00370">ToolchainSupport.h:370</a></div></div>
Jenkins975dfe12019-09-02 11:47:54 +0100173</div><!-- fragment -->
Jenkins0e205f72019-11-28 16:53:35 +0000174<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00099">99</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins4ba87db2019-05-23 17:11:51 +0100175
176</div>
177</div>
178<a id="a2da35283a28c35fd9f8b0d534e5a5a44"></a>
179<h2 class="memtitle"><span class="permalink"><a href="#a2da35283a28c35fd9f8b0d534e5a5a44">&#9670;&nbsp;</a></span>CONVOLUTION1x3_BIFROST2X1_STRIDE2</h2>
180
181<div class="memitem">
182<div class="memproto">
183 <table class="memname">
184 <tr>
185 <td class="memname">#define CONVOLUTION1x3_BIFROST2X1_STRIDE2</td>
186 <td>(</td>
187 <td class="paramtype">&#160;</td>
188 <td class="paramname">acc, </td>
189 </tr>
190 <tr>
191 <td class="paramkey"></td>
192 <td></td>
193 <td class="paramtype">&#160;</td>
194 <td class="paramname">src0_left, </td>
195 </tr>
196 <tr>
197 <td class="paramkey"></td>
198 <td></td>
199 <td class="paramtype">&#160;</td>
200 <td class="paramname">src0_mid, </td>
201 </tr>
202 <tr>
203 <td class="paramkey"></td>
204 <td></td>
205 <td class="paramtype">&#160;</td>
206 <td class="paramname">src0_right, </td>
207 </tr>
208 <tr>
209 <td class="paramkey"></td>
210 <td></td>
211 <td class="paramtype">&#160;</td>
212 <td class="paramname">weights_row0&#160;</td>
213 </tr>
214 <tr>
215 <td></td>
216 <td>)</td>
217 <td></td><td></td>
218 </tr>
219 </table>
220</div><div class="memdoc">
Jenkins0e205f72019-11-28 16:53:35 +0000221<b>Value:</b><div class="fragment"><div class="line">({ \</div><div class="line"> acc.s0 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_left.s0, weights_row0.s0, acc.s0); \</div><div class="line"> acc.s0 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_mid.s0, weights_row0.s1, acc.s0); \</div><div class="line"> acc.s0 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_right.s0, weights_row0.s2, acc.s0); \</div><div class="line"> acc.s1 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_left.s2, weights_row0.s0, acc.s1); \</div><div class="line"> acc.s1 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_mid.s2, weights_row0.s1, acc.s1); \</div><div class="line"> acc.s1 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_right.s2, weights_row0.s2, acc.s1); \</div><div class="line"> })</div><div class="ttc" id="namespacearm__compute_1_1support_1_1cpp11_xhtml_af399bedeaeb8dc177d3a301a12c3a5d0"><div class="ttname"><a href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">arm_compute::support::cpp11::fma</a></div><div class="ttdeci">T fma(T x, T y, T z)</div><div class="ttdoc">Computes (x*y) + z as if to infinite precision and rounded only once to fit the result type.</div><div class="ttdef"><b>Definition:</b> <a href="_toolchain_support_8h_source.xhtml#l00370">ToolchainSupport.h:370</a></div></div>
Jenkins975dfe12019-09-02 11:47:54 +0100222</div><!-- fragment -->
Jenkins0e205f72019-11-28 16:53:35 +0000223<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00109">109</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins4ba87db2019-05-23 17:11:51 +0100224
225</div>
226</div>
227<a id="a0916b921e5c01cc64afede6dc7bd5caa"></a>
228<h2 class="memtitle"><span class="permalink"><a href="#a0916b921e5c01cc64afede6dc7bd5caa">&#9670;&nbsp;</a></span>CONVOLUTION1x3_BIFROST4X1_STRIDE1</h2>
229
230<div class="memitem">
231<div class="memproto">
232 <table class="memname">
233 <tr>
234 <td class="memname">#define CONVOLUTION1x3_BIFROST4X1_STRIDE1</td>
235 <td>(</td>
236 <td class="paramtype">&#160;</td>
237 <td class="paramname">acc, </td>
238 </tr>
239 <tr>
240 <td class="paramkey"></td>
241 <td></td>
242 <td class="paramtype">&#160;</td>
243 <td class="paramname">src0_left, </td>
244 </tr>
245 <tr>
246 <td class="paramkey"></td>
247 <td></td>
248 <td class="paramtype">&#160;</td>
249 <td class="paramname">src0_mid, </td>
250 </tr>
251 <tr>
252 <td class="paramkey"></td>
253 <td></td>
254 <td class="paramtype">&#160;</td>
255 <td class="paramname">src0_right, </td>
256 </tr>
257 <tr>
258 <td class="paramkey"></td>
259 <td></td>
260 <td class="paramtype">&#160;</td>
261 <td class="paramname">weights_row0&#160;</td>
262 </tr>
263 <tr>
264 <td></td>
265 <td>)</td>
266 <td></td><td></td>
267 </tr>
268 </table>
269</div><div class="memdoc">
Jenkins0e205f72019-11-28 16:53:35 +0000270<b>Value:</b><div class="fragment"><div class="line">({ \</div><div class="line"> acc.s0 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_left.s0, weights_row0.s0, acc.s0); \</div><div class="line"> acc.s0 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_mid.s0, weights_row0.s1, acc.s0); \</div><div class="line"> acc.s0 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_right.s0, weights_row0.s2, acc.s0); \</div><div class="line"> acc.s1 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_left.s1, weights_row0.s0, acc.s1); \</div><div class="line"> acc.s1 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_mid.s1, weights_row0.s1, acc.s1); \</div><div class="line"> acc.s1 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_right.s1, weights_row0.s2, acc.s1); \</div><div class="line"> acc.s2 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_left.s2, weights_row0.s0, acc.s2); \</div><div class="line"> acc.s2 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_mid.s2, weights_row0.s1, acc.s2); \</div><div class="line"> acc.s2 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_right.s2, weights_row0.s2, acc.s2); \</div><div class="line"> acc.s3 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_left.s3, weights_row0.s0, acc.s3); \</div><div class="line"> acc.s3 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_mid.s3, weights_row0.s1, acc.s3); \</div><div class="line"> acc.s3 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_right.s3, weights_row0.s2, acc.s3); \</div><div class="line"> })</div><div class="ttc" id="namespacearm__compute_1_1support_1_1cpp11_xhtml_af399bedeaeb8dc177d3a301a12c3a5d0"><div class="ttname"><a href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">arm_compute::support::cpp11::fma</a></div><div class="ttdeci">T fma(T x, T y, T z)</div><div class="ttdoc">Computes (x*y) + z as if to infinite precision and rounded only once to fit the result type.</div><div class="ttdef"><b>Definition:</b> <a href="_toolchain_support_8h_source.xhtml#l00370">ToolchainSupport.h:370</a></div></div>
Jenkins975dfe12019-09-02 11:47:54 +0100271</div><!-- fragment -->
Jenkins0e205f72019-11-28 16:53:35 +0000272<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00119">119</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins4ba87db2019-05-23 17:11:51 +0100273
274</div>
275</div>
276<a id="aa18ba8a4892890c942fea83c5cad8dbc"></a>
277<h2 class="memtitle"><span class="permalink"><a href="#aa18ba8a4892890c942fea83c5cad8dbc">&#9670;&nbsp;</a></span>CONVOLUTION1x3_BIFROST4X1_STRIDE2</h2>
278
279<div class="memitem">
280<div class="memproto">
281 <table class="memname">
282 <tr>
283 <td class="memname">#define CONVOLUTION1x3_BIFROST4X1_STRIDE2</td>
284 <td>(</td>
285 <td class="paramtype">&#160;</td>
286 <td class="paramname">acc, </td>
287 </tr>
288 <tr>
289 <td class="paramkey"></td>
290 <td></td>
291 <td class="paramtype">&#160;</td>
292 <td class="paramname">src0_left, </td>
293 </tr>
294 <tr>
295 <td class="paramkey"></td>
296 <td></td>
297 <td class="paramtype">&#160;</td>
298 <td class="paramname">src0_mid, </td>
299 </tr>
300 <tr>
301 <td class="paramkey"></td>
302 <td></td>
303 <td class="paramtype">&#160;</td>
304 <td class="paramname">src0_right, </td>
305 </tr>
306 <tr>
307 <td class="paramkey"></td>
308 <td></td>
309 <td class="paramtype">&#160;</td>
310 <td class="paramname">weights_row0&#160;</td>
311 </tr>
312 <tr>
313 <td></td>
314 <td>)</td>
315 <td></td><td></td>
316 </tr>
317 </table>
318</div><div class="memdoc">
Jenkins0e205f72019-11-28 16:53:35 +0000319<b>Value:</b><div class="fragment"><div class="line">({ \</div><div class="line"> acc.s0 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_left.s0, weights_row0.s0, acc.s0); \</div><div class="line"> acc.s0 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_mid.s0, weights_row0.s1, acc.s0); \</div><div class="line"> acc.s0 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_right.s0, weights_row0.s2, acc.s0); \</div><div class="line"> acc.s1 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_left.s2, weights_row0.s0, acc.s1); \</div><div class="line"> acc.s1 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_mid.s2, weights_row0.s1, acc.s1); \</div><div class="line"> acc.s1 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_right.s2, weights_row0.s2, acc.s1); \</div><div class="line"> acc.s2 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_left.s4, weights_row0.s0, acc.s2); \</div><div class="line"> acc.s2 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_mid.s4, weights_row0.s1, acc.s2); \</div><div class="line"> acc.s2 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_right.s4, weights_row0.s2, acc.s2); \</div><div class="line"> acc.s3 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_left.s6, weights_row0.s0, acc.s3); \</div><div class="line"> acc.s3 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_mid.s6, weights_row0.s1, acc.s3); \</div><div class="line"> acc.s3 = <a class="code" href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">fma</a>(src0_right.s6, weights_row0.s2, acc.s3); \</div><div class="line"> })</div><div class="ttc" id="namespacearm__compute_1_1support_1_1cpp11_xhtml_af399bedeaeb8dc177d3a301a12c3a5d0"><div class="ttname"><a href="namespacearm__compute_1_1support_1_1cpp11.xhtml#af399bedeaeb8dc177d3a301a12c3a5d0">arm_compute::support::cpp11::fma</a></div><div class="ttdeci">T fma(T x, T y, T z)</div><div class="ttdoc">Computes (x*y) + z as if to infinite precision and rounded only once to fit the result type.</div><div class="ttdef"><b>Definition:</b> <a href="_toolchain_support_8h_source.xhtml#l00370">ToolchainSupport.h:370</a></div></div>
Jenkins975dfe12019-09-02 11:47:54 +0100320</div><!-- fragment -->
Jenkins0e205f72019-11-28 16:53:35 +0000321<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00135">135</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +0000322
323</div>
324</div>
Jenkins4ba87db2019-05-23 17:11:51 +0100325<h2 class="groupheader">Function Documentation</h2>
326<a id="a4201b7aeda129409f16dd5a5cfe56450"></a>
327<h2 class="memtitle"><span class="permalink"><a href="#a4201b7aeda129409f16dd5a5cfe56450">&#9670;&nbsp;</a></span>ptr_offset()</h2>
328
329<div class="memitem">
330<div class="memproto">
331<table class="mlabels">
332 <tr>
333 <td class="mlabels-left">
334 <table class="memname">
335 <tr>
336 <td class="memname">__global uchar* ptr_offset </td>
337 <td>(</td>
338 <td class="paramtype">__global uchar *&#160;</td>
339 <td class="paramname"><em>ptr</em>, </td>
340 </tr>
341 <tr>
342 <td class="paramkey"></td>
343 <td></td>
344 <td class="paramtype">const int&#160;</td>
345 <td class="paramname"><em>x</em>, </td>
346 </tr>
347 <tr>
348 <td class="paramkey"></td>
349 <td></td>
350 <td class="paramtype">const int&#160;</td>
351 <td class="paramname"><em>y</em>, </td>
352 </tr>
353 <tr>
354 <td class="paramkey"></td>
355 <td></td>
356 <td class="paramtype">const int&#160;</td>
357 <td class="paramname"><em>stride_x</em>, </td>
358 </tr>
359 <tr>
360 <td class="paramkey"></td>
361 <td></td>
362 <td class="paramtype">const int&#160;</td>
363 <td class="paramname"><em>stride_y</em>&#160;</td>
364 </tr>
365 <tr>
366 <td></td>
367 <td>)</td>
368 <td></td><td></td>
369 </tr>
370 </table>
371 </td>
372 <td class="mlabels-right">
373<span class="mlabels"><span class="mlabel">inline</span></span> </td>
374 </tr>
375</table>
376</div><div class="memdoc">
377
378<p>Get the pointer position at a certain offset in x and y direction. </p>
379<dl class="params"><dt>Parameters</dt><dd>
380 <table class="params">
381 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting position of the buffer </td></tr>
382 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
383 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Relative Y position </td></tr>
384 <tr><td class="paramdir">[in]</td><td class="paramname">stride_x</td><td>Stride of the source tensor in X dimension (in bytes) </td></tr>
385 <tr><td class="paramdir">[in]</td><td class="paramname">stride_y</td><td>Stride of the source tensor in Y dimension (in bytes)</td></tr>
386 </table>
387 </dd>
388</dl>
389<dl class="section return"><dt>Returns</dt><dd>a uchar </dd></dl>
390
Jenkins0e205f72019-11-28 16:53:35 +0000391<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00038">38</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
392<div class="fragment"><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">return</span> ptr + x * stride_x + y * stride_y;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;}</div></div><!-- fragment -->
Jenkins4ba87db2019-05-23 17:11:51 +0100393</div>
394</div>
Kaizen8938bd32017-09-28 14:38:23 +0100395</div><!-- contents -->
396</div><!-- doc-content -->
397<!-- start footer part -->
398<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
399 <ul>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000400 <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.xhtml">core</a></li><li class="navelem"><a class="el" href="dir_8c278f79c760e5c5fbd911f9870614c1.xhtml">CL</a></li><li class="navelem"><a class="el" href="dir_25885286e9dad4fa105b7b25a8031bbf.xhtml">cl_kernels</a></li><li class="navelem"><a class="el" href="depthwise__convolution_8cl.xhtml">depthwise_convolution.cl</a></li>
Jenkins0e205f72019-11-28 16:53:35 +0000401 <li class="footer">Generated on Thu Nov 28 2019 16:53:07 for Compute Library by
Kaizen8938bd32017-09-28 14:38:23 +0100402 <a href="http://www.doxygen.org/index.html">
Jenkins514be652019-02-28 12:25:18 +0000403 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
Kaizen8938bd32017-09-28 14:38:23 +0100404 </ul>
405</div>
406</body>
407</html>