blob: 0d45c0dd30035dc927d12399332a6815c1d98265 [file] [log] [blame]
<!-- HTML header for doxygen 1.8.17-->
<!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>Arm NN: BatchMatMulDescriptor Struct Reference</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.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;">
<img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
<td id="projectalign" style="padding-left: 0.9em;">
<div id="projectname">
&#160;<span id="projectnumber">24.02</span>
</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 -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('structarmnn_1_1_batch_mat_mul_descriptor.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- 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="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structarmnn_1_1_batch_mat_mul_descriptor-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">BatchMatMulDescriptor Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A <a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html" title="A BatchMatMulDescriptor for the BatchMatMul operator.">BatchMatMulDescriptor</a> for the <a class="el" href="classarmnn_1_1_batch_mat_mul.html">BatchMatMul</a> operator.
<a href="structarmnn_1_1_batch_mat_mul_descriptor.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for BatchMatMulDescriptor:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="structarmnn_1_1_batch_mat_mul_descriptor__inherit__graph.svg" width="186" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for BatchMatMulDescriptor:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="structarmnn_1_1_batch_mat_mul_descriptor__coll__graph.svg" width="186" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:afeaf71922a51fe85cd5a159381dd8b13"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html#afeaf71922a51fe85cd5a159381dd8b13">BatchMatMulDescriptor</a> (bool transposeX=false, bool transposeY=false, bool adjointX=false, bool adjointY=false, <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> dataLayoutX=<a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>, <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> dataLayoutY=<a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>)</td></tr>
<tr class="separator:afeaf71922a51fe85cd5a159381dd8b13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c02af4929fee7377b0c8e0410044582"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html#a5c02af4929fee7377b0c8e0410044582">operator==</a> (const <a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html">BatchMatMulDescriptor</a> &amp;rhs) const</td></tr>
<tr class="separator:a5c02af4929fee7377b0c8e0410044582"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_structarmnn_1_1_base_descriptor"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structarmnn_1_1_base_descriptor')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="structarmnn_1_1_base_descriptor.html">BaseDescriptor</a></td></tr>
<tr class="memitem:ac618666b3c6d65d2c88bcbb7abeed343 inherit pub_methods_structarmnn_1_1_base_descriptor"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_base_descriptor.html#ac618666b3c6d65d2c88bcbb7abeed343">IsNull</a> () const</td></tr>
<tr class="separator:ac618666b3c6d65d2c88bcbb7abeed343 inherit pub_methods_structarmnn_1_1_base_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e0f82ef2f18eb897e6d6f1845e74033 inherit pub_methods_structarmnn_1_1_base_descriptor"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_base_descriptor.html#a5e0f82ef2f18eb897e6d6f1845e74033">~BaseDescriptor</a> ()=default</td></tr>
<tr class="separator:a5e0f82ef2f18eb897e6d6f1845e74033 inherit pub_methods_structarmnn_1_1_base_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a58a8b597d58396266e06dd2c415154a2"><td class="memItemLeft" align="right" valign="top">static std::pair&lt; unsigned int, unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html#a58a8b597d58396266e06dd2c415154a2">GetAxesToMul</a> (<a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> dataLayout, const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;tensorShape)</td></tr>
<tr class="memdesc:a58a8b597d58396266e06dd2c415154a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static helper to get the two axes (for each input) for multiplication. <a href="structarmnn_1_1_batch_mat_mul_descriptor.html#a58a8b597d58396266e06dd2c415154a2">More...</a><br /></td></tr>
<tr class="separator:a58a8b597d58396266e06dd2c415154a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a991faafc762a50c3aa7a756117378cc1"><td class="memItemLeft" align="right" valign="top">static std::vector&lt; unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html#a991faafc762a50c3aa7a756117378cc1">GetAxesNotMul</a> (<a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> dataLayout, const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;tensorShape)</td></tr>
<tr class="memdesc:a991faafc762a50c3aa7a756117378cc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static helper to get the axes (for each input) that will not be multiplied together. <a href="structarmnn_1_1_batch_mat_mul_descriptor.html#a991faafc762a50c3aa7a756117378cc1">More...</a><br /></td></tr>
<tr class="separator:a991faafc762a50c3aa7a756117378cc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85e74c2aeaf6fc124e9582329a82d72b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classarmnn_1_1_permutation_vector.html">PermutationVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html#a85e74c2aeaf6fc124e9582329a82d72b">GetPermuteVec</a> (<a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> dataLayout, const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;tensorShape)</td></tr>
<tr class="memdesc:a85e74c2aeaf6fc124e9582329a82d72b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static helper to get the axes which will be transposed. <a href="structarmnn_1_1_batch_mat_mul_descriptor.html#a85e74c2aeaf6fc124e9582329a82d72b">More...</a><br /></td></tr>
<tr class="separator:a85e74c2aeaf6fc124e9582329a82d72b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:acb441bb8db19bcce78d15cdd8ceb5ea0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html#acb441bb8db19bcce78d15cdd8ceb5ea0">m_TransposeX</a></td></tr>
<tr class="memdesc:acb441bb8db19bcce78d15cdd8ceb5ea0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transpose the slices of each input tensor Transpose and Adjoint can not both be set to true for the same tensor at the same time. <a href="structarmnn_1_1_batch_mat_mul_descriptor.html#acb441bb8db19bcce78d15cdd8ceb5ea0">More...</a><br /></td></tr>
<tr class="separator:acb441bb8db19bcce78d15cdd8ceb5ea0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a112b466e5d2ab9d1887178adbe3afa1c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html#a112b466e5d2ab9d1887178adbe3afa1c">m_TransposeY</a></td></tr>
<tr class="separator:a112b466e5d2ab9d1887178adbe3afa1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cf8306be7d301de0f095fff9901a525"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html#a0cf8306be7d301de0f095fff9901a525">m_AdjointX</a></td></tr>
<tr class="memdesc:a0cf8306be7d301de0f095fff9901a525"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adjoint the slices of each input tensor Transpose and Adjoint can not both be set to true for the same tensor at the same time. <a href="structarmnn_1_1_batch_mat_mul_descriptor.html#a0cf8306be7d301de0f095fff9901a525">More...</a><br /></td></tr>
<tr class="separator:a0cf8306be7d301de0f095fff9901a525"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad945fc98770356dd886a68e98a52e26b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html#ad945fc98770356dd886a68e98a52e26b">m_AdjointY</a></td></tr>
<tr class="separator:ad945fc98770356dd886a68e98a52e26b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedca000a005e091c23191e82d7e81b1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html#aedca000a005e091c23191e82d7e81b1d">m_DataLayoutX</a></td></tr>
<tr class="memdesc:aedca000a005e091c23191e82d7e81b1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data layout of each input tensor, such as NHWC/NDHWC (leave as default for arbitrary layout) <a href="structarmnn_1_1_batch_mat_mul_descriptor.html#aedca000a005e091c23191e82d7e81b1d">More...</a><br /></td></tr>
<tr class="separator:aedca000a005e091c23191e82d7e81b1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf7828880989b4b9378d3e86aa6dc843"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html#aaf7828880989b4b9378d3e86aa6dc843">m_DataLayoutY</a></td></tr>
<tr class="separator:aaf7828880989b4b9378d3e86aa6dc843"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A <a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html" title="A BatchMatMulDescriptor for the BatchMatMul operator.">BatchMatMulDescriptor</a> for the <a class="el" href="classarmnn_1_1_batch_mat_mul.html">BatchMatMul</a> operator. </p>
<p class="definition">Definition at line <a class="el" href="_descriptors_8hpp_source.html#l01584">1584</a> of file <a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="afeaf71922a51fe85cd5a159381dd8b13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afeaf71922a51fe85cd5a159381dd8b13">&#9670;&nbsp;</a></span>BatchMatMulDescriptor()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html">BatchMatMulDescriptor</a> </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>transposeX</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>transposeY</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>adjointX</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>adjointY</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
<td class="paramname"><em>dataLayoutX</em> = <code><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
<td class="paramname"><em>dataLayoutY</em> = <code><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_descriptors_8hpp_source.html#l01586">1586</a> of file <a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160; : <a class="code" href="structarmnn_1_1_batch_mat_mul_descriptor.html#acb441bb8db19bcce78d15cdd8ceb5ea0">m_TransposeX</a>(transposeX)</div>
<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160; , <a class="code" href="structarmnn_1_1_batch_mat_mul_descriptor.html#a112b466e5d2ab9d1887178adbe3afa1c">m_TransposeY</a>(transposeY)</div>
<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; , <a class="code" href="structarmnn_1_1_batch_mat_mul_descriptor.html#a0cf8306be7d301de0f095fff9901a525">m_AdjointX</a>(adjointX)</div>
<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160; , <a class="code" href="structarmnn_1_1_batch_mat_mul_descriptor.html#ad945fc98770356dd886a68e98a52e26b">m_AdjointY</a>(adjointY)</div>
<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160; , <a class="code" href="structarmnn_1_1_batch_mat_mul_descriptor.html#aedca000a005e091c23191e82d7e81b1d">m_DataLayoutX</a>(dataLayoutX)</div>
<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; , <a class="code" href="structarmnn_1_1_batch_mat_mul_descriptor.html#aaf7828880989b4b9378d3e86aa6dc843">m_DataLayoutY</a>(dataLayoutY)</div>
<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; {}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a991faafc762a50c3aa7a756117378cc1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a991faafc762a50c3aa7a756117378cc1">&#9670;&nbsp;</a></span>GetAxesNotMul()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; unsigned int &gt; GetAxesNotMul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
<td class="paramname"><em>dataLayout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;&#160;</td>
<td class="paramname"><em>tensorShape</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Static helper to get the axes (for each input) that will not be multiplied together. </p>
<p class="definition">Definition at line <a class="el" href="_descriptors_8cpp_source.html#l00505">505</a> of file <a class="el" href="_descriptors_8cpp_source.html">Descriptors.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;{</div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keyword">auto</span> axesToMul = <a class="code" href="structarmnn_1_1_batch_mat_mul_descriptor.html#a58a8b597d58396266e06dd2c415154a2">BatchMatMulDescriptor::GetAxesToMul</a>(dataLayout, tensorShape);</div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; std::vector&lt;unsigned int&gt; axesNotMul;</div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; tensorShape.GetNumDimensions(); i++)</div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; {</div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">if</span>(i == axesToMul.first || i == axesToMul.second)</div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; {</div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; }</div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; axesNotMul.push_back(i);</div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; }</div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">return</span> axesNotMul;</div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_descriptors_8cpp_source.html#l00484">BatchMatMulDescriptor::GetAxesToMul()</a>, and <a class="el" href="_tensor_8cpp_source.html#l00174">TensorShape::GetNumDimensions()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_workload_data_8cpp_source.html#l04173">BatchMatMulQueueDescriptor::Validate()</a>.</p>
</div>
</div>
<a id="a58a8b597d58396266e06dd2c415154a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58a8b597d58396266e06dd2c415154a2">&#9670;&nbsp;</a></span>GetAxesToMul()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::pair&lt; unsigned int, unsigned int &gt; GetAxesToMul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
<td class="paramname"><em>dataLayout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;&#160;</td>
<td class="paramname"><em>tensorShape</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Static helper to get the two axes (for each input) for multiplication. </p>
<p class="definition">Definition at line <a class="el" href="_descriptors_8cpp_source.html#l00484">484</a> of file <a class="el" href="_descriptors_8cpp_source.html">Descriptors.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;{</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keyword">auto</span> numDims = tensorShape.GetNumDimensions();</div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; std::pair&lt;unsigned int, unsigned int&gt; axes = { numDims-2, numDims-1 };</div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">switch</span>(dataLayout)</div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; {</div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a4dd0194b114cbf51da5b3a72569863ef">DataLayout::NDHWC</a>:</div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">DataLayout::NHWC</a>:</div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; axes.first -= 1;</div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; axes.second -= 1;</div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a884e0167ebf9bbe6cfd6ca5ab97ab015">DataLayout::NCDHW</a>:</div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>:</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; }</div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">return</span> axes;</div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_tensor_8cpp_source.html#l00174">TensorShape::GetNumDimensions()</a>, <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a884e0167ebf9bbe6cfd6ca5ab97ab015">armnn::NCDHW</a>, <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::NCHW</a>, <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a4dd0194b114cbf51da5b3a72569863ef">armnn::NDHWC</a>, and <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">armnn::NHWC</a>.</p>
<p class="reference">Referenced by <a class="el" href="_descriptors_8cpp_source.html#l00505">BatchMatMulDescriptor::GetAxesNotMul()</a>, <a class="el" href="_descriptors_8cpp_source.html#l00522">BatchMatMulDescriptor::GetPermuteVec()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00033">BatchMatMulLayer::InferOutputShapes()</a>, and <a class="el" href="_workload_data_8cpp_source.html#l04173">BatchMatMulQueueDescriptor::Validate()</a>.</p>
</div>
</div>
<a id="a85e74c2aeaf6fc124e9582329a82d72b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85e74c2aeaf6fc124e9582329a82d72b">&#9670;&nbsp;</a></span>GetPermuteVec()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarmnn_1_1_permutation_vector.html">PermutationVector</a> GetPermuteVec </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
<td class="paramname"><em>dataLayout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;&#160;</td>
<td class="paramname"><em>tensorShape</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Static helper to get the axes which will be transposed. </p>
<p class="definition">Definition at line <a class="el" href="_descriptors_8cpp_source.html#l00522">522</a> of file <a class="el" href="_descriptors_8cpp_source.html">Descriptors.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;{</div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; std::vector&lt;unsigned int&gt; vec;</div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keyword">auto</span> axesToMul = <a class="code" href="structarmnn_1_1_batch_mat_mul_descriptor.html#a58a8b597d58396266e06dd2c415154a2">BatchMatMulDescriptor::GetAxesToMul</a>(dataLayout, tensorShape);</div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; tensorShape.GetNumDimensions(); i++)</div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; {</div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keywordflow">if</span>(i == axesToMul.first)</div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; {</div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; vec.push_back(i+1);</div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; }</div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(i == axesToMul.second)</div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; {</div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; vec.push_back(i-1);</div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; }</div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; {</div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; vec.push_back(i);</div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; }</div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; }</div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordflow">return</span> PermutationVector(vec.data(),</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span>(vec.size()));</div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_descriptors_8cpp_source.html#l00484">BatchMatMulDescriptor::GetAxesToMul()</a>, and <a class="el" href="_tensor_8cpp_source.html#l00174">TensorShape::GetNumDimensions()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00033">BatchMatMulLayer::InferOutputShapes()</a>, and <a class="el" href="_workload_data_8cpp_source.html#l04173">BatchMatMulQueueDescriptor::Validate()</a>.</p>
</div>
</div>
<a id="a5c02af4929fee7377b0c8e0410044582"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c02af4929fee7377b0c8e0410044582">&#9670;&nbsp;</a></span>operator==()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html">BatchMatMulDescriptor</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_descriptors_8hpp_source.html#l01600">1600</a> of file <a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160; {</div>
<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160; <span class="keywordflow">return</span> <a class="code" href="structarmnn_1_1_batch_mat_mul_descriptor.html#acb441bb8db19bcce78d15cdd8ceb5ea0">m_TransposeX</a> == rhs.m_TransposeX &amp;&amp;</div>
<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160; <a class="code" href="structarmnn_1_1_batch_mat_mul_descriptor.html#a112b466e5d2ab9d1887178adbe3afa1c">m_TransposeY</a> == rhs.m_TransposeY &amp;&amp;</div>
<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160; <a class="code" href="structarmnn_1_1_batch_mat_mul_descriptor.html#a0cf8306be7d301de0f095fff9901a525">m_AdjointX</a> == rhs.m_AdjointX &amp;&amp;</div>
<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160; <a class="code" href="structarmnn_1_1_batch_mat_mul_descriptor.html#ad945fc98770356dd886a68e98a52e26b">m_AdjointY</a> == rhs.m_AdjointY &amp;&amp;</div>
<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; <a class="code" href="structarmnn_1_1_batch_mat_mul_descriptor.html#aedca000a005e091c23191e82d7e81b1d">m_DataLayoutX</a> == rhs.m_DataLayoutX &amp;&amp;</div>
<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160; <a class="code" href="structarmnn_1_1_batch_mat_mul_descriptor.html#aaf7828880989b4b9378d3e86aa6dc843">m_DataLayoutY</a> == rhs.m_DataLayoutY;</div>
<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160; }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_descriptors_8hpp_source.html#l01617">BatchMatMulDescriptor::m_AdjointX</a>, <a class="el" href="_descriptors_8hpp_source.html#l01618">BatchMatMulDescriptor::m_AdjointY</a>, <a class="el" href="_descriptors_8hpp_source.html#l01621">BatchMatMulDescriptor::m_DataLayoutX</a>, <a class="el" href="_descriptors_8hpp_source.html#l01622">BatchMatMulDescriptor::m_DataLayoutY</a>, <a class="el" href="_descriptors_8hpp_source.html#l01612">BatchMatMulDescriptor::m_TransposeX</a>, and <a class="el" href="_descriptors_8hpp_source.html#l01613">BatchMatMulDescriptor::m_TransposeY</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a0cf8306be7d301de0f095fff9901a525"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cf8306be7d301de0f095fff9901a525">&#9670;&nbsp;</a></span>m_AdjointX</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool m_AdjointX</td>
</tr>
</table>
</div><div class="memdoc">
<p>Adjoint the slices of each input tensor Transpose and Adjoint can not both be set to true for the same tensor at the same time. </p>
<p class="definition">Definition at line <a class="el" href="_descriptors_8hpp_source.html#l01617">1617</a> of file <a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="_cl_batch_mat_mul_workload_8cpp_source.html#l00024">armnn::ClBatchMatMulValidate()</a>, <a class="el" href="_cl_batch_mat_mul_workload_8cpp_source.html#l00057">ClBatchMatMulWorkload::ClBatchMatMulWorkload()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00033">BatchMatMulLayer::InferOutputShapes()</a>, <a class="el" href="_neon_batch_mat_mul_workload_8cpp_source.html#l00019">armnn::NeonBatchMatMulValidate()</a>, <a class="el" href="_neon_batch_mat_mul_workload_8cpp_source.html#l00057">NeonBatchMatMulWorkload::NeonBatchMatMulWorkload()</a>, <a class="el" href="_descriptors_8hpp_source.html#l01600">BatchMatMulDescriptor::operator==()</a>, <a class="el" href="_serialize_layer_parameters_8cpp_source.html#l00029">StringifyLayerParameters&lt; BatchMatMulDescriptor &gt;::Serialize()</a>, and <a class="el" href="_workload_data_8cpp_source.html#l04173">BatchMatMulQueueDescriptor::Validate()</a>.</p>
</div>
</div>
<a id="ad945fc98770356dd886a68e98a52e26b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad945fc98770356dd886a68e98a52e26b">&#9670;&nbsp;</a></span>m_AdjointY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool m_AdjointY</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_descriptors_8hpp_source.html#l01618">1618</a> of file <a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="_cl_batch_mat_mul_workload_8cpp_source.html#l00024">armnn::ClBatchMatMulValidate()</a>, <a class="el" href="_cl_batch_mat_mul_workload_8cpp_source.html#l00057">ClBatchMatMulWorkload::ClBatchMatMulWorkload()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00033">BatchMatMulLayer::InferOutputShapes()</a>, <a class="el" href="_neon_batch_mat_mul_workload_8cpp_source.html#l00019">armnn::NeonBatchMatMulValidate()</a>, <a class="el" href="_neon_batch_mat_mul_workload_8cpp_source.html#l00057">NeonBatchMatMulWorkload::NeonBatchMatMulWorkload()</a>, <a class="el" href="_descriptors_8hpp_source.html#l01600">BatchMatMulDescriptor::operator==()</a>, <a class="el" href="_serialize_layer_parameters_8cpp_source.html#l00029">StringifyLayerParameters&lt; BatchMatMulDescriptor &gt;::Serialize()</a>, and <a class="el" href="_workload_data_8cpp_source.html#l04173">BatchMatMulQueueDescriptor::Validate()</a>.</p>
</div>
</div>
<a id="aedca000a005e091c23191e82d7e81b1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aedca000a005e091c23191e82d7e81b1d">&#9670;&nbsp;</a></span>m_DataLayoutX</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> m_DataLayoutX</td>
</tr>
</table>
</div><div class="memdoc">
<p>Data layout of each input tensor, such as NHWC/NDHWC (leave as default for arbitrary layout) </p>
<p class="definition">Definition at line <a class="el" href="_descriptors_8hpp_source.html#l01621">1621</a> of file <a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="_cl_batch_mat_mul_workload_8cpp_source.html#l00024">armnn::ClBatchMatMulValidate()</a>, <a class="el" href="_cl_batch_mat_mul_workload_8cpp_source.html#l00057">ClBatchMatMulWorkload::ClBatchMatMulWorkload()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00033">BatchMatMulLayer::InferOutputShapes()</a>, <a class="el" href="_neon_batch_mat_mul_workload_8cpp_source.html#l00019">armnn::NeonBatchMatMulValidate()</a>, <a class="el" href="_neon_batch_mat_mul_workload_8cpp_source.html#l00057">NeonBatchMatMulWorkload::NeonBatchMatMulWorkload()</a>, <a class="el" href="_descriptors_8hpp_source.html#l01600">BatchMatMulDescriptor::operator==()</a>, and <a class="el" href="_workload_data_8cpp_source.html#l04173">BatchMatMulQueueDescriptor::Validate()</a>.</p>
</div>
</div>
<a id="aaf7828880989b4b9378d3e86aa6dc843"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf7828880989b4b9378d3e86aa6dc843">&#9670;&nbsp;</a></span>m_DataLayoutY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> m_DataLayoutY</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_descriptors_8hpp_source.html#l01622">1622</a> of file <a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="_cl_batch_mat_mul_workload_8cpp_source.html#l00024">armnn::ClBatchMatMulValidate()</a>, <a class="el" href="_cl_batch_mat_mul_workload_8cpp_source.html#l00057">ClBatchMatMulWorkload::ClBatchMatMulWorkload()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00033">BatchMatMulLayer::InferOutputShapes()</a>, <a class="el" href="_neon_batch_mat_mul_workload_8cpp_source.html#l00019">armnn::NeonBatchMatMulValidate()</a>, <a class="el" href="_neon_batch_mat_mul_workload_8cpp_source.html#l00057">NeonBatchMatMulWorkload::NeonBatchMatMulWorkload()</a>, <a class="el" href="_descriptors_8hpp_source.html#l01600">BatchMatMulDescriptor::operator==()</a>, and <a class="el" href="_workload_data_8cpp_source.html#l04173">BatchMatMulQueueDescriptor::Validate()</a>.</p>
</div>
</div>
<a id="acb441bb8db19bcce78d15cdd8ceb5ea0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb441bb8db19bcce78d15cdd8ceb5ea0">&#9670;&nbsp;</a></span>m_TransposeX</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool m_TransposeX</td>
</tr>
</table>
</div><div class="memdoc">
<p>Transpose the slices of each input tensor Transpose and Adjoint can not both be set to true for the same tensor at the same time. </p>
<p class="definition">Definition at line <a class="el" href="_descriptors_8hpp_source.html#l01612">1612</a> of file <a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="_cl_batch_mat_mul_workload_8cpp_source.html#l00057">ClBatchMatMulWorkload::ClBatchMatMulWorkload()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00033">BatchMatMulLayer::InferOutputShapes()</a>, <a class="el" href="_neon_batch_mat_mul_workload_8cpp_source.html#l00057">NeonBatchMatMulWorkload::NeonBatchMatMulWorkload()</a>, <a class="el" href="_descriptors_8hpp_source.html#l01600">BatchMatMulDescriptor::operator==()</a>, <a class="el" href="_serialize_layer_parameters_8cpp_source.html#l00029">StringifyLayerParameters&lt; BatchMatMulDescriptor &gt;::Serialize()</a>, and <a class="el" href="_workload_data_8cpp_source.html#l04173">BatchMatMulQueueDescriptor::Validate()</a>.</p>
</div>
</div>
<a id="a112b466e5d2ab9d1887178adbe3afa1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a112b466e5d2ab9d1887178adbe3afa1c">&#9670;&nbsp;</a></span>m_TransposeY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool m_TransposeY</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_descriptors_8hpp_source.html#l01613">1613</a> of file <a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="_cl_batch_mat_mul_workload_8cpp_source.html#l00057">ClBatchMatMulWorkload::ClBatchMatMulWorkload()</a>, <a class="el" href="_batch_mat_mul_layer_8cpp_source.html#l00033">BatchMatMulLayer::InferOutputShapes()</a>, <a class="el" href="_neon_batch_mat_mul_workload_8cpp_source.html#l00057">NeonBatchMatMulWorkload::NeonBatchMatMulWorkload()</a>, <a class="el" href="_descriptors_8hpp_source.html#l01600">BatchMatMulDescriptor::operator==()</a>, <a class="el" href="_serialize_layer_parameters_8cpp_source.html#l00029">StringifyLayerParameters&lt; BatchMatMulDescriptor &gt;::Serialize()</a>, and <a class="el" href="_workload_data_8cpp_source.html#l04173">BatchMatMulQueueDescriptor::Validate()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>include/armnn/<a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a></li>
<li>src/armnn/<a class="el" href="_descriptors_8cpp_source.html">Descriptors.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="astructarmnn_1_1_batch_mat_mul_descriptor_html_acb441bb8db19bcce78d15cdd8ceb5ea0"><div class="ttname"><a href="structarmnn_1_1_batch_mat_mul_descriptor.html#acb441bb8db19bcce78d15cdd8ceb5ea0">armnn::BatchMatMulDescriptor::m_TransposeX</a></div><div class="ttdeci">bool m_TransposeX</div><div class="ttdoc">Transpose the slices of each input tensor Transpose and Adjoint can not both be set to true for the s...</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l01612">Descriptors.hpp:1612</a></div></div>
<div class="ttc" id="anamespacearmnn_html_ad1d5cce2d9e9a5d61c243e5c989112e0a884e0167ebf9bbe6cfd6ca5ab97ab015"><div class="ttname"><a href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a884e0167ebf9bbe6cfd6ca5ab97ab015">armnn::DataLayout::NCDHW</a></div><div class="ttdeci">@ NCDHW</div></div>
<div class="ttc" id="astructarmnn_1_1_batch_mat_mul_descriptor_html_a0cf8306be7d301de0f095fff9901a525"><div class="ttname"><a href="structarmnn_1_1_batch_mat_mul_descriptor.html#a0cf8306be7d301de0f095fff9901a525">armnn::BatchMatMulDescriptor::m_AdjointX</a></div><div class="ttdeci">bool m_AdjointX</div><div class="ttdoc">Adjoint the slices of each input tensor Transpose and Adjoint can not both be set to true for the sam...</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l01617">Descriptors.hpp:1617</a></div></div>
<div class="ttc" id="anamespacearmnn_html_ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51"><div class="ttname"><a href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">armnn::DataLayout::NHWC</a></div><div class="ttdeci">@ NHWC</div></div>
<div class="ttc" id="astructarmnn_1_1_batch_mat_mul_descriptor_html_a58a8b597d58396266e06dd2c415154a2"><div class="ttname"><a href="structarmnn_1_1_batch_mat_mul_descriptor.html#a58a8b597d58396266e06dd2c415154a2">armnn::BatchMatMulDescriptor::GetAxesToMul</a></div><div class="ttdeci">static std::pair&lt; unsigned int, unsigned int &gt; GetAxesToMul(DataLayout dataLayout, const TensorShape &amp;tensorShape)</div><div class="ttdoc">Static helper to get the two axes (for each input) for multiplication.</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8cpp_source.html#l00484">Descriptors.cpp:484</a></div></div>
<div class="ttc" id="astructarmnn_1_1_batch_mat_mul_descriptor_html_aedca000a005e091c23191e82d7e81b1d"><div class="ttname"><a href="structarmnn_1_1_batch_mat_mul_descriptor.html#aedca000a005e091c23191e82d7e81b1d">armnn::BatchMatMulDescriptor::m_DataLayoutX</a></div><div class="ttdeci">DataLayout m_DataLayoutX</div><div class="ttdoc">Data layout of each input tensor, such as NHWC/NDHWC (leave as default for arbitrary layout)</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l01621">Descriptors.hpp:1621</a></div></div>
<div class="ttc" id="astructarmnn_1_1_batch_mat_mul_descriptor_html_ad945fc98770356dd886a68e98a52e26b"><div class="ttname"><a href="structarmnn_1_1_batch_mat_mul_descriptor.html#ad945fc98770356dd886a68e98a52e26b">armnn::BatchMatMulDescriptor::m_AdjointY</a></div><div class="ttdeci">bool m_AdjointY</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l01618">Descriptors.hpp:1618</a></div></div>
<div class="ttc" id="anamespacearmnn_html_ad1d5cce2d9e9a5d61c243e5c989112e0a4dd0194b114cbf51da5b3a72569863ef"><div class="ttname"><a href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a4dd0194b114cbf51da5b3a72569863ef">armnn::DataLayout::NDHWC</a></div><div class="ttdeci">@ NDHWC</div></div>
<div class="ttc" id="astructarmnn_1_1_batch_mat_mul_descriptor_html_a112b466e5d2ab9d1887178adbe3afa1c"><div class="ttname"><a href="structarmnn_1_1_batch_mat_mul_descriptor.html#a112b466e5d2ab9d1887178adbe3afa1c">armnn::BatchMatMulDescriptor::m_TransposeY</a></div><div class="ttdeci">bool m_TransposeY</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l01613">Descriptors.hpp:1613</a></div></div>
<div class="ttc" id="astructarmnn_1_1_batch_mat_mul_descriptor_html_aaf7828880989b4b9378d3e86aa6dc843"><div class="ttname"><a href="structarmnn_1_1_batch_mat_mul_descriptor.html#aaf7828880989b4b9378d3e86aa6dc843">armnn::BatchMatMulDescriptor::m_DataLayoutY</a></div><div class="ttdeci">DataLayout m_DataLayoutY</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l01622">Descriptors.hpp:1622</a></div></div>
<div class="ttc" id="anamespacearmnn_html_ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"><div class="ttname"><a href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::DataLayout::NCHW</a></div><div class="ttdeci">@ NCHW</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html">BatchMatMulDescriptor</a></li>
<li class="footer">Generated on Wed Feb 14 2024 16:36:20 for Arm NN by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>