blob: 0f34a1885e69f30930d5c3da0ca4b117abe9af34 [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">
Jenkins975dfe12019-09-02 11:47:54 +010043 &#160;<span id="projectnumber">19.08</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>
Jenkins52ba29e2018-08-29 15:32:11 +0000121<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>
122<tr class="separator:a5447e2c4e1aae8fff9290b775fe813ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
123<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>
124<tr class="separator:ac353c0687abd8c71a4fa096d322b39ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<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>
126<tr class="separator:a32137dd220c1110408a7b498108de2c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
127<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>
128<tr class="separator:a68fce1f0ee4080ed89c9427496d625f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
129<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>
130<tr class="separator:ac8b6b732372937bba276e6391944d1e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
131<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>
132<tr class="separator:a128f47cb6aacde29e07fde2c4b9f5dd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins4ba87db2019-05-23 17:11:51 +0100133</table><table class="memberdecls">
134<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
135Functions</h2></td></tr>
136<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>
137<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>
138<tr class="separator:a4201b7aeda129409f16dd5a5cfe56450"><td class="memSeparator" colspan="2">&#160;</td></tr>
Jenkins52ba29e2018-08-29 15:32:11 +0000139</table>
140<h2 class="groupheader">Macro Definition Documentation</h2>
Jenkins4ba87db2019-05-23 17:11:51 +0100141<a id="ae40b0f25b3985d4853b944151ffddb44"></a>
142<h2 class="memtitle"><span class="permalink"><a href="#ae40b0f25b3985d4853b944151ffddb44">&#9670;&nbsp;</a></span>CONVOLUTION1x3_BIFROST2X1_STRIDE1</h2>
143
144<div class="memitem">
145<div class="memproto">
146 <table class="memname">
147 <tr>
148 <td class="memname">#define CONVOLUTION1x3_BIFROST2X1_STRIDE1</td>
149 <td>(</td>
150 <td class="paramtype">&#160;</td>
151 <td class="paramname">acc, </td>
152 </tr>
153 <tr>
154 <td class="paramkey"></td>
155 <td></td>
156 <td class="paramtype">&#160;</td>
157 <td class="paramname">src0_left, </td>
158 </tr>
159 <tr>
160 <td class="paramkey"></td>
161 <td></td>
162 <td class="paramtype">&#160;</td>
163 <td class="paramname">src0_mid, </td>
164 </tr>
165 <tr>
166 <td class="paramkey"></td>
167 <td></td>
168 <td class="paramtype">&#160;</td>
169 <td class="paramname">src0_right, </td>
170 </tr>
171 <tr>
172 <td class="paramkey"></td>
173 <td></td>
174 <td class="paramtype">&#160;</td>
175 <td class="paramname">weights_row0&#160;</td>
176 </tr>
177 <tr>
178 <td></td>
179 <td>)</td>
180 <td></td><td></td>
181 </tr>
182 </table>
183</div><div class="memdoc">
Jenkins975dfe12019-09-02 11:47:54 +0100184<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#l00336">ToolchainSupport.h:336</a></div></div>
185</div><!-- fragment -->
186<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00100">100</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins4ba87db2019-05-23 17:11:51 +0100187
188</div>
189</div>
190<a id="a2da35283a28c35fd9f8b0d534e5a5a44"></a>
191<h2 class="memtitle"><span class="permalink"><a href="#a2da35283a28c35fd9f8b0d534e5a5a44">&#9670;&nbsp;</a></span>CONVOLUTION1x3_BIFROST2X1_STRIDE2</h2>
192
193<div class="memitem">
194<div class="memproto">
195 <table class="memname">
196 <tr>
197 <td class="memname">#define CONVOLUTION1x3_BIFROST2X1_STRIDE2</td>
198 <td>(</td>
199 <td class="paramtype">&#160;</td>
200 <td class="paramname">acc, </td>
201 </tr>
202 <tr>
203 <td class="paramkey"></td>
204 <td></td>
205 <td class="paramtype">&#160;</td>
206 <td class="paramname">src0_left, </td>
207 </tr>
208 <tr>
209 <td class="paramkey"></td>
210 <td></td>
211 <td class="paramtype">&#160;</td>
212 <td class="paramname">src0_mid, </td>
213 </tr>
214 <tr>
215 <td class="paramkey"></td>
216 <td></td>
217 <td class="paramtype">&#160;</td>
218 <td class="paramname">src0_right, </td>
219 </tr>
220 <tr>
221 <td class="paramkey"></td>
222 <td></td>
223 <td class="paramtype">&#160;</td>
224 <td class="paramname">weights_row0&#160;</td>
225 </tr>
226 <tr>
227 <td></td>
228 <td>)</td>
229 <td></td><td></td>
230 </tr>
231 </table>
232</div><div class="memdoc">
Jenkins975dfe12019-09-02 11:47:54 +0100233<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#l00336">ToolchainSupport.h:336</a></div></div>
234</div><!-- fragment -->
235<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00110">110</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins4ba87db2019-05-23 17:11:51 +0100236
237</div>
238</div>
239<a id="a0916b921e5c01cc64afede6dc7bd5caa"></a>
240<h2 class="memtitle"><span class="permalink"><a href="#a0916b921e5c01cc64afede6dc7bd5caa">&#9670;&nbsp;</a></span>CONVOLUTION1x3_BIFROST4X1_STRIDE1</h2>
241
242<div class="memitem">
243<div class="memproto">
244 <table class="memname">
245 <tr>
246 <td class="memname">#define CONVOLUTION1x3_BIFROST4X1_STRIDE1</td>
247 <td>(</td>
248 <td class="paramtype">&#160;</td>
249 <td class="paramname">acc, </td>
250 </tr>
251 <tr>
252 <td class="paramkey"></td>
253 <td></td>
254 <td class="paramtype">&#160;</td>
255 <td class="paramname">src0_left, </td>
256 </tr>
257 <tr>
258 <td class="paramkey"></td>
259 <td></td>
260 <td class="paramtype">&#160;</td>
261 <td class="paramname">src0_mid, </td>
262 </tr>
263 <tr>
264 <td class="paramkey"></td>
265 <td></td>
266 <td class="paramtype">&#160;</td>
267 <td class="paramname">src0_right, </td>
268 </tr>
269 <tr>
270 <td class="paramkey"></td>
271 <td></td>
272 <td class="paramtype">&#160;</td>
273 <td class="paramname">weights_row0&#160;</td>
274 </tr>
275 <tr>
276 <td></td>
277 <td>)</td>
278 <td></td><td></td>
279 </tr>
280 </table>
281</div><div class="memdoc">
Jenkins975dfe12019-09-02 11:47:54 +0100282<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#l00336">ToolchainSupport.h:336</a></div></div>
283</div><!-- fragment -->
284<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00120">120</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins4ba87db2019-05-23 17:11:51 +0100285
286</div>
287</div>
288<a id="aa18ba8a4892890c942fea83c5cad8dbc"></a>
289<h2 class="memtitle"><span class="permalink"><a href="#aa18ba8a4892890c942fea83c5cad8dbc">&#9670;&nbsp;</a></span>CONVOLUTION1x3_BIFROST4X1_STRIDE2</h2>
290
291<div class="memitem">
292<div class="memproto">
293 <table class="memname">
294 <tr>
295 <td class="memname">#define CONVOLUTION1x3_BIFROST4X1_STRIDE2</td>
296 <td>(</td>
297 <td class="paramtype">&#160;</td>
298 <td class="paramname">acc, </td>
299 </tr>
300 <tr>
301 <td class="paramkey"></td>
302 <td></td>
303 <td class="paramtype">&#160;</td>
304 <td class="paramname">src0_left, </td>
305 </tr>
306 <tr>
307 <td class="paramkey"></td>
308 <td></td>
309 <td class="paramtype">&#160;</td>
310 <td class="paramname">src0_mid, </td>
311 </tr>
312 <tr>
313 <td class="paramkey"></td>
314 <td></td>
315 <td class="paramtype">&#160;</td>
316 <td class="paramname">src0_right, </td>
317 </tr>
318 <tr>
319 <td class="paramkey"></td>
320 <td></td>
321 <td class="paramtype">&#160;</td>
322 <td class="paramname">weights_row0&#160;</td>
323 </tr>
324 <tr>
325 <td></td>
326 <td>)</td>
327 <td></td><td></td>
328 </tr>
329 </table>
330</div><div class="memdoc">
Jenkins975dfe12019-09-02 11:47:54 +0100331<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#l00336">ToolchainSupport.h:336</a></div></div>
332</div><!-- fragment -->
333<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00136">136</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins4ba87db2019-05-23 17:11:51 +0100334
335</div>
336</div>
Jenkinsb9abeae2018-11-22 11:58:08 +0000337<a id="a5447e2c4e1aae8fff9290b775fe813ff"></a>
338<h2 class="memtitle"><span class="permalink"><a href="#a5447e2c4e1aae8fff9290b775fe813ff">&#9670;&nbsp;</a></span>in_stride_x</h2>
339
Jenkins52ba29e2018-08-29 15:32:11 +0000340<div class="memitem">
341<div class="memproto">
342 <table class="memname">
343 <tr>
344 <td class="memname">#define in_stride_x&#160;&#160;&#160;src_stride_y</td>
345 </tr>
346 </table>
347</div><div class="memdoc">
348
Jenkins975dfe12019-09-02 11:47:54 +0100349<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 +0000350
351</div>
352</div>
Jenkinsb9abeae2018-11-22 11:58:08 +0000353<a id="ac353c0687abd8c71a4fa096d322b39ec"></a>
354<h2 class="memtitle"><span class="permalink"><a href="#ac353c0687abd8c71a4fa096d322b39ec">&#9670;&nbsp;</a></span>in_stride_y</h2>
355
Jenkins52ba29e2018-08-29 15:32:11 +0000356<div class="memitem">
357<div class="memproto">
358 <table class="memname">
359 <tr>
360 <td class="memname">#define in_stride_y&#160;&#160;&#160;src_stride_z</td>
361 </tr>
362 </table>
363</div><div class="memdoc">
364
Jenkins975dfe12019-09-02 11:47:54 +0100365<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 +0000366
367</div>
368</div>
Jenkinsb9abeae2018-11-22 11:58:08 +0000369<a id="a32137dd220c1110408a7b498108de2c5"></a>
370<h2 class="memtitle"><span class="permalink"><a href="#a32137dd220c1110408a7b498108de2c5">&#9670;&nbsp;</a></span>in_stride_z</h2>
371
Jenkins52ba29e2018-08-29 15:32:11 +0000372<div class="memitem">
373<div class="memproto">
374 <table class="memname">
375 <tr>
376 <td class="memname">#define in_stride_z&#160;&#160;&#160;src_stride_x</td>
377 </tr>
378 </table>
379</div><div class="memdoc">
380
Jenkins975dfe12019-09-02 11:47:54 +0100381<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 +0000382
383</div>
384</div>
Jenkinsb9abeae2018-11-22 11:58:08 +0000385<a id="a68fce1f0ee4080ed89c9427496d625f2"></a>
386<h2 class="memtitle"><span class="permalink"><a href="#a68fce1f0ee4080ed89c9427496d625f2">&#9670;&nbsp;</a></span>out_stride_x</h2>
387
Jenkins52ba29e2018-08-29 15:32:11 +0000388<div class="memitem">
389<div class="memproto">
390 <table class="memname">
391 <tr>
392 <td class="memname">#define out_stride_x&#160;&#160;&#160;dst_stride_y</td>
393 </tr>
394 </table>
395</div><div class="memdoc">
396
Jenkins975dfe12019-09-02 11:47:54 +0100397<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 +0000398
399</div>
400</div>
Jenkinsb9abeae2018-11-22 11:58:08 +0000401<a id="ac8b6b732372937bba276e6391944d1e1"></a>
402<h2 class="memtitle"><span class="permalink"><a href="#ac8b6b732372937bba276e6391944d1e1">&#9670;&nbsp;</a></span>out_stride_y</h2>
403
Jenkins52ba29e2018-08-29 15:32:11 +0000404<div class="memitem">
405<div class="memproto">
406 <table class="memname">
407 <tr>
408 <td class="memname">#define out_stride_y&#160;&#160;&#160;dst_stride_z</td>
409 </tr>
410 </table>
411</div><div class="memdoc">
412
Jenkins975dfe12019-09-02 11:47:54 +0100413<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 +0000414
415</div>
416</div>
Jenkinsb9abeae2018-11-22 11:58:08 +0000417<a id="a128f47cb6aacde29e07fde2c4b9f5dd2"></a>
418<h2 class="memtitle"><span class="permalink"><a href="#a128f47cb6aacde29e07fde2c4b9f5dd2">&#9670;&nbsp;</a></span>out_stride_z</h2>
419
Jenkins52ba29e2018-08-29 15:32:11 +0000420<div class="memitem">
421<div class="memproto">
422 <table class="memname">
423 <tr>
424 <td class="memname">#define out_stride_z&#160;&#160;&#160;dst_stride_x</td>
425 </tr>
426 </table>
427</div><div class="memdoc">
428
Jenkins975dfe12019-09-02 11:47:54 +0100429<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00799">799</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
Jenkins52ba29e2018-08-29 15:32:11 +0000430
431</div>
432</div>
Jenkins4ba87db2019-05-23 17:11:51 +0100433<h2 class="groupheader">Function Documentation</h2>
434<a id="a4201b7aeda129409f16dd5a5cfe56450"></a>
435<h2 class="memtitle"><span class="permalink"><a href="#a4201b7aeda129409f16dd5a5cfe56450">&#9670;&nbsp;</a></span>ptr_offset()</h2>
436
437<div class="memitem">
438<div class="memproto">
439<table class="mlabels">
440 <tr>
441 <td class="mlabels-left">
442 <table class="memname">
443 <tr>
444 <td class="memname">__global uchar* ptr_offset </td>
445 <td>(</td>
446 <td class="paramtype">__global uchar *&#160;</td>
447 <td class="paramname"><em>ptr</em>, </td>
448 </tr>
449 <tr>
450 <td class="paramkey"></td>
451 <td></td>
452 <td class="paramtype">const int&#160;</td>
453 <td class="paramname"><em>x</em>, </td>
454 </tr>
455 <tr>
456 <td class="paramkey"></td>
457 <td></td>
458 <td class="paramtype">const int&#160;</td>
459 <td class="paramname"><em>y</em>, </td>
460 </tr>
461 <tr>
462 <td class="paramkey"></td>
463 <td></td>
464 <td class="paramtype">const int&#160;</td>
465 <td class="paramname"><em>stride_x</em>, </td>
466 </tr>
467 <tr>
468 <td class="paramkey"></td>
469 <td></td>
470 <td class="paramtype">const int&#160;</td>
471 <td class="paramname"><em>stride_y</em>&#160;</td>
472 </tr>
473 <tr>
474 <td></td>
475 <td>)</td>
476 <td></td><td></td>
477 </tr>
478 </table>
479 </td>
480 <td class="mlabels-right">
481<span class="mlabels"><span class="mlabel">inline</span></span> </td>
482 </tr>
483</table>
484</div><div class="memdoc">
485
486<p>Get the pointer position at a certain offset in x and y direction. </p>
487<dl class="params"><dt>Parameters</dt><dd>
488 <table class="params">
489 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the starting position of the buffer </td></tr>
490 <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>Relative X position </td></tr>
491 <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>Relative Y position </td></tr>
492 <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>
493 <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>
494 </table>
495 </dd>
496</dl>
497<dl class="section return"><dt>Returns</dt><dd>a uchar </dd></dl>
498
Jenkins975dfe12019-09-02 11:47:54 +0100499<p class="definition">Definition at line <a class="el" href="depthwise__convolution_8cl_source.xhtml#l00039">39</a> of file <a class="el" href="depthwise__convolution_8cl_source.xhtml">depthwise_convolution.cl</a>.</p>
500<div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">return</span> ptr + x * stride_x + y * stride_y;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;}</div></div><!-- fragment -->
Jenkins4ba87db2019-05-23 17:11:51 +0100501</div>
502</div>
Kaizen8938bd32017-09-28 14:38:23 +0100503</div><!-- contents -->
504</div><!-- doc-content -->
505<!-- start footer part -->
506<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
507 <ul>
Anthony Barbier8140e1e2017-12-14 23:48:46 +0000508 <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>
Jenkins975dfe12019-09-02 11:47:54 +0100509 <li class="footer">Generated on Mon Sep 2 2019 11:47:29 for Compute Library by
Kaizen8938bd32017-09-28 14:38:23 +0100510 <a href="http://www.doxygen.org/index.html">
Jenkins514be652019-02-28 12:25:18 +0000511 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
Kaizen8938bd32017-09-28 14:38:23 +0100512 </ul>
513</div>
514</body>
515</html>