blob: 891ec1bacac4e20ef8a913a16c6e12c4ca16dfb1 [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">
Jenkins4ba87db2019-05-23 17:11:51 +010043 &#160;<span id="projectnumber">19.05</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 />
Kaizen8938bd32017-09-28 14:38:23 +0100107</div>
108<p><a href="depthwise__convolution_8cl_source.xhtml">Go to the source code of this file.</a></p>
Jenkins52ba29e2018-08-29 15:32:11 +0000109<table class="memberdecls">
110<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
111Macros</h2></td></tr>
Jenkins4ba87db2019-05-23 17:11:51 +0100112<tr class="memitem:a150fbfa48767f3bf602b812f8ecb3ad9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="depthwise__convolution_8cl.xhtml#a150fbfa48767f3bf602b812f8ecb3ad9">ACTIVATION_FUNC</a>(x)&#160;&#160;&#160;(x)</td></tr>
113<tr class="separator:a150fbfa48767f3bf602b812f8ecb3ad9"><td class="memSeparator" colspan="2">&#160;</td></tr>
114<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>
115<tr class="separator:ae40b0f25b3985d4853b944151ffddb44"><td class="memSeparator" colspan="2">&#160;</td></tr>
116<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>
117<tr class="separator:a2da35283a28c35fd9f8b0d534e5a5a44"><td class="memSeparator" colspan="2">&#160;</td></tr>
118<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>
119<tr class="separator:a0916b921e5c01cc64afede6dc7bd5caa"><td class="memSeparator" colspan="2">&#160;</td></tr>
120<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>
121<tr class="separator:aa18ba8a4892890c942fea83c5cad8dbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +0000122<tr class="memitem:a5447e2c4e1aae8fff9290b775fe813ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="depthwise__convolution_8cl.xhtml#a5447e2c4e1aae8fff9290b775fe813ff">in_stride_x</a>&#160;&#160;&#160;src_stride_y</td></tr>
123<tr class="separator:a5447e2c4e1aae8fff9290b775fe813ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
124<tr class="memitem:ac353c0687abd8c71a4fa096d322b39ec"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="depthwise__convolution_8cl.xhtml#ac353c0687abd8c71a4fa096d322b39ec">in_stride_y</a>&#160;&#160;&#160;src_stride_z</td></tr>
125<tr class="separator:ac353c0687abd8c71a4fa096d322b39ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
126<tr class="memitem:a32137dd220c1110408a7b498108de2c5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="depthwise__convolution_8cl.xhtml#a32137dd220c1110408a7b498108de2c5">in_stride_z</a>&#160;&#160;&#160;src_stride_x</td></tr>
127<tr class="separator:a32137dd220c1110408a7b498108de2c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
128<tr class="memitem:a68fce1f0ee4080ed89c9427496d625f2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="depthwise__convolution_8cl.xhtml#a68fce1f0ee4080ed89c9427496d625f2">out_stride_x</a>&#160;&#160;&#160;dst_stride_y</td></tr>
129<tr class="separator:a68fce1f0ee4080ed89c9427496d625f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
130<tr class="memitem:ac8b6b732372937bba276e6391944d1e1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="depthwise__convolution_8cl.xhtml#ac8b6b732372937bba276e6391944d1e1">out_stride_y</a>&#160;&#160;&#160;dst_stride_z</td></tr>
131<tr class="separator:ac8b6b732372937bba276e6391944d1e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
132<tr class="memitem:a128f47cb6aacde29e07fde2c4b9f5dd2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="depthwise__convolution_8cl.xhtml#a128f47cb6aacde29e07fde2c4b9f5dd2">out_stride_z</a>&#160;&#160;&#160;dst_stride_x</td></tr>
133<tr class="separator:a128f47cb6aacde29e07fde2c4b9f5dd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins4ba87db2019-05-23 17:11:51 +0100134</table><table class="memberdecls">
135<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
136Functions</h2></td></tr>
137<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>
138<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>
139<tr class="separator:a4201b7aeda129409f16dd5a5cfe56450"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +0000140</table>
141<h2 class="groupheader">Macro Definition Documentation</h2>
Jenkins4ba87db2019-05-23 17:11:51 +0100142<a id="a150fbfa48767f3bf602b812f8ecb3ad9"></a>
143<h2 class="memtitle"><span class="permalink"><a href="#a150fbfa48767f3bf602b812f8ecb3ad9">&#9670;&nbsp;</a></span>ACTIVATION_FUNC</h2>
144
145<div class="memitem">
146<div class="memproto">
147 <table class="memname">
148 <tr>
149 <td class="memname">#define ACTIVATION_FUNC</td>
150 <td>(</td>
151 <td class="paramtype">&#160;</td>
152 <td class="paramname">x</td><td>)</td>
153 <td>&#160;&#160;&#160;(x)</td>
154 </tr>
155 </table>
156</div><div class="memdoc">
157
158<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00033">33</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
159
160</div>
161</div>
162<a id="ae40b0f25b3985d4853b944151ffddb44"></a>
163<h2 class="memtitle"><span class="permalink"><a href="#ae40b0f25b3985d4853b944151ffddb44">&#9670;&nbsp;</a></span>CONVOLUTION1x3_BIFROST2X1_STRIDE1</h2>
164
165<div class="memitem">
166<div class="memproto">
167 <table class="memname">
168 <tr>
169 <td class="memname">#define CONVOLUTION1x3_BIFROST2X1_STRIDE1</td>
170 <td>(</td>
171 <td class="paramtype">&#160;</td>
172 <td class="paramname">acc, </td>
173 </tr>
174 <tr>
175 <td class="paramkey"></td>
176 <td></td>
177 <td class="paramtype">&#160;</td>
178 <td class="paramname">src0_left, </td>
179 </tr>
180 <tr>
181 <td class="paramkey"></td>
182 <td></td>
183 <td class="paramtype">&#160;</td>
184 <td class="paramname">src0_mid, </td>
185 </tr>
186 <tr>
187 <td class="paramkey"></td>
188 <td></td>
189 <td class="paramtype">&#160;</td>
190 <td class="paramname">src0_right, </td>
191 </tr>
192 <tr>
193 <td class="paramkey"></td>
194 <td></td>
195 <td class="paramtype">&#160;</td>
196 <td class="paramname">weights_row0&#160;</td>
197 </tr>
198 <tr>
199 <td></td>
200 <td>)</td>
201 <td></td><td></td>
202 </tr>
203 </table>
204</div><div class="memdoc">
205<b>Value:</b><div class="fragment"><div class="line">({ \</div><div class="line"> acc.s0 = fma(src0_left.s0, weights_row0.s0, acc.s0); \</div><div class="line"> acc.s0 = fma(src0_mid.s0, weights_row0.s1, acc.s0); \</div><div class="line"> acc.s0 = fma(src0_right.s0, weights_row0.s2, acc.s0); \</div><div class="line"> acc.s1 = fma(src0_left.s1, weights_row0.s0, acc.s1); \</div><div class="line"> acc.s1 = fma(src0_mid.s1, weights_row0.s1, acc.s1); \</div><div class="line"> acc.s1 = fma(src0_right.s1, weights_row0.s2, acc.s1); \</div><div class="line"> })</div></div><!-- fragment -->
206<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00107">107</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
207
208</div>
209</div>
210<a id="a2da35283a28c35fd9f8b0d534e5a5a44"></a>
211<h2 class="memtitle"><span class="permalink"><a href="#a2da35283a28c35fd9f8b0d534e5a5a44">&#9670;&nbsp;</a></span>CONVOLUTION1x3_BIFROST2X1_STRIDE2</h2>
212
213<div class="memitem">
214<div class="memproto">
215 <table class="memname">
216 <tr>
217 <td class="memname">#define CONVOLUTION1x3_BIFROST2X1_STRIDE2</td>
218 <td>(</td>
219 <td class="paramtype">&#160;</td>
220 <td class="paramname">acc, </td>
221 </tr>
222 <tr>
223 <td class="paramkey"></td>
224 <td></td>
225 <td class="paramtype">&#160;</td>
226 <td class="paramname">src0_left, </td>
227 </tr>
228 <tr>
229 <td class="paramkey"></td>
230 <td></td>
231 <td class="paramtype">&#160;</td>
232 <td class="paramname">src0_mid, </td>
233 </tr>
234 <tr>
235 <td class="paramkey"></td>
236 <td></td>
237 <td class="paramtype">&#160;</td>
238 <td class="paramname">src0_right, </td>
239 </tr>
240 <tr>
241 <td class="paramkey"></td>
242 <td></td>
243 <td class="paramtype">&#160;</td>
244 <td class="paramname">weights_row0&#160;</td>
245 </tr>
246 <tr>
247 <td></td>
248 <td>)</td>
249 <td></td><td></td>
250 </tr>
251 </table>
252</div><div class="memdoc">
253<b>Value:</b><div class="fragment"><div class="line">({ \</div><div class="line"> acc.s0 = fma(src0_left.s0, weights_row0.s0, acc.s0); \</div><div class="line"> acc.s0 = fma(src0_mid.s0, weights_row0.s1, acc.s0); \</div><div class="line"> acc.s0 = fma(src0_right.s0, weights_row0.s2, acc.s0); \</div><div class="line"> acc.s1 = fma(src0_left.s2, weights_row0.s0, acc.s1); \</div><div class="line"> acc.s1 = fma(src0_mid.s2, weights_row0.s1, acc.s1); \</div><div class="line"> acc.s1 = fma(src0_right.s2, weights_row0.s2, acc.s1); \</div><div class="line"> })</div></div><!-- fragment -->
254<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00117">117</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
255
256</div>
257</div>
258<a id="a0916b921e5c01cc64afede6dc7bd5caa"></a>
259<h2 class="memtitle"><span class="permalink"><a href="#a0916b921e5c01cc64afede6dc7bd5caa">&#9670;&nbsp;</a></span>CONVOLUTION1x3_BIFROST4X1_STRIDE1</h2>
260
261<div class="memitem">
262<div class="memproto">
263 <table class="memname">
264 <tr>
265 <td class="memname">#define CONVOLUTION1x3_BIFROST4X1_STRIDE1</td>
266 <td>(</td>
267 <td class="paramtype">&#160;</td>
268 <td class="paramname">acc, </td>
269 </tr>
270 <tr>
271 <td class="paramkey"></td>
272 <td></td>
273 <td class="paramtype">&#160;</td>
274 <td class="paramname">src0_left, </td>
275 </tr>
276 <tr>
277 <td class="paramkey"></td>
278 <td></td>
279 <td class="paramtype">&#160;</td>
280 <td class="paramname">src0_mid, </td>
281 </tr>
282 <tr>
283 <td class="paramkey"></td>
284 <td></td>
285 <td class="paramtype">&#160;</td>
286 <td class="paramname">src0_right, </td>
287 </tr>
288 <tr>
289 <td class="paramkey"></td>
290 <td></td>
291 <td class="paramtype">&#160;</td>
292 <td class="paramname">weights_row0&#160;</td>
293 </tr>
294 <tr>
295 <td></td>
296 <td>)</td>
297 <td></td><td></td>
298 </tr>
299 </table>
300</div><div class="memdoc">
301<b>Value:</b><div class="fragment"><div class="line">({ \</div><div class="line"> acc.s0 = fma(src0_left.s0, weights_row0.s0, acc.s0); \</div><div class="line"> acc.s0 = fma(src0_mid.s0, weights_row0.s1, acc.s0); \</div><div class="line"> acc.s0 = fma(src0_right.s0, weights_row0.s2, acc.s0); \</div><div class="line"> acc.s1 = fma(src0_left.s1, weights_row0.s0, acc.s1); \</div><div class="line"> acc.s1 = fma(src0_mid.s1, weights_row0.s1, acc.s1); \</div><div class="line"> acc.s1 = fma(src0_right.s1, weights_row0.s2, acc.s1); \</div><div class="line"> acc.s2 = fma(src0_left.s2, weights_row0.s0, acc.s2); \</div><div class="line"> acc.s2 = fma(src0_mid.s2, weights_row0.s1, acc.s2); \</div><div class="line"> acc.s2 = fma(src0_right.s2, weights_row0.s2, acc.s2); \</div><div class="line"> acc.s3 = fma(src0_left.s3, weights_row0.s0, acc.s3); \</div><div class="line"> acc.s3 = fma(src0_mid.s3, weights_row0.s1, acc.s3); \</div><div class="line"> acc.s3 = fma(src0_right.s3, weights_row0.s2, acc.s3); \</div><div class="line"> })</div></div><!-- fragment -->
302<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00127">127</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
303
304</div>
305</div>
306<a id="aa18ba8a4892890c942fea83c5cad8dbc"></a>
307<h2 class="memtitle"><span class="permalink"><a href="#aa18ba8a4892890c942fea83c5cad8dbc">&#9670;&nbsp;</a></span>CONVOLUTION1x3_BIFROST4X1_STRIDE2</h2>
308
309<div class="memitem">
310<div class="memproto">
311 <table class="memname">
312 <tr>
313 <td class="memname">#define CONVOLUTION1x3_BIFROST4X1_STRIDE2</td>
314 <td>(</td>
315 <td class="paramtype">&#160;</td>
316 <td class="paramname">acc, </td>
317 </tr>
318 <tr>
319 <td class="paramkey"></td>
320 <td></td>
321 <td class="paramtype">&#160;</td>
322 <td class="paramname">src0_left, </td>
323 </tr>
324 <tr>
325 <td class="paramkey"></td>
326 <td></td>
327 <td class="paramtype">&#160;</td>
328 <td class="paramname">src0_mid, </td>
329 </tr>
330 <tr>
331 <td class="paramkey"></td>
332 <td></td>
333 <td class="paramtype">&#160;</td>
334 <td class="paramname">src0_right, </td>
335 </tr>
336 <tr>
337 <td class="paramkey"></td>
338 <td></td>
339 <td class="paramtype">&#160;</td>
340 <td class="paramname">weights_row0&#160;</td>
341 </tr>
342 <tr>
343 <td></td>
344 <td>)</td>
345 <td></td><td></td>
346 </tr>
347 </table>
348</div><div class="memdoc">
349<b>Value:</b><div class="fragment"><div class="line">({ \</div><div class="line"> acc.s0 = fma(src0_left.s0, weights_row0.s0, acc.s0); \</div><div class="line"> acc.s0 = fma(src0_mid.s0, weights_row0.s1, acc.s0); \</div><div class="line"> acc.s0 = fma(src0_right.s0, weights_row0.s2, acc.s0); \</div><div class="line"> acc.s1 = fma(src0_left.s2, weights_row0.s0, acc.s1); \</div><div class="line"> acc.s1 = fma(src0_mid.s2, weights_row0.s1, acc.s1); \</div><div class="line"> acc.s1 = fma(src0_right.s2, weights_row0.s2, acc.s1); \</div><div class="line"> acc.s2 = fma(src0_left.s4, weights_row0.s0, acc.s2); \</div><div class="line"> acc.s2 = fma(src0_mid.s4, weights_row0.s1, acc.s2); \</div><div class="line"> acc.s2 = fma(src0_right.s4, weights_row0.s2, acc.s2); \</div><div class="line"> acc.s3 = fma(src0_left.s6, weights_row0.s0, acc.s3); \</div><div class="line"> acc.s3 = fma(src0_mid.s6, weights_row0.s1, acc.s3); \</div><div class="line"> acc.s3 = fma(src0_right.s6, weights_row0.s2, acc.s3); \</div><div class="line"> })</div></div><!-- fragment -->
350<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00143">143</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
351
352</div>
353</div>
Jenkinsb9abeae2018-11-22 11:58:08 +0000354<a id="a5447e2c4e1aae8fff9290b775fe813ff"></a>
355<h2 class="memtitle"><span class="permalink"><a href="#a5447e2c4e1aae8fff9290b775fe813ff">&#9670;&nbsp;</a></span>in_stride_x</h2>
356
Jenkins52ba29e2018-08-29 15:32:11 +0000357<div class="memitem">
358<div class="memproto">
359 <table class="memname">
360 <tr>
361 <td class="memname">#define in_stride_x&#160;&#160;&#160;src_stride_y</td>
362 </tr>
363 </table>
364</div><div class="memdoc">
365
Jenkins4ba87db2019-05-23 17:11:51 +0100366<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00793">793</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +0000367
368</div>
369</div>
Jenkinsb9abeae2018-11-22 11:58:08 +0000370<a id="ac353c0687abd8c71a4fa096d322b39ec"></a>
371<h2 class="memtitle"><span class="permalink"><a href="#ac353c0687abd8c71a4fa096d322b39ec">&#9670;&nbsp;</a></span>in_stride_y</h2>
372
Jenkins52ba29e2018-08-29 15:32:11 +0000373<div class="memitem">
374<div class="memproto">
375 <table class="memname">
376 <tr>
377 <td class="memname">#define in_stride_y&#160;&#160;&#160;src_stride_z</td>
378 </tr>
379 </table>
380</div><div class="memdoc">
381
Jenkins4ba87db2019-05-23 17:11:51 +0100382<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00794">794</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +0000383
384</div>
385</div>
Jenkinsb9abeae2018-11-22 11:58:08 +0000386<a id="a32137dd220c1110408a7b498108de2c5"></a>
387<h2 class="memtitle"><span class="permalink"><a href="#a32137dd220c1110408a7b498108de2c5">&#9670;&nbsp;</a></span>in_stride_z</h2>
388
Jenkins52ba29e2018-08-29 15:32:11 +0000389<div class="memitem">
390<div class="memproto">
391 <table class="memname">
392 <tr>
393 <td class="memname">#define in_stride_z&#160;&#160;&#160;src_stride_x</td>
394 </tr>
395 </table>
396</div><div class="memdoc">
397
Jenkins4ba87db2019-05-23 17:11:51 +0100398<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00795">795</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +0000399
400</div>
401</div>
Jenkinsb9abeae2018-11-22 11:58:08 +0000402<a id="a68fce1f0ee4080ed89c9427496d625f2"></a>
403<h2 class="memtitle"><span class="permalink"><a href="#a68fce1f0ee4080ed89c9427496d625f2">&#9670;&nbsp;</a></span>out_stride_x</h2>
404
Jenkins52ba29e2018-08-29 15:32:11 +0000405<div class="memitem">
406<div class="memproto">
407 <table class="memname">
408 <tr>
409 <td class="memname">#define out_stride_x&#160;&#160;&#160;dst_stride_y</td>
410 </tr>
411 </table>
412</div><div class="memdoc">
413
Jenkins4ba87db2019-05-23 17:11:51 +0100414<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00796">796</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +0000415
416</div>
417</div>
Jenkinsb9abeae2018-11-22 11:58:08 +0000418<a id="ac8b6b732372937bba276e6391944d1e1"></a>
419<h2 class="memtitle"><span class="permalink"><a href="#ac8b6b732372937bba276e6391944d1e1">&#9670;&nbsp;</a></span>out_stride_y</h2>
420
Jenkins52ba29e2018-08-29 15:32:11 +0000421<div class="memitem">
422<div class="memproto">
423 <table class="memname">
424 <tr>
425 <td class="memname">#define out_stride_y&#160;&#160;&#160;dst_stride_z</td>
426 </tr>
427 </table>
428</div><div class="memdoc">
429
Jenkins4ba87db2019-05-23 17:11:51 +0100430<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00797">797</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +0000431
432</div>
433</div>
Jenkinsb9abeae2018-11-22 11:58:08 +0000434<a id="a128f47cb6aacde29e07fde2c4b9f5dd2"></a>
435<h2 class="memtitle"><span class="permalink"><a href="#a128f47cb6aacde29e07fde2c4b9f5dd2">&#9670;&nbsp;</a></span>out_stride_z</h2>
436
Jenkins52ba29e2018-08-29 15:32:11 +0000437<div class="memitem">
438<div class="memproto">
439 <table class="memname">
440 <tr>
441 <td class="memname">#define out_stride_z&#160;&#160;&#160;dst_stride_x</td>
442 </tr>
443 </table>
444</div><div class="memdoc">
445
Jenkins4ba87db2019-05-23 17:11:51 +0100446<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00798">798</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +0000447
448</div>
449</div>
Jenkins4ba87db2019-05-23 17:11:51 +0100450<h2 class="groupheader">Function Documentation</h2>
451<a id="a4201b7aeda129409f16dd5a5cfe56450"></a>
452<h2 class="memtitle"><span class="permalink"><a href="#a4201b7aeda129409f16dd5a5cfe56450">&#9670;&nbsp;</a></span>ptr_offset()</h2>
453
454<div class="memitem">
455<div class="memproto">
456<table class="mlabels">
457 <tr>
458 <td class="mlabels-left">
459 <table class="memname">
460 <tr>
461 <td class="memname">__global uchar* ptr_offset </td>
462 <td>(</td>
463 <td class="paramtype">__global uchar *&#160;</td>
464 <td class="paramname"><em>ptr</em>, </td>
465 </tr>
466 <tr>
467 <td class="paramkey"></td>
468 <td></td>
469 <td class="paramtype">const int&#160;</td>
470 <td class="paramname"><em>x</em>, </td>
471 </tr>
472 <tr>
473 <td class="paramkey"></td>
474 <td></td>
475 <td class="paramtype">const int&#160;</td>
476 <td class="paramname"><em>y</em>, </td>
477 </tr>
478 <tr>
479 <td class="paramkey"></td>
480 <td></td>
481 <td class="paramtype">const int&#160;</td>
482 <td class="paramname"><em>stride_x</em>, </td>
483 </tr>
484 <tr>
485 <td class="paramkey"></td>
486 <td></td>
487 <td class="paramtype">const int&#160;</td>
488 <td class="paramname"><em>stride_y</em>&#160;</td>
489 </tr>
490 <tr>
491 <td></td>
492 <td>)</td>
493 <td></td><td></td>
494 </tr>
495 </table>
496 </td>
497 <td class="mlabels-right">
498<span class="mlabels"><span class="mlabel">inline</span></span> </td>
499 </tr>
500</table>
501</div><div class="memdoc">
502
503<p>Get the pointer position at a certain offset in x and y direction. </p>
504<dl class="params"><dt>Parameters</dt><dd>
505 <table class="params">
506 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting position of the buffer </td></tr>
507 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
508 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Relative Y position </td></tr>
509 <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>
510 <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>
511 </table>
512 </dd>
513</dl>
514<dl class="section return"><dt>Returns</dt><dd>a uchar </dd></dl>
515
516<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00046">46</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
517<div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">return</span> ptr + x * stride_x + y * stride_y;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;}</div></div><!-- fragment -->
518</div>
519</div>
Kaizen8938bd32017-09-28 14:38:23 +0100520</div><!-- contents -->
521</div><!-- doc-content -->
522<!-- start footer part -->
523<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
524 <ul>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000525 <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>
Jenkins4ba87db2019-05-23 17:11:51 +0100526 <li class="footer">Generated on Thu May 23 2019 17:11:26 for Compute Library by
Kaizen8938bd32017-09-28 14:38:23 +0100527 <a href="http://www.doxygen.org/index.html">
Jenkins514be652019-02-28 12:25:18 +0000528 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
Kaizen8938bd32017-09-28 14:38:23 +0100529 </ul>
530</div>
531</body>
532</html>