blob: 1e8d9f71dc0544b8c7fa33e47e79adf04f3c7369 [file] [log] [blame]
Nikhil Raj03c7ff32023-08-22 12:00:04 +01001<!-- HTML header for doxygen 1.8.17-->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6<meta http-equiv="X-UA-Compatible" content="IE=9"/>
7<meta name="generator" content="Doxygen 1.8.17"/>
8<meta name="viewport" content="width=device-width, initial-scale=1"/>
9<title>Arm NN: BatchMatMulDescriptor Struct Reference</title>
10<link href="tabs.css" rel="stylesheet" type="text/css"/>
11<script type="text/javascript" src="jquery.js"></script>
12<script type="text/javascript" src="dynsections.js"></script>
13<link href="navtree.css" rel="stylesheet" type="text/css"/>
14<script type="text/javascript" src="resize.js"></script>
15<script type="text/javascript" src="navtreedata.js"></script>
16<script type="text/javascript" src="navtree.js"></script>
17<link href="search/search.css" rel="stylesheet" type="text/css"/>
18<script type="text/javascript" src="search/searchdata.js"></script>
19<script type="text/javascript" src="search/search.js"></script>
20<script type="text/x-mathjax-config">
21 MathJax.Hub.Config({
22 extensions: ["tex2jax.js"],
23 jax: ["input/TeX","output/HTML-CSS"],
24});
25</script>
26<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
27<link href="doxygen.css" rel="stylesheet" type="text/css" />
28<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
29</head>
30<body>
31<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
32<div id="titlearea">
33<table cellspacing="0" cellpadding="0">
34 <tbody>
35 <tr style="height: 56px;">
36 <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
37 <td id="projectalign" style="padding-left: 0.9em;">
38 <div id="projectname">
Nikhil Raj1dc83fe2024-05-16 09:47:51 +010039 &#160;<span id="projectnumber">24.05</span>
Nikhil Raj03c7ff32023-08-22 12:00:04 +010040 </div>
41 </td>
42 </tr>
43 </tbody>
44</table>
45</div>
46<!-- end header part -->
47<!-- Generated by Doxygen 1.8.17 -->
48<script type="text/javascript">
49/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
50var searchBox = new SearchBox("searchBox", "search",false,'Search');
51/* @license-end */
52</script>
53<script type="text/javascript" src="menudata.js"></script>
54<script type="text/javascript" src="menu.js"></script>
55<script type="text/javascript">
56/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
57$(function() {
58 initMenu('',true,false,'search.php','Search');
59 $(document).ready(function() { init_search(); });
60});
61/* @license-end */</script>
62<div id="main-nav"></div>
63</div><!-- top -->
64<div id="side-nav" class="ui-resizable side-nav-resizable">
65 <div id="nav-tree">
66 <div id="nav-tree-contents">
67 <div id="nav-sync" class="sync"></div>
68 </div>
69 </div>
70 <div id="splitbar" style="-moz-user-select:none;"
71 class="ui-resizable-handle">
72 </div>
73</div>
74<script type="text/javascript">
75/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
76$(document).ready(function(){initNavTree('structarmnn_1_1_batch_mat_mul_descriptor.html',''); initResizable(); });
77/* @license-end */
78</script>
79<div id="doc-content">
80<!-- window showing the filter options -->
81<div id="MSearchSelectWindow"
82 onmouseover="return searchBox.OnSearchSelectShow()"
83 onmouseout="return searchBox.OnSearchSelectHide()"
84 onkeydown="return searchBox.OnSearchSelectKey(event)">
85</div>
86
87<!-- iframe showing the search results (closed by default) -->
88<div id="MSearchResultsWindow">
89<iframe src="javascript:void(0)" frameborder="0"
90 name="MSearchResults" id="MSearchResults">
91</iframe>
92</div>
93
94<div class="header">
95 <div class="summary">
96<a href="#pub-methods">Public Member Functions</a> &#124;
97<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
98<a href="#pub-attribs">Public Attributes</a> &#124;
99<a href="structarmnn_1_1_batch_mat_mul_descriptor-members.html">List of all members</a> </div>
100 <div class="headertitle">
101<div class="title">BatchMatMulDescriptor Struct Reference</div> </div>
102</div><!--header-->
103<div class="contents">
104
105<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.
106 <a href="structarmnn_1_1_batch_mat_mul_descriptor.html#details">More...</a></p>
107
108<p><code>#include &lt;<a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a>&gt;</code></p>
109<div class="dynheader">
110Inheritance diagram for BatchMatMulDescriptor:</div>
111<div class="dyncontent">
112<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>
113</div>
114<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
115<div class="dynheader">
116Collaboration diagram for BatchMatMulDescriptor:</div>
117<div class="dyncontent">
118<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>
119</div>
120<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
121<table class="memberdecls">
122<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
123Public Member Functions</h2></td></tr>
124<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>
125<tr class="separator:afeaf71922a51fe85cd5a159381dd8b13"><td class="memSeparator" colspan="2">&#160;</td></tr>
126<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>
127<tr class="separator:a5c02af4929fee7377b0c8e0410044582"><td class="memSeparator" colspan="2">&#160;</td></tr>
128<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>
129<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>
130<tr class="separator:ac618666b3c6d65d2c88bcbb7abeed343 inherit pub_methods_structarmnn_1_1_base_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
131<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>
132<tr class="separator:a5e0f82ef2f18eb897e6d6f1845e74033 inherit pub_methods_structarmnn_1_1_base_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
133</table><table class="memberdecls">
134<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
135Static Public Member Functions</h2></td></tr>
136<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>
137<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>
138<tr class="separator:a58a8b597d58396266e06dd2c415154a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
139<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>
140<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>
141<tr class="separator:a991faafc762a50c3aa7a756117378cc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
142<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>
143<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>
144<tr class="separator:a85e74c2aeaf6fc124e9582329a82d72b"><td class="memSeparator" colspan="2">&#160;</td></tr>
145</table><table class="memberdecls">
146<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
147Public Attributes</h2></td></tr>
148<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>
149<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>
150<tr class="separator:acb441bb8db19bcce78d15cdd8ceb5ea0"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<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>
152<tr class="separator:a112b466e5d2ab9d1887178adbe3afa1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
153<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>
154<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>
155<tr class="separator:a0cf8306be7d301de0f095fff9901a525"><td class="memSeparator" colspan="2">&#160;</td></tr>
156<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>
157<tr class="separator:ad945fc98770356dd886a68e98a52e26b"><td class="memSeparator" colspan="2">&#160;</td></tr>
158<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>
159<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>
160<tr class="separator:aedca000a005e091c23191e82d7e81b1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
161<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>
162<tr class="separator:aaf7828880989b4b9378d3e86aa6dc843"><td class="memSeparator" colspan="2">&#160;</td></tr>
163</table>
164<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
165<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>
166
Nikhil Raj6f92c8e2023-11-22 11:41:15 +0000167<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>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100168</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
169<a id="afeaf71922a51fe85cd5a159381dd8b13"></a>
170<h2 class="memtitle"><span class="permalink"><a href="#afeaf71922a51fe85cd5a159381dd8b13">&#9670;&nbsp;</a></span>BatchMatMulDescriptor()</h2>
171
172<div class="memitem">
173<div class="memproto">
174<table class="mlabels">
175 <tr>
176 <td class="mlabels-left">
177 <table class="memname">
178 <tr>
179 <td class="memname"><a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html">BatchMatMulDescriptor</a> </td>
180 <td>(</td>
181 <td class="paramtype">bool&#160;</td>
182 <td class="paramname"><em>transposeX</em> = <code>false</code>, </td>
183 </tr>
184 <tr>
185 <td class="paramkey"></td>
186 <td></td>
187 <td class="paramtype">bool&#160;</td>
188 <td class="paramname"><em>transposeY</em> = <code>false</code>, </td>
189 </tr>
190 <tr>
191 <td class="paramkey"></td>
192 <td></td>
193 <td class="paramtype">bool&#160;</td>
194 <td class="paramname"><em>adjointX</em> = <code>false</code>, </td>
195 </tr>
196 <tr>
197 <td class="paramkey"></td>
198 <td></td>
199 <td class="paramtype">bool&#160;</td>
200 <td class="paramname"><em>adjointY</em> = <code>false</code>, </td>
201 </tr>
202 <tr>
203 <td class="paramkey"></td>
204 <td></td>
205 <td class="paramtype"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
206 <td class="paramname"><em>dataLayoutX</em> = <code><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a></code>, </td>
207 </tr>
208 <tr>
209 <td class="paramkey"></td>
210 <td></td>
211 <td class="paramtype"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
212 <td class="paramname"><em>dataLayoutY</em> = <code><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a></code>&#160;</td>
213 </tr>
214 <tr>
215 <td></td>
216 <td>)</td>
217 <td></td><td></td>
218 </tr>
219 </table>
220 </td>
221 <td class="mlabels-right">
222<span class="mlabels"><span class="mlabel">inline</span></span> </td>
223 </tr>
224</table>
225</div><div class="memdoc">
226
Nikhil Raj6f92c8e2023-11-22 11:41:15 +0000227<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>
228<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>
229<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>
230<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>
231<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>
232<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>
233<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>
234<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; {}</div>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100235</div><!-- fragment -->
236</div>
237</div>
238<h2 class="groupheader">Member Function Documentation</h2>
239<a id="a991faafc762a50c3aa7a756117378cc1"></a>
240<h2 class="memtitle"><span class="permalink"><a href="#a991faafc762a50c3aa7a756117378cc1">&#9670;&nbsp;</a></span>GetAxesNotMul()</h2>
241
242<div class="memitem">
243<div class="memproto">
244<table class="mlabels">
245 <tr>
246 <td class="mlabels-left">
247 <table class="memname">
248 <tr>
249 <td class="memname">std::vector&lt; unsigned int &gt; GetAxesNotMul </td>
250 <td>(</td>
251 <td class="paramtype"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
252 <td class="paramname"><em>dataLayout</em>, </td>
253 </tr>
254 <tr>
255 <td class="paramkey"></td>
256 <td></td>
257 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;&#160;</td>
258 <td class="paramname"><em>tensorShape</em>&#160;</td>
259 </tr>
260 <tr>
261 <td></td>
262 <td>)</td>
263 <td></td><td></td>
264 </tr>
265 </table>
266 </td>
267 <td class="mlabels-right">
268<span class="mlabels"><span class="mlabel">static</span></span> </td>
269 </tr>
270</table>
271</div><div class="memdoc">
272
273<p>Static helper to get the axes (for each input) that will not be multiplied together. </p>
274
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100275<p class="definition">Definition at line <a class="el" href="_descriptors_8cpp_source.html#l00506">506</a> of file <a class="el" href="_descriptors_8cpp_source.html">Descriptors.cpp</a>.</p>
276<div class="fragment"><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;{</div>
277<div class="line"><a name="l00510"></a><span class="lineno"> 510</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>
278<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; std::vector&lt;unsigned int&gt; axesNotMul;</div>
279<div class="line"><a name="l00512"></a><span class="lineno"> 512</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>
280<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; {</div>
281<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">if</span>(i == axesToMul.first || i == axesToMul.second)</div>
282<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; {</div>
283<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">continue</span>;</div>
284<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; }</div>
285<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; axesNotMul.push_back(i);</div>
286<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; }</div>
287<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">return</span> axesNotMul;</div>
288<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;}</div>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100289</div><!-- fragment -->
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100290<p class="reference">References <a class="el" href="_descriptors_8cpp_source.html#l00485">BatchMatMulDescriptor::GetAxesToMul()</a>, and <a class="el" href="_tensor_8cpp_source.html#l00174">TensorShape::GetNumDimensions()</a>.</p>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100291
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100292<p class="reference">Referenced by <a class="el" href="_workload_data_8cpp_source.html#l04175">BatchMatMulQueueDescriptor::Validate()</a>.</p>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100293
294</div>
295</div>
296<a id="a58a8b597d58396266e06dd2c415154a2"></a>
297<h2 class="memtitle"><span class="permalink"><a href="#a58a8b597d58396266e06dd2c415154a2">&#9670;&nbsp;</a></span>GetAxesToMul()</h2>
298
299<div class="memitem">
300<div class="memproto">
301<table class="mlabels">
302 <tr>
303 <td class="mlabels-left">
304 <table class="memname">
305 <tr>
306 <td class="memname">std::pair&lt; unsigned int, unsigned int &gt; GetAxesToMul </td>
307 <td>(</td>
308 <td class="paramtype"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
309 <td class="paramname"><em>dataLayout</em>, </td>
310 </tr>
311 <tr>
312 <td class="paramkey"></td>
313 <td></td>
314 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;&#160;</td>
315 <td class="paramname"><em>tensorShape</em>&#160;</td>
316 </tr>
317 <tr>
318 <td></td>
319 <td>)</td>
320 <td></td><td></td>
321 </tr>
322 </table>
323 </td>
324 <td class="mlabels-right">
325<span class="mlabels"><span class="mlabel">static</span></span> </td>
326 </tr>
327</table>
328</div><div class="memdoc">
329
330<p>Static helper to get the two axes (for each input) for multiplication. </p>
331
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100332<p class="definition">Definition at line <a class="el" href="_descriptors_8cpp_source.html#l00485">485</a> of file <a class="el" href="_descriptors_8cpp_source.html">Descriptors.cpp</a>.</p>
333<div class="fragment"><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;{</div>
334<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keyword">auto</span> numDims = tensorShape.GetNumDimensions();</div>
335<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; std::pair&lt;unsigned int, unsigned int&gt; axes = { numDims-2, numDims-1 };</div>
336<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">switch</span>(dataLayout)</div>
337<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; {</div>
338<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a4dd0194b114cbf51da5b3a72569863ef">DataLayout::NDHWC</a>:</div>
339<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0ad066db54b89b0912e7e7c6da51e2da51">DataLayout::NHWC</a>:</div>
340<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; axes.first -= 1;</div>
341<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; axes.second -= 1;</div>
342<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">break</span>;</div>
343<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a884e0167ebf9bbe6cfd6ca5ab97ab015">DataLayout::NCDHW</a>:</div>
344<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>:</div>
345<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">default</span>:</div>
346<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">break</span>;</div>
347<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; }</div>
348<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">return</span> axes;</div>
349<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;}</div>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100350</div><!-- fragment -->
351<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>
352
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100353<p class="reference">Referenced by <a class="el" href="_descriptors_8cpp_source.html#l00506">BatchMatMulDescriptor::GetAxesNotMul()</a>, <a class="el" href="_descriptors_8cpp_source.html#l00523">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#l04175">BatchMatMulQueueDescriptor::Validate()</a>.</p>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100354
355</div>
356</div>
357<a id="a85e74c2aeaf6fc124e9582329a82d72b"></a>
358<h2 class="memtitle"><span class="permalink"><a href="#a85e74c2aeaf6fc124e9582329a82d72b">&#9670;&nbsp;</a></span>GetPermuteVec()</h2>
359
360<div class="memitem">
361<div class="memproto">
362<table class="mlabels">
363 <tr>
364 <td class="mlabels-left">
365 <table class="memname">
366 <tr>
367 <td class="memname"><a class="el" href="classarmnn_1_1_permutation_vector.html">PermutationVector</a> GetPermuteVec </td>
368 <td>(</td>
369 <td class="paramtype"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
370 <td class="paramname"><em>dataLayout</em>, </td>
371 </tr>
372 <tr>
373 <td class="paramkey"></td>
374 <td></td>
375 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> &amp;&#160;</td>
376 <td class="paramname"><em>tensorShape</em>&#160;</td>
377 </tr>
378 <tr>
379 <td></td>
380 <td>)</td>
381 <td></td><td></td>
382 </tr>
383 </table>
384 </td>
385 <td class="mlabels-right">
386<span class="mlabels"><span class="mlabel">static</span></span> </td>
387 </tr>
388</table>
389</div><div class="memdoc">
390
391<p>Static helper to get the axes which will be transposed. </p>
392
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100393<p class="definition">Definition at line <a class="el" href="_descriptors_8cpp_source.html#l00523">523</a> of file <a class="el" href="_descriptors_8cpp_source.html">Descriptors.cpp</a>.</p>
394<div class="fragment"><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;{</div>
395<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; std::vector&lt;unsigned int&gt; vec;</div>
396<div class="line"><a name="l00528"></a><span class="lineno"> 528</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>
397<div class="line"><a name="l00529"></a><span class="lineno"> 529</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>
398<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; {</div>
399<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keywordflow">if</span>(i == axesToMul.first)</div>
400<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; {</div>
401<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; vec.push_back(i+1);</div>
402<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; }</div>
403<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(i == axesToMul.second)</div>
404<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; {</div>
405<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; vec.push_back(i-1);</div>
406<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; }</div>
407<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">else</span></div>
408<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; {</div>
409<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; vec.push_back(i);</div>
410<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; }</div>
411<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; }</div>
412<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">return</span> PermutationVector(vec.data(),</div>
413<div class="line"><a name="l00545"></a><span class="lineno"> 545</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>
414<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160;}</div>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100415</div><!-- fragment -->
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100416<p class="reference">References <a class="el" href="_descriptors_8cpp_source.html#l00485">BatchMatMulDescriptor::GetAxesToMul()</a>, and <a class="el" href="_tensor_8cpp_source.html#l00174">TensorShape::GetNumDimensions()</a>.</p>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100417
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100418<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#l04175">BatchMatMulQueueDescriptor::Validate()</a>.</p>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100419
420</div>
421</div>
422<a id="a5c02af4929fee7377b0c8e0410044582"></a>
423<h2 class="memtitle"><span class="permalink"><a href="#a5c02af4929fee7377b0c8e0410044582">&#9670;&nbsp;</a></span>operator==()</h2>
424
425<div class="memitem">
426<div class="memproto">
427<table class="mlabels">
428 <tr>
429 <td class="mlabels-left">
430 <table class="memname">
431 <tr>
432 <td class="memname">bool operator== </td>
433 <td>(</td>
434 <td class="paramtype">const <a class="el" href="structarmnn_1_1_batch_mat_mul_descriptor.html">BatchMatMulDescriptor</a> &amp;&#160;</td>
435 <td class="paramname"><em>rhs</em></td><td>)</td>
436 <td> const</td>
437 </tr>
438 </table>
439 </td>
440 <td class="mlabels-right">
441<span class="mlabels"><span class="mlabel">inline</span></span> </td>
442 </tr>
443</table>
444</div><div class="memdoc">
445
Nikhil Raj6f92c8e2023-11-22 11:41:15 +0000446<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>
447<div class="fragment"><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160; {</div>
448<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>
449<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>
450<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>
451<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>
452<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>
453<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>
454<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160; }</div>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100455</div><!-- fragment -->
Nikhil Raj6f92c8e2023-11-22 11:41:15 +0000456<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>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100457
458</div>
459</div>
460<h2 class="groupheader">Member Data Documentation</h2>
461<a id="a0cf8306be7d301de0f095fff9901a525"></a>
462<h2 class="memtitle"><span class="permalink"><a href="#a0cf8306be7d301de0f095fff9901a525">&#9670;&nbsp;</a></span>m_AdjointX</h2>
463
464<div class="memitem">
465<div class="memproto">
466 <table class="memname">
467 <tr>
468 <td class="memname">bool m_AdjointX</td>
469 </tr>
470 </table>
471</div><div class="memdoc">
472
473<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>
474
Nikhil Raj6f92c8e2023-11-22 11:41:15 +0000475<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>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100476
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100477<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#l04175">BatchMatMulQueueDescriptor::Validate()</a>.</p>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100478
479</div>
480</div>
481<a id="ad945fc98770356dd886a68e98a52e26b"></a>
482<h2 class="memtitle"><span class="permalink"><a href="#ad945fc98770356dd886a68e98a52e26b">&#9670;&nbsp;</a></span>m_AdjointY</h2>
483
484<div class="memitem">
485<div class="memproto">
486 <table class="memname">
487 <tr>
488 <td class="memname">bool m_AdjointY</td>
489 </tr>
490 </table>
491</div><div class="memdoc">
492
Nikhil Raj6f92c8e2023-11-22 11:41:15 +0000493<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>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100494
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100495<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#l04175">BatchMatMulQueueDescriptor::Validate()</a>.</p>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100496
497</div>
498</div>
499<a id="aedca000a005e091c23191e82d7e81b1d"></a>
500<h2 class="memtitle"><span class="permalink"><a href="#aedca000a005e091c23191e82d7e81b1d">&#9670;&nbsp;</a></span>m_DataLayoutX</h2>
501
502<div class="memitem">
503<div class="memproto">
504 <table class="memname">
505 <tr>
506 <td class="memname"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> m_DataLayoutX</td>
507 </tr>
508 </table>
509</div><div class="memdoc">
510
511<p>Data layout of each input tensor, such as NHWC/NDHWC (leave as default for arbitrary layout) </p>
512
Nikhil Raj6f92c8e2023-11-22 11:41:15 +0000513<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>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100514
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100515<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#l04175">BatchMatMulQueueDescriptor::Validate()</a>.</p>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100516
517</div>
518</div>
519<a id="aaf7828880989b4b9378d3e86aa6dc843"></a>
520<h2 class="memtitle"><span class="permalink"><a href="#aaf7828880989b4b9378d3e86aa6dc843">&#9670;&nbsp;</a></span>m_DataLayoutY</h2>
521
522<div class="memitem">
523<div class="memproto">
524 <table class="memname">
525 <tr>
526 <td class="memname"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> m_DataLayoutY</td>
527 </tr>
528 </table>
529</div><div class="memdoc">
530
Nikhil Raj6f92c8e2023-11-22 11:41:15 +0000531<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>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100532
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100533<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#l04175">BatchMatMulQueueDescriptor::Validate()</a>.</p>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100534
535</div>
536</div>
537<a id="acb441bb8db19bcce78d15cdd8ceb5ea0"></a>
538<h2 class="memtitle"><span class="permalink"><a href="#acb441bb8db19bcce78d15cdd8ceb5ea0">&#9670;&nbsp;</a></span>m_TransposeX</h2>
539
540<div class="memitem">
541<div class="memproto">
542 <table class="memname">
543 <tr>
544 <td class="memname">bool m_TransposeX</td>
545 </tr>
546 </table>
547</div><div class="memdoc">
548
549<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>
550
Nikhil Raj6f92c8e2023-11-22 11:41:15 +0000551<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>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100552
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100553<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#l04175">BatchMatMulQueueDescriptor::Validate()</a>.</p>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100554
555</div>
556</div>
557<a id="a112b466e5d2ab9d1887178adbe3afa1c"></a>
558<h2 class="memtitle"><span class="permalink"><a href="#a112b466e5d2ab9d1887178adbe3afa1c">&#9670;&nbsp;</a></span>m_TransposeY</h2>
559
560<div class="memitem">
561<div class="memproto">
562 <table class="memname">
563 <tr>
564 <td class="memname">bool m_TransposeY</td>
565 </tr>
566 </table>
567</div><div class="memdoc">
568
Nikhil Raj6f92c8e2023-11-22 11:41:15 +0000569<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>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100570
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100571<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#l04175">BatchMatMulQueueDescriptor::Validate()</a>.</p>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100572
573</div>
574</div>
575<hr/>The documentation for this struct was generated from the following files:<ul>
576<li>include/armnn/<a class="el" href="_descriptors_8hpp_source.html">Descriptors.hpp</a></li>
577<li>src/armnn/<a class="el" href="_descriptors_8cpp_source.html">Descriptors.cpp</a></li>
578</ul>
579</div><!-- contents -->
580</div><!-- doc-content -->
Nikhil Raj6f92c8e2023-11-22 11:41:15 +0000581<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>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100582<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>
Nikhil Raj6f92c8e2023-11-22 11:41:15 +0000583<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>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100584<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>
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100585<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#l00485">Descriptors.cpp:485</a></div></div>
Nikhil Raj6f92c8e2023-11-22 11:41:15 +0000586<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>
587<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>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100588<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>
Nikhil Raj6f92c8e2023-11-22 11:41:15 +0000589<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>
590<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>
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100591<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>
592<!-- start footer part -->
593<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
594 <ul>
595 <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>
Nikhil Raj1dc83fe2024-05-16 09:47:51 +0100596 <li class="footer">Generated on Thu May 16 2024 09:31:54 for Arm NN by
Nikhil Raj03c7ff32023-08-22 12:00:04 +0100597 <a href="http://www.doxygen.org/index.html">
598 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
599 </ul>
600</div>
601</body>
602</html>