blob: 068c1845405ac9bf498cfcf9dd5c75f956cb9da7 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mxnet: Dnnl_api_convolution</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">mxnet
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Dnnl_api_convolution<div class="ingroups"><a class="el" href="group__dnnl__api.html">Dnnl_api</a> &raquo; <a class="el" href="group__dnnl__api__primitives.html">Dnnl_api_primitives</a></div></div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Collaboration diagram for Dnnl_api_convolution:</div>
<div class="dyncontent">
<div class="center"><img src="group__dnnl__api__convolution.png" border="0" usemap="#group____dnnl____api____convolution" alt=""/></div>
<!-- MAP 0 -->
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdnnl__convolution__desc__t.html">dnnl_convolution_desc_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A descriptor of a convolution operation. <a href="structdnnl__convolution__desc__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga9699a81a0e3341014447e4da0cdd7e18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__convolution.html#ga9699a81a0e3341014447e4da0cdd7e18">dnnl_convolution_forward_desc_init</a> (<a class="el" href="structdnnl__convolution__desc__t.html">dnnl_convolution_desc_t</a> *conv_desc, <a class="el" href="group__dnnl__api__primitives__common.html#gae3c1f22ae55645782923fbfd8b07d0c4">dnnl_prop_kind_t</a> prop_kind, <a class="el" href="group__dnnl__api__primitives__common.html#ga96946c805f6c4922c38c37049ab95d23">dnnl_alg_kind_t</a> alg_kind, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *src_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *weights_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *bias_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *dst_desc, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> strides, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> padding_l, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> padding_r)</td></tr>
<tr class="separator:ga9699a81a0e3341014447e4da0cdd7e18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5b19353f9dfc944e1f6dc8aa1bb857d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__convolution.html#gab5b19353f9dfc944e1f6dc8aa1bb857d">dnnl_dilated_convolution_forward_desc_init</a> (<a class="el" href="structdnnl__convolution__desc__t.html">dnnl_convolution_desc_t</a> *conv_desc, <a class="el" href="group__dnnl__api__primitives__common.html#gae3c1f22ae55645782923fbfd8b07d0c4">dnnl_prop_kind_t</a> prop_kind, <a class="el" href="group__dnnl__api__primitives__common.html#ga96946c805f6c4922c38c37049ab95d23">dnnl_alg_kind_t</a> alg_kind, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *src_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *weights_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *bias_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *dst_desc, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> strides, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> dilates, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> padding_l, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> padding_r)</td></tr>
<tr class="separator:gab5b19353f9dfc944e1f6dc8aa1bb857d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadb8819372f8855f2352e153cdeb0e2d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__convolution.html#gadb8819372f8855f2352e153cdeb0e2d6">dnnl_convolution_backward_data_desc_init</a> (<a class="el" href="structdnnl__convolution__desc__t.html">dnnl_convolution_desc_t</a> *conv_desc, <a class="el" href="group__dnnl__api__primitives__common.html#ga96946c805f6c4922c38c37049ab95d23">dnnl_alg_kind_t</a> alg_kind, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *diff_src_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *weights_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *diff_dst_desc, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> strides, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> padding_l, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> padding_r)</td></tr>
<tr class="separator:gadb8819372f8855f2352e153cdeb0e2d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3c2e2e18162df7420cdfec6a4369339"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__convolution.html#gad3c2e2e18162df7420cdfec6a4369339">dnnl_dilated_convolution_backward_data_desc_init</a> (<a class="el" href="structdnnl__convolution__desc__t.html">dnnl_convolution_desc_t</a> *conv_desc, <a class="el" href="group__dnnl__api__primitives__common.html#ga96946c805f6c4922c38c37049ab95d23">dnnl_alg_kind_t</a> alg_kind, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *diff_src_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *weights_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *diff_dst_desc, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> strides, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> dilates, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> padding_l, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> padding_r)</td></tr>
<tr class="separator:gad3c2e2e18162df7420cdfec6a4369339"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac316460f4b2bfc654bd46504838b616c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__convolution.html#gac316460f4b2bfc654bd46504838b616c">dnnl_convolution_backward_weights_desc_init</a> (<a class="el" href="structdnnl__convolution__desc__t.html">dnnl_convolution_desc_t</a> *conv_desc, <a class="el" href="group__dnnl__api__primitives__common.html#ga96946c805f6c4922c38c37049ab95d23">dnnl_alg_kind_t</a> alg_kind, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *src_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *diff_weights_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *diff_bias_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *diff_dst_desc, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> strides, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> padding_l, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> padding_r)</td></tr>
<tr class="separator:gac316460f4b2bfc654bd46504838b616c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa057c055239d6f33795f4e6bde95ec7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__convolution.html#gaa057c055239d6f33795f4e6bde95ec7b">dnnl_dilated_convolution_backward_weights_desc_init</a> (<a class="el" href="structdnnl__convolution__desc__t.html">dnnl_convolution_desc_t</a> *conv_desc, <a class="el" href="group__dnnl__api__primitives__common.html#ga96946c805f6c4922c38c37049ab95d23">dnnl_alg_kind_t</a> alg_kind, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *src_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *diff_weights_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *diff_bias_desc, const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *diff_dst_desc, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> strides, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> dilates, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> padding_l, const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a> padding_r)</td></tr>
<tr class="separator:gaa057c055239d6f33795f4e6bde95ec7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a id="gadb8819372f8855f2352e153cdeb0e2d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadb8819372f8855f2352e153cdeb0e2d6">&#9670;&nbsp;</a></span>dnnl_convolution_backward_data_desc_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API dnnl_convolution_backward_data_desc_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdnnl__convolution__desc__t.html">dnnl_convolution_desc_t</a> *&#160;</td>
<td class="paramname"><em>conv_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__dnnl__api__primitives__common.html#ga96946c805f6c4922c38c37049ab95d23">dnnl_alg_kind_t</a>&#160;</td>
<td class="paramname"><em>alg_kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>diff_src_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>weights_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>diff_dst_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>strides</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>padding_l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>padding_r</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes a descriptor for a convolution backward propagation primitive.</p>
<dl class="section note"><dt>Note</dt><dd>Memory descriptors can be initialized with <a class="el" href="group__dnnl__api__memory.html#gga395e42b594683adb25ed2d842bb3091dafee39ac6fff0325cae43cd66495c18ac">dnnl_format_tag_any</a> or with format_kind set to <a class="el" href="group__dnnl__api__memory.html#ggaa75cad747fa467d9dc527d943ba3367da77ae35388e04dc3e98d90675a7110c83">dnnl_format_kind_any</a>.</dd></dl>
<p>Arrays <code>strides</code>, <code>padding_l</code>, and <code>padding_r</code> contain values for spatial dimensions only and hence must have the same number of elements as there are spatial dimensions. The order of values is the same as in the tensor: depth (for 3D tensors), height (for 3D and 2D tensors), and width.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">conv_desc</td><td>Output descriptor for a convolution primitive. </td></tr>
<tr><td class="paramname">alg_kind</td><td>Convolution algorithm. Possible values are <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a8258635c519746dbf543ac13054acb5a" title="Direct convolution.">dnnl_convolution_direct</a>, <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a4fb6efcd2a2e8766d50e70d37df1d971" title="Winograd convolution.">dnnl_convolution_winograd</a>, <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a62e85aff18d57ac4c3806234dcbafe2b" title="Convolution algorithm(either direct or Winograd) is chosen just in time.">dnnl_convolution_auto</a>. </td></tr>
<tr><td class="paramname">diff_src_desc</td><td>Diff source memory descriptor. </td></tr>
<tr><td class="paramname">weights_desc</td><td>Weights memory descriptor. </td></tr>
<tr><td class="paramname">diff_dst_desc</td><td>Diff destination memory descriptor. </td></tr>
<tr><td class="paramname">strides</td><td>Array of strides for spatial dimension. </td></tr>
<tr><td class="paramname">padding_l</td><td>Array of padding values for low indices for each spatial dimension <code>([[front,] top,] left)</code>. </td></tr>
<tr><td class="paramname">padding_r</td><td>Array of padding values for high indices for each spatial dimension <code>([[back,] bottom,] right)</code>. Can be NULL in which case padding is assumed to be symmetrical. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaa31395e9dccc103cf166cf7b38fc5b9c" title="The operation was successful.">dnnl_success</a> on success and a status describing the error otherwise. </dd></dl>
</div>
</div>
<a id="gac316460f4b2bfc654bd46504838b616c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac316460f4b2bfc654bd46504838b616c">&#9670;&nbsp;</a></span>dnnl_convolution_backward_weights_desc_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API dnnl_convolution_backward_weights_desc_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdnnl__convolution__desc__t.html">dnnl_convolution_desc_t</a> *&#160;</td>
<td class="paramname"><em>conv_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__dnnl__api__primitives__common.html#ga96946c805f6c4922c38c37049ab95d23">dnnl_alg_kind_t</a>&#160;</td>
<td class="paramname"><em>alg_kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>src_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>diff_weights_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>diff_bias_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>diff_dst_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>strides</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>padding_l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>padding_r</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes a descriptor for a convolution weights gradient primitive.</p>
<dl class="section note"><dt>Note</dt><dd>Memory descriptors can be initialized with <a class="el" href="group__dnnl__api__memory.html#gga395e42b594683adb25ed2d842bb3091dafee39ac6fff0325cae43cd66495c18ac">dnnl_format_tag_any</a> or with format_kind set to <a class="el" href="group__dnnl__api__memory.html#ggaa75cad747fa467d9dc527d943ba3367da77ae35388e04dc3e98d90675a7110c83">dnnl_format_kind_any</a>.</dd></dl>
<p>Arrays <code>strides</code>, <code>padding_l</code>, and <code>padding_r</code> contain values for spatial dimensions only and hence must have the same number of elements as there are spatial dimensions. The order of values is the same as in the tensor: depth (for 3D tensors), height (for 3D and 2D tensors), and width.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">conv_desc</td><td>Output descriptor for a convolution primitive. </td></tr>
<tr><td class="paramname">alg_kind</td><td>Convolution algorithm. Possible values are <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a8258635c519746dbf543ac13054acb5a" title="Direct convolution.">dnnl_convolution_direct</a>, <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a4fb6efcd2a2e8766d50e70d37df1d971" title="Winograd convolution.">dnnl_convolution_winograd</a>, <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a62e85aff18d57ac4c3806234dcbafe2b" title="Convolution algorithm(either direct or Winograd) is chosen just in time.">dnnl_convolution_auto</a>. </td></tr>
<tr><td class="paramname">src_desc</td><td>Source memory descriptor. </td></tr>
<tr><td class="paramname">diff_weights_desc</td><td>Diff weights memory descriptor. </td></tr>
<tr><td class="paramname">diff_bias_desc</td><td>Diff bias memory descriptor. Passing NULL, a zero memory descriptor, or a memory descriptor with format_kind set to <a class="el" href="group__dnnl__api__memory.html#ggaa75cad747fa467d9dc527d943ba3367dac86d377bba856ea7aa9679ecf65c8364" title="Undefined memory format kind, used for empty memory descriptors.">dnnl_format_kind_undef</a> disables the bias term. </td></tr>
<tr><td class="paramname">diff_dst_desc</td><td>Diff destination memory descriptor. </td></tr>
<tr><td class="paramname">strides</td><td>Array of strides for spatial dimension. </td></tr>
<tr><td class="paramname">padding_l</td><td>Array of padding values for low indices for each spatial dimension <code>([[front,] top,] left)</code>. </td></tr>
<tr><td class="paramname">padding_r</td><td>Array of padding values for high indices for each spatial dimension <code>([[back,] bottom,] right)</code>. Can be NULL in which case padding is considered to be symmetrical. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaa31395e9dccc103cf166cf7b38fc5b9c" title="The operation was successful.">dnnl_success</a> on success and a status describing the error otherwise. </dd></dl>
</div>
</div>
<a id="ga9699a81a0e3341014447e4da0cdd7e18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9699a81a0e3341014447e4da0cdd7e18">&#9670;&nbsp;</a></span>dnnl_convolution_forward_desc_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API dnnl_convolution_forward_desc_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdnnl__convolution__desc__t.html">dnnl_convolution_desc_t</a> *&#160;</td>
<td class="paramname"><em>conv_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__dnnl__api__primitives__common.html#gae3c1f22ae55645782923fbfd8b07d0c4">dnnl_prop_kind_t</a>&#160;</td>
<td class="paramname"><em>prop_kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__dnnl__api__primitives__common.html#ga96946c805f6c4922c38c37049ab95d23">dnnl_alg_kind_t</a>&#160;</td>
<td class="paramname"><em>alg_kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>src_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>weights_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>bias_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>dst_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>strides</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>padding_l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>padding_r</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes a descriptor for a convolution forward propagation primitive.</p>
<dl class="section note"><dt>Note</dt><dd>Memory descriptors can be initialized with <a class="el" href="group__dnnl__api__memory.html#gga395e42b594683adb25ed2d842bb3091dafee39ac6fff0325cae43cd66495c18ac">dnnl_format_tag_any</a> or with format_kind set to <a class="el" href="group__dnnl__api__memory.html#ggaa75cad747fa467d9dc527d943ba3367da77ae35388e04dc3e98d90675a7110c83">dnnl_format_kind_any</a>.</dd></dl>
<p>Arrays <code>strides</code>, <code>padding_l</code>, and <code>padding_r</code> contain values for spatial dimensions only and hence must have the same number of elements as there are spatial dimensions. The order of values is the same as in the tensor: depth (for 3D tensors), height (for 3D and 2D tensors), and width.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">conv_desc</td><td>Output descriptor for a convolution primitive. </td></tr>
<tr><td class="paramname">prop_kind</td><td>Propagation kind. Possible values are <a class="el" href="group__dnnl__api__primitives__common.html#ggae3c1f22ae55645782923fbfd8b07d0c4a992e03bebfe623ac876b3636333bbce0">dnnl_forward_training</a> and <a class="el" href="group__dnnl__api__primitives__common.html#ggae3c1f22ae55645782923fbfd8b07d0c4a2f77a568a675dec649eb0450c997856d">dnnl_forward_inference</a>. </td></tr>
<tr><td class="paramname">alg_kind</td><td>Convolution algorithm. Possible values are <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a8258635c519746dbf543ac13054acb5a" title="Direct convolution.">dnnl_convolution_direct</a>, <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a4fb6efcd2a2e8766d50e70d37df1d971" title="Winograd convolution.">dnnl_convolution_winograd</a>, <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a62e85aff18d57ac4c3806234dcbafe2b" title="Convolution algorithm(either direct or Winograd) is chosen just in time.">dnnl_convolution_auto</a>. </td></tr>
<tr><td class="paramname">src_desc</td><td>Source memory descriptor. </td></tr>
<tr><td class="paramname">weights_desc</td><td>Weights memory descriptor. </td></tr>
<tr><td class="paramname">bias_desc</td><td>Bias memory descriptor. Passing NULL, a zero memory descriptor, or a memory descriptor with format_kind set to <a class="el" href="group__dnnl__api__memory.html#ggaa75cad747fa467d9dc527d943ba3367dac86d377bba856ea7aa9679ecf65c8364" title="Undefined memory format kind, used for empty memory descriptors.">dnnl_format_kind_undef</a> disables the bias term. </td></tr>
<tr><td class="paramname">dst_desc</td><td>Destination memory descriptor. </td></tr>
<tr><td class="paramname">strides</td><td>Array of strides for spatial dimension. </td></tr>
<tr><td class="paramname">padding_l</td><td>Array of padding values for low indices for each spatial dimension <code>([[front,] top,] left)</code>. </td></tr>
<tr><td class="paramname">padding_r</td><td>Array of padding values for high indices for each spatial dimension <code>([[back,] bottom,] right)</code>. Can be NULL in which case padding is assumed to be symmetrical. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaa31395e9dccc103cf166cf7b38fc5b9c" title="The operation was successful.">dnnl_success</a> on success and a status describing the error otherwise. </dd></dl>
</div>
</div>
<a id="gad3c2e2e18162df7420cdfec6a4369339"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad3c2e2e18162df7420cdfec6a4369339">&#9670;&nbsp;</a></span>dnnl_dilated_convolution_backward_data_desc_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API dnnl_dilated_convolution_backward_data_desc_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdnnl__convolution__desc__t.html">dnnl_convolution_desc_t</a> *&#160;</td>
<td class="paramname"><em>conv_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__dnnl__api__primitives__common.html#ga96946c805f6c4922c38c37049ab95d23">dnnl_alg_kind_t</a>&#160;</td>
<td class="paramname"><em>alg_kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>diff_src_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>weights_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>diff_dst_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>strides</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>dilates</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>padding_l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>padding_r</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes a descriptor for a dilated convolution backward propagation primitive.</p>
<dl class="section note"><dt>Note</dt><dd>Memory descriptors can be initialized with <a class="el" href="group__dnnl__api__memory.html#gga395e42b594683adb25ed2d842bb3091dafee39ac6fff0325cae43cd66495c18ac">dnnl_format_tag_any</a> or with format_kind set to <a class="el" href="group__dnnl__api__memory.html#ggaa75cad747fa467d9dc527d943ba3367da77ae35388e04dc3e98d90675a7110c83">dnnl_format_kind_any</a>.</dd></dl>
<p>Arrays <code>strides</code>, <code>dilates</code>, <code>padding_l</code>, and <code>padding_r</code> contain values for spatial dimensions only and hence must have the same number of elements as there are spatial dimensions. The order of values is the same as in the tensor: depth (for 3D tensors), height (for 3D and 2D tensors), and width.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">conv_desc</td><td>Output descriptor for a convolution primitive. </td></tr>
<tr><td class="paramname">alg_kind</td><td>Convolution algorithm. Possible values are <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a8258635c519746dbf543ac13054acb5a" title="Direct convolution.">dnnl_convolution_direct</a>, <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a4fb6efcd2a2e8766d50e70d37df1d971" title="Winograd convolution.">dnnl_convolution_winograd</a>, <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a62e85aff18d57ac4c3806234dcbafe2b" title="Convolution algorithm(either direct or Winograd) is chosen just in time.">dnnl_convolution_auto</a>. </td></tr>
<tr><td class="paramname">diff_src_desc</td><td>Diff source memory descriptor. </td></tr>
<tr><td class="paramname">weights_desc</td><td>Weights memory descriptor. </td></tr>
<tr><td class="paramname">diff_dst_desc</td><td>Diff destination memory descriptor. </td></tr>
<tr><td class="paramname">strides</td><td>Array of strides for spatial dimension. </td></tr>
<tr><td class="paramname">dilates</td><td>Array of dilations for spatial dimension. A zero value means no dilation in the corresponding dimension. </td></tr>
<tr><td class="paramname">padding_l</td><td>Array of padding values for low indices for each spatial dimension <code>([[front,] top,] left)</code>. </td></tr>
<tr><td class="paramname">padding_r</td><td>Array of padding values for high indices for each spatial dimension <code>([[back,] bottom,] right)</code>. Can be NULL in which case padding is considered to be symmetrical. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaa31395e9dccc103cf166cf7b38fc5b9c" title="The operation was successful.">dnnl_success</a> on success and a status describing the error otherwise. </dd></dl>
</div>
</div>
<a id="gaa057c055239d6f33795f4e6bde95ec7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa057c055239d6f33795f4e6bde95ec7b">&#9670;&nbsp;</a></span>dnnl_dilated_convolution_backward_weights_desc_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API dnnl_dilated_convolution_backward_weights_desc_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdnnl__convolution__desc__t.html">dnnl_convolution_desc_t</a> *&#160;</td>
<td class="paramname"><em>conv_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__dnnl__api__primitives__common.html#ga96946c805f6c4922c38c37049ab95d23">dnnl_alg_kind_t</a>&#160;</td>
<td class="paramname"><em>alg_kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>src_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>diff_weights_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>diff_bias_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>diff_dst_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>strides</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>dilates</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>padding_l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>padding_r</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes a descriptor for a dilated convolution weights gradient primitive.</p>
<dl class="section note"><dt>Note</dt><dd>Memory descriptors can be initialized with <a class="el" href="group__dnnl__api__memory.html#gga395e42b594683adb25ed2d842bb3091dafee39ac6fff0325cae43cd66495c18ac">dnnl_format_tag_any</a> or with format_kind set to <a class="el" href="group__dnnl__api__memory.html#ggaa75cad747fa467d9dc527d943ba3367da77ae35388e04dc3e98d90675a7110c83">dnnl_format_kind_any</a>.</dd></dl>
<p>Arrays <code>strides</code>, <code>dilates</code>, <code>padding_l</code>, and <code>padding_r</code> contain values for spatial dimensions only and hence must have the same number of elements as there are spatial dimensions. The order of values is the same as in the tensor: depth (for 3D tensors), height (for 3D and 2D tensors), and width.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">conv_desc</td><td>Output descriptor for a convolution primitive. </td></tr>
<tr><td class="paramname">alg_kind</td><td>Convolution algorithm. Possible values are <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a8258635c519746dbf543ac13054acb5a" title="Direct convolution.">dnnl_convolution_direct</a>, <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a4fb6efcd2a2e8766d50e70d37df1d971" title="Winograd convolution.">dnnl_convolution_winograd</a>, <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a62e85aff18d57ac4c3806234dcbafe2b" title="Convolution algorithm(either direct or Winograd) is chosen just in time.">dnnl_convolution_auto</a>. </td></tr>
<tr><td class="paramname">src_desc</td><td>Source memory descriptor. </td></tr>
<tr><td class="paramname">diff_weights_desc</td><td>Diff weights memory descriptor. </td></tr>
<tr><td class="paramname">diff_bias_desc</td><td>Diff bias memory descriptor. Passing NULL, a zero memory descriptor, or a memory descriptor with format_kind set to <a class="el" href="group__dnnl__api__memory.html#ggaa75cad747fa467d9dc527d943ba3367dac86d377bba856ea7aa9679ecf65c8364" title="Undefined memory format kind, used for empty memory descriptors.">dnnl_format_kind_undef</a> disables the bias term. </td></tr>
<tr><td class="paramname">diff_dst_desc</td><td>Diff destination memory descriptor. </td></tr>
<tr><td class="paramname">strides</td><td>Array of strides for spatial dimension. </td></tr>
<tr><td class="paramname">dilates</td><td>Array of dilations for spatial dimension. A zero value means no dilation in the corresponding dimension. </td></tr>
<tr><td class="paramname">padding_l</td><td>Array of padding values for low indices for each spatial dimension <code>([[front,] top,] left)</code>. </td></tr>
<tr><td class="paramname">padding_r</td><td>Array of padding values for high indices for each spatial dimension <code>([[back,] bottom,] right)</code>. Can be NULL in which case padding is considered to be symmetrical. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaa31395e9dccc103cf166cf7b38fc5b9c" title="The operation was successful.">dnnl_success</a> on success and a status describing the error otherwise. </dd></dl>
</div>
</div>
<a id="gab5b19353f9dfc944e1f6dc8aa1bb857d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab5b19353f9dfc944e1f6dc8aa1bb857d">&#9670;&nbsp;</a></span>dnnl_dilated_convolution_forward_desc_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API dnnl_dilated_convolution_forward_desc_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdnnl__convolution__desc__t.html">dnnl_convolution_desc_t</a> *&#160;</td>
<td class="paramname"><em>conv_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__dnnl__api__primitives__common.html#gae3c1f22ae55645782923fbfd8b07d0c4">dnnl_prop_kind_t</a>&#160;</td>
<td class="paramname"><em>prop_kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__dnnl__api__primitives__common.html#ga96946c805f6c4922c38c37049ab95d23">dnnl_alg_kind_t</a>&#160;</td>
<td class="paramname"><em>alg_kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>src_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>weights_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>bias_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structdnnl__memory__desc__t.html">dnnl_memory_desc_t</a> *&#160;</td>
<td class="paramname"><em>dst_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>strides</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>dilates</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>padding_l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__dnnl__api__memory.html#ga8331e1160e52a5d4babe96736464095a">dnnl_dims_t</a>&#160;</td>
<td class="paramname"><em>padding_r</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes a descriptor for a dilated convolution forward propagation primitive.</p>
<dl class="section note"><dt>Note</dt><dd>Memory descriptors can be initialized with <a class="el" href="group__dnnl__api__memory.html#gga395e42b594683adb25ed2d842bb3091dafee39ac6fff0325cae43cd66495c18ac">dnnl_format_tag_any</a> or with format_kind set to <a class="el" href="group__dnnl__api__memory.html#ggaa75cad747fa467d9dc527d943ba3367da77ae35388e04dc3e98d90675a7110c83">dnnl_format_kind_any</a>.</dd></dl>
<p>Arrays <code>strides</code>, <code>dilates</code>, <code>padding_l</code>, and <code>padding_r</code> contain values for spatial dimensions only and hence must have the same number of elements as there are spatial dimensions. The order of values is the same as in the tensor: depth (for 3D tensors), height (for 3D and 2D tensors), and width.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">conv_desc</td><td>Output descriptor for a convolution primitive. </td></tr>
<tr><td class="paramname">prop_kind</td><td>Propagation kind. Possible values are <a class="el" href="group__dnnl__api__primitives__common.html#ggae3c1f22ae55645782923fbfd8b07d0c4a992e03bebfe623ac876b3636333bbce0">dnnl_forward_training</a> and <a class="el" href="group__dnnl__api__primitives__common.html#ggae3c1f22ae55645782923fbfd8b07d0c4a2f77a568a675dec649eb0450c997856d">dnnl_forward_inference</a>. </td></tr>
<tr><td class="paramname">alg_kind</td><td>Convolution algorithm. Possible values are <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a8258635c519746dbf543ac13054acb5a" title="Direct convolution.">dnnl_convolution_direct</a>, <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a4fb6efcd2a2e8766d50e70d37df1d971" title="Winograd convolution.">dnnl_convolution_winograd</a>, <a class="el" href="group__dnnl__api__primitives__common.html#gga96946c805f6c4922c38c37049ab95d23a62e85aff18d57ac4c3806234dcbafe2b" title="Convolution algorithm(either direct or Winograd) is chosen just in time.">dnnl_convolution_auto</a>. </td></tr>
<tr><td class="paramname">src_desc</td><td>Source memory descriptor. </td></tr>
<tr><td class="paramname">weights_desc</td><td>Weights memory descriptor. </td></tr>
<tr><td class="paramname">bias_desc</td><td>Bias memory descriptor. Passing NULL, a zero memory descriptor, or a memory descriptor with format_kind set to <a class="el" href="group__dnnl__api__memory.html#ggaa75cad747fa467d9dc527d943ba3367dac86d377bba856ea7aa9679ecf65c8364" title="Undefined memory format kind, used for empty memory descriptors.">dnnl_format_kind_undef</a> disables the bias term. </td></tr>
<tr><td class="paramname">dst_desc</td><td>Destination memory descriptor. </td></tr>
<tr><td class="paramname">strides</td><td>Array of strides for spatial dimension. </td></tr>
<tr><td class="paramname">dilates</td><td>Array of dilations for spatial dimension. A zero value means no dilation in the corresponding dimension. </td></tr>
<tr><td class="paramname">padding_l</td><td>Array of padding values for low indices for each spatial dimension <code>([[front,] top,] left)</code>. </td></tr>
<tr><td class="paramname">padding_r</td><td>Array of padding values for high indices for each spatial dimension <code>([[back,] bottom,] right)</code>. Can be NULL in which case padding is considered to be symmetrical. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaa31395e9dccc103cf166cf7b38fc5b9c" title="The operation was successful.">dnnl_success</a> on success and a status describing the error otherwise. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 5 2023 03:47:40 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>