cutlass/docs/classcutlass_1_1TensorRef.html

1041 lines
67 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.11"/>
<title>CUTLASS: cutlass::TensorRef&lt; Element_, Layout_ &gt; Class Template 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="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/javascript">
$(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="cutlass-logo-small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">CUTLASS
</div>
<div id="projectbrief">CUDA Templates for Linear Algebra Subroutines and Solvers</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecutlass.html">cutlass</a></li><li class="navelem"><a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="classcutlass_1_1TensorRef-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">cutlass::TensorRef&lt; Element_, Layout_ &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="tensor__ref_8h_source.html">tensor_ref.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cutlass::TensorRef&lt; Element_, Layout_ &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classcutlass_1_1TensorRef__inherit__graph.png" border="0" usemap="#cutlass_1_1TensorRef_3_01Element___00_01Layout___01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="cutlass_1_1TensorRef_3_01Element___00_01Layout___01_4_inherit__map" id="cutlass_1_1TensorRef_3_01Element___00_01Layout___01_4_inherit__map">
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a6c1be7001a3fb05f8ac2d1fe7ea94c68"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> = Element_</td></tr>
<tr class="memdesc:a6c1be7001a3fb05f8ac2d1fe7ea94c68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data type of individual access. <a href="#a6c1be7001a3fb05f8ac2d1fe7ea94c68">More...</a><br /></td></tr>
<tr class="separator:a6c1be7001a3fb05f8ac2d1fe7ea94c68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0e372b28e665820e6a2d17fc9f68d2b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a> = Layout_</td></tr>
<tr class="memdesc:ae0e372b28e665820e6a2d17fc9f68d2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mapping function from logical coordinate to linear memory. <a href="#ae0e372b28e665820e6a2d17fc9f68d2b">More...</a><br /></td></tr>
<tr class="separator:ae0e372b28e665820e6a2d17fc9f68d2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aba29ebf8715d217817a49356f95d3f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a0aba29ebf8715d217817a49356f95d3f">Reference</a> = typename <a class="el" href="structcutlass_1_1platform_1_1conditional.html">platform::conditional</a>&lt; <a class="el" href="structcutlass_1_1sizeof__bits.html">sizeof_bits</a>&lt; <a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> &gt;::value &gt;=8, <a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> &amp;, <a class="el" href="classcutlass_1_1SubbyteReference.html">SubbyteReference</a>&lt; <a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> &gt; &gt;::type</td></tr>
<tr class="memdesc:a0aba29ebf8715d217817a49356f95d3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference type to an element. <a href="#a0aba29ebf8715d217817a49356f95d3f">More...</a><br /></td></tr>
<tr class="separator:a0aba29ebf8715d217817a49356f95d3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11ec4b07a2132e647ca2ebe5112ce5ec"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a11ec4b07a2132e647ca2ebe5112ce5ec">Index</a> = typename Layout::Index</td></tr>
<tr class="memdesc:a11ec4b07a2132e647ca2ebe5112ce5ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index type. <a href="#a11ec4b07a2132e647ca2ebe5112ce5ec">More...</a><br /></td></tr>
<tr class="separator:a11ec4b07a2132e647ca2ebe5112ce5ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adeada5e33b231f125a4aaeaf963bd3a3"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#adeada5e33b231f125a4aaeaf963bd3a3">LongIndex</a> = typename Layout::LongIndex</td></tr>
<tr class="memdesc:adeada5e33b231f125a4aaeaf963bd3a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Long index used for pointer offsets. <a href="#adeada5e33b231f125a4aaeaf963bd3a3">More...</a><br /></td></tr>
<tr class="separator:adeada5e33b231f125a4aaeaf963bd3a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace218cdb46555a46bd71dbdfc2c317c1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> = typename Layout::TensorCoord</td></tr>
<tr class="memdesc:ace218cdb46555a46bd71dbdfc2c317c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Coordinate in logical tensor space. <a href="#ace218cdb46555a46bd71dbdfc2c317c1">More...</a><br /></td></tr>
<tr class="separator:ace218cdb46555a46bd71dbdfc2c317c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fb24829405f63b9fa9bbcb110141d9e"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a7fb24829405f63b9fa9bbcb110141d9e">Stride</a> = typename Layout::Stride</td></tr>
<tr class="memdesc:a7fb24829405f63b9fa9bbcb110141d9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layout's stride vector. <a href="#a7fb24829405f63b9fa9bbcb110141d9e">More...</a><br /></td></tr>
<tr class="separator:a7fb24829405f63b9fa9bbcb110141d9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3c5c9466713f62a5191e720827f34da"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#ad3c5c9466713f62a5191e720827f34da">ConstTensorRef</a> = <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a>&lt; typename <a class="el" href="structcutlass_1_1platform_1_1remove__const.html">platform::remove_const</a>&lt; <a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> &gt;::type const, <a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a> &gt;</td></tr>
<tr class="memdesc:ad3c5c9466713f62a5191e720827f34da"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> to constant data. <a href="#ad3c5c9466713f62a5191e720827f34da">More...</a><br /></td></tr>
<tr class="separator:ad3c5c9466713f62a5191e720827f34da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68c6f7efc142acf71dd3908b00494b38"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a68c6f7efc142acf71dd3908b00494b38">NonConstTensorRef</a> = <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a>&lt; typename <a class="el" href="structcutlass_1_1platform_1_1remove__const.html">platform::remove_const</a>&lt; <a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> &gt;::type, <a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a> &gt;</td></tr>
<tr class="memdesc:a68c6f7efc142acf71dd3908b00494b38"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> to non-constant data. <a href="#a68c6f7efc142acf71dd3908b00494b38">More...</a><br /></td></tr>
<tr class="separator:a68c6f7efc142acf71dd3908b00494b38"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a26c607b811a8f828f5ec5b00f3b874ea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a26c607b811a8f828f5ec5b00f3b874ea">TensorRef</a> (<a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> *ptr=<a class="el" href="platform_8h.html#ab979d9d4b4923f7c54d6caa6e1a61936">nullptr</a>, <a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a> const &amp;<a class="el" href="classcutlass_1_1TensorRef.html#a7771fcd932e36c51c15572305f5b5520">layout</a>=<a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a>())</td></tr>
<tr class="memdesc:a26c607b811a8f828f5ec5b00f3b874ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> with a pointer and layout object. <a href="#a26c607b811a8f828f5ec5b00f3b874ea">More...</a><br /></td></tr>
<tr class="separator:a26c607b811a8f828f5ec5b00f3b874ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b79f0d7c0c70774199ba4226bae0fe0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a2b79f0d7c0c70774199ba4226bae0fe0">TensorRef</a> (<a class="el" href="classcutlass_1_1TensorRef.html#a68c6f7efc142acf71dd3908b00494b38">NonConstTensorRef</a> const &amp;ref)</td></tr>
<tr class="memdesc:a2b79f0d7c0c70774199ba4226bae0fe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converting constructor from <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> to non-constant data. <a href="#a2b79f0d7c0c70774199ba4226bae0fe0">More...</a><br /></td></tr>
<tr class="separator:a2b79f0d7c0c70774199ba4226bae0fe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c5c66a59e9759f11f832fb71f4234c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#ad3c5c9466713f62a5191e720827f34da">ConstTensorRef</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a5c5c66a59e9759f11f832fb71f4234c2">const_ref</a> () const </td></tr>
<tr class="memdesc:a5c5c66a59e9759f11f832fb71f4234c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to constant-valued tensor. <a href="#a5c5c66a59e9759f11f832fb71f4234c2">More...</a><br /></td></tr>
<tr class="separator:a5c5c66a59e9759f11f832fb71f4234c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66a9bab939e2d57c130bb76a5527f482"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a68c6f7efc142acf71dd3908b00494b38">NonConstTensorRef</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a66a9bab939e2d57c130bb76a5527f482">non_const_ref</a> () const </td></tr>
<tr class="separator:a66a9bab939e2d57c130bb76a5527f482"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c2149162016bc19c7735b824d57eb9e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a9c2149162016bc19c7735b824d57eb9e">reset</a> (<a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> *ptr=<a class="el" href="platform_8h.html#ab979d9d4b4923f7c54d6caa6e1a61936">nullptr</a>)</td></tr>
<tr class="memdesc:a9c2149162016bc19c7735b824d57eb9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates only the pointer. <a href="#a9c2149162016bc19c7735b824d57eb9e">More...</a><br /></td></tr>
<tr class="separator:a9c2149162016bc19c7735b824d57eb9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c539841446205c482fe18cc0a99d913"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a1c539841446205c482fe18cc0a99d913">reset</a> (<a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> *ptr, <a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a> const &amp;<a class="el" href="classcutlass_1_1TensorRef.html#a7771fcd932e36c51c15572305f5b5520">layout</a>)</td></tr>
<tr class="memdesc:a1c539841446205c482fe18cc0a99d913"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the pointer and layout object. <a href="#a1c539841446205c482fe18cc0a99d913">More...</a><br /></td></tr>
<tr class="separator:a1c539841446205c482fe18cc0a99d913"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac968ea9cb34fa99d29c64608c53bd4d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#ac968ea9cb34fa99d29c64608c53bd4d4">good</a> () const </td></tr>
<tr class="memdesc:ac968ea9cb34fa99d29c64608c53bd4d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> is non-null. <a href="#ac968ea9cb34fa99d29c64608c53bd4d4">More...</a><br /></td></tr>
<tr class="separator:ac968ea9cb34fa99d29c64608c53bd4d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7db3ca62ab1dfe0d3ea08bcadbc9352"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#ac7db3ca62ab1dfe0d3ea08bcadbc9352">data</a> () const </td></tr>
<tr class="memdesc:ac7db3ca62ab1dfe0d3ea08bcadbc9352"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the pointer to referenced data. <a href="#ac7db3ca62ab1dfe0d3ea08bcadbc9352">More...</a><br /></td></tr>
<tr class="separator:ac7db3ca62ab1dfe0d3ea08bcadbc9352"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a965e8b3b7f92dc51d4d3821ea6a25012"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a0aba29ebf8715d217817a49356f95d3f">Reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a965e8b3b7f92dc51d4d3821ea6a25012">data</a> (<a class="el" href="classcutlass_1_1TensorRef.html#adeada5e33b231f125a4aaeaf963bd3a3">LongIndex</a> idx) const </td></tr>
<tr class="memdesc:a965e8b3b7f92dc51d4d3821ea6a25012"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the element at a given linear index. <a href="#a965e8b3b7f92dc51d4d3821ea6a25012">More...</a><br /></td></tr>
<tr class="separator:a965e8b3b7f92dc51d4d3821ea6a25012"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7771fcd932e36c51c15572305f5b5520"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a7771fcd932e36c51c15572305f5b5520">layout</a> ()</td></tr>
<tr class="memdesc:a7771fcd932e36c51c15572305f5b5520"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the layout object. <a href="#a7771fcd932e36c51c15572305f5b5520">More...</a><br /></td></tr>
<tr class="separator:a7771fcd932e36c51c15572305f5b5520"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca7d373c988016ee946f85ea958b21a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#aca7d373c988016ee946f85ea958b21a7">layout</a> () const </td></tr>
<tr class="memdesc:aca7d373c988016ee946f85ea958b21a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the layout object. <a href="#aca7d373c988016ee946f85ea958b21a7">More...</a><br /></td></tr>
<tr class="separator:aca7d373c988016ee946f85ea958b21a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a191e88bc0fb310be655d700e937ab97c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a7fb24829405f63b9fa9bbcb110141d9e">Stride</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a191e88bc0fb310be655d700e937ab97c">stride</a> () const </td></tr>
<tr class="memdesc:a191e88bc0fb310be655d700e937ab97c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the layout object's stride vector. <a href="#a191e88bc0fb310be655d700e937ab97c">More...</a><br /></td></tr>
<tr class="separator:a191e88bc0fb310be655d700e937ab97c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fbf003d2e2321f816be60b0cbd0cfb7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a7fb24829405f63b9fa9bbcb110141d9e">Stride</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a5fbf003d2e2321f816be60b0cbd0cfb7">stride</a> ()</td></tr>
<tr class="memdesc:a5fbf003d2e2321f816be60b0cbd0cfb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the layout object's stride vector. <a href="#a5fbf003d2e2321f816be60b0cbd0cfb7">More...</a><br /></td></tr>
<tr class="separator:a5fbf003d2e2321f816be60b0cbd0cfb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a300283c640d4e6aadc9c695befa26fec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a11ec4b07a2132e647ca2ebe5112ce5ec">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a300283c640d4e6aadc9c695befa26fec">stride</a> (int dim) const </td></tr>
<tr class="memdesc:a300283c640d4e6aadc9c695befa26fec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the layout object's stride in a given physical dimension. <a href="#a300283c640d4e6aadc9c695befa26fec">More...</a><br /></td></tr>
<tr class="separator:a300283c640d4e6aadc9c695befa26fec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a425adc5418cc80c9929579046d3111ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a11ec4b07a2132e647ca2ebe5112ce5ec">Index</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a425adc5418cc80c9929579046d3111ef">stride</a> (int dim)</td></tr>
<tr class="memdesc:a425adc5418cc80c9929579046d3111ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the layout object's stride in a given physical dimension. <a href="#a425adc5418cc80c9929579046d3111ef">More...</a><br /></td></tr>
<tr class="separator:a425adc5418cc80c9929579046d3111ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4166ac2a0754574ac21d5d57d74f34e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#adeada5e33b231f125a4aaeaf963bd3a3">LongIndex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a4166ac2a0754574ac21d5d57d74f34e5">offset</a> (<a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;coord) const </td></tr>
<tr class="memdesc:a4166ac2a0754574ac21d5d57d74f34e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the offset of an index from the origin of the tensor. <a href="#a4166ac2a0754574ac21d5d57d74f34e5">More...</a><br /></td></tr>
<tr class="separator:a4166ac2a0754574ac21d5d57d74f34e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8758907a1c9b1fcd00e7ece626d03b76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a0aba29ebf8715d217817a49356f95d3f">Reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a8758907a1c9b1fcd00e7ece626d03b76">at</a> (<a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;coord) const </td></tr>
<tr class="memdesc:a8758907a1c9b1fcd00e7ece626d03b76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the element at a given <a class="el" href="structcutlass_1_1Coord.html" title="Statically-sized array specifying Coords within a tensor. ">Coord</a>. <a href="#a8758907a1c9b1fcd00e7ece626d03b76">More...</a><br /></td></tr>
<tr class="separator:a8758907a1c9b1fcd00e7ece626d03b76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10e36681cae687d9a45ec01bad2626b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a0aba29ebf8715d217817a49356f95d3f">Reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a10e36681cae687d9a45ec01bad2626b7">operator[]</a> (<a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;coord) const </td></tr>
<tr class="memdesc:a10e36681cae687d9a45ec01bad2626b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the element at a given <a class="el" href="structcutlass_1_1Coord.html" title="Statically-sized array specifying Coords within a tensor. ">Coord</a>. <a href="#a10e36681cae687d9a45ec01bad2626b7">More...</a><br /></td></tr>
<tr class="separator:a10e36681cae687d9a45ec01bad2626b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bbcd0e512915565cabfeccdb1b6417d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a6bbcd0e512915565cabfeccdb1b6417d">add_pointer_offset</a> (<a class="el" href="classcutlass_1_1TensorRef.html#adeada5e33b231f125a4aaeaf963bd3a3">LongIndex</a> offset_)</td></tr>
<tr class="memdesc:a6bbcd0e512915565cabfeccdb1b6417d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds an offset to each pointer. <a href="#a6bbcd0e512915565cabfeccdb1b6417d">More...</a><br /></td></tr>
<tr class="separator:a6bbcd0e512915565cabfeccdb1b6417d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bed879c428963070de8ffbdc5d6e4f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a4bed879c428963070de8ffbdc5d6e4f9">add_coord_offset</a> (<a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;coord)</td></tr>
<tr class="memdesc:a4bed879c428963070de8ffbdc5d6e4f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds an offset to each pointer. <a href="#a4bed879c428963070de8ffbdc5d6e4f9">More...</a><br /></td></tr>
<tr class="separator:a4bed879c428963070de8ffbdc5d6e4f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4e1a9d4912a18547cd5391d63e8e7ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#ad4e1a9d4912a18547cd5391d63e8e7ac">operator+</a> (<a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;b) const </td></tr>
<tr class="memdesc:ad4e1a9d4912a18547cd5391d63e8e7ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> offset by a given amount. <a href="#ad4e1a9d4912a18547cd5391d63e8e7ac">More...</a><br /></td></tr>
<tr class="separator:ad4e1a9d4912a18547cd5391d63e8e7ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae82b8ba3bbf7ebb28fe063932db3dc6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#ae82b8ba3bbf7ebb28fe063932db3dc6b">operator+=</a> (<a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;b)</td></tr>
<tr class="memdesc:ae82b8ba3bbf7ebb28fe063932db3dc6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> offset by a given amount. <a href="#ae82b8ba3bbf7ebb28fe063932db3dc6b">More...</a><br /></td></tr>
<tr class="separator:ae82b8ba3bbf7ebb28fe063932db3dc6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa275fd660406665884f25c6f693a8892"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#aa275fd660406665884f25c6f693a8892">operator-</a> (<a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;b) const </td></tr>
<tr class="memdesc:aa275fd660406665884f25c6f693a8892"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> offset by a given amount. <a href="#aa275fd660406665884f25c6f693a8892">More...</a><br /></td></tr>
<tr class="separator:aa275fd660406665884f25c6f693a8892"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5f24cda8149ddfa8f19467ff2629f49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#ac5f24cda8149ddfa8f19467ff2629f49">operator-=</a> (<a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;b)</td></tr>
<tr class="memdesc:ac5f24cda8149ddfa8f19467ff2629f49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> offset by a given amount. <a href="#ac5f24cda8149ddfa8f19467ff2629f49">More...</a><br /></td></tr>
<tr class="separator:ac5f24cda8149ddfa8f19467ff2629f49"><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-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a87c5c1c23b67b7182a177ef8d9437edd"><td class="memItemLeft" align="right" valign="top">static int const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1TensorRef.html#a87c5c1c23b67b7182a177ef8d9437edd">kRank</a> = Layout::kRank</td></tr>
<tr class="memdesc:a87c5c1c23b67b7182a177ef8d9437edd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logical rank of tensor index space. <a href="#a87c5c1c23b67b7182a177ef8d9437edd">More...</a><br /></td></tr>
<tr class="separator:a87c5c1c23b67b7182a177ef8d9437edd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="ad3c5c9466713f62a5191e720827f34da"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::<a class="el" href="classcutlass_1_1TensorRef.html#ad3c5c9466713f62a5191e720827f34da">ConstTensorRef</a> = <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a>&lt; typename <a class="el" href="structcutlass_1_1platform_1_1remove__const.html">platform::remove_const</a>&lt;<a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a>&gt;::type const, <a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a>&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6c1be7001a3fb05f8ac2d1fe7ea94c68"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::<a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> = Element_</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a11ec4b07a2132e647ca2ebe5112ce5ec"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::<a class="el" href="classcutlass_1_1TensorRef.html#a11ec4b07a2132e647ca2ebe5112ce5ec">Index</a> = typename Layout::Index</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae0e372b28e665820e6a2d17fc9f68d2b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::<a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a> = Layout_</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="adeada5e33b231f125a4aaeaf963bd3a3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::<a class="el" href="classcutlass_1_1TensorRef.html#adeada5e33b231f125a4aaeaf963bd3a3">LongIndex</a> = typename Layout::LongIndex</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a68c6f7efc142acf71dd3908b00494b38"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::<a class="el" href="classcutlass_1_1TensorRef.html#a68c6f7efc142acf71dd3908b00494b38">NonConstTensorRef</a> = <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a>&lt; typename <a class="el" href="structcutlass_1_1platform_1_1remove__const.html">platform::remove_const</a>&lt;<a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a>&gt;::type, <a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a>&gt;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0aba29ebf8715d217817a49356f95d3f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::<a class="el" href="classcutlass_1_1TensorRef.html#a0aba29ebf8715d217817a49356f95d3f">Reference</a> = typename <a class="el" href="structcutlass_1_1platform_1_1conditional.html">platform::conditional</a>&lt; <a class="el" href="structcutlass_1_1sizeof__bits.html">sizeof_bits</a>&lt;<a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a>&gt;::value &gt;= 8, <a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> &amp;, <a class="el" href="classcutlass_1_1SubbyteReference.html">SubbyteReference</a>&lt;<a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a>&gt; &gt;::type</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7fb24829405f63b9fa9bbcb110141d9e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::<a class="el" href="classcutlass_1_1TensorRef.html#a7fb24829405f63b9fa9bbcb110141d9e">Stride</a> = typename Layout::Stride</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ace218cdb46555a46bd71dbdfc2c317c1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::<a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> = typename Layout::TensorCoord</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a26c607b811a8f828f5ec5b00f3b874ea"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::<a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> *&#160;</td>
<td class="paramname"><em>ptr</em> = <code><a class="el" href="platform_8h.html#ab979d9d4b4923f7c54d6caa6e1a61936">nullptr</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a> const &amp;&#160;</td>
<td class="paramname"><em>layout</em> = <code><a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</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">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ptr</td><td>pointer to start of tensor </td></tr>
<tr><td class="paramname">layout</td><td>layout object containing stride and mapping function </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a2b79f0d7c0c70774199ba4226bae0fe0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::<a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#a68c6f7efc142acf71dd3908b00494b38">NonConstTensorRef</a>&lt; Element_, Layout_ &gt; const &amp;&#160;</td>
<td class="paramname"><em>ref</em></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">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ref</td><td><a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> to non-const data </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a4bed879c428963070de8ffbdc5d6e4f9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a>&amp; <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::add_coord_offset </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;&#160;</td>
<td class="paramname"><em>coord</em></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">
</div>
</div>
<a class="anchor" id="a6bbcd0e512915565cabfeccdb1b6417d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a>&amp; <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::add_pointer_offset </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#adeada5e33b231f125a4aaeaf963bd3a3">LongIndex</a>&#160;</td>
<td class="paramname"><em>offset_</em></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">
</div>
</div>
<a class="anchor" id="a8758907a1c9b1fcd00e7ece626d03b76"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a0aba29ebf8715d217817a49356f95d3f">Reference</a> <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::at </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;&#160;</td>
<td class="paramname"><em>coord</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">
</div>
</div>
<a class="anchor" id="a5c5c66a59e9759f11f832fb71f4234c2"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#ad3c5c9466713f62a5191e720827f34da">ConstTensorRef</a> <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::const_ref </td>
<td>(</td>
<td class="paramname"></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">
</div>
</div>
<a class="anchor" id="ac7db3ca62ab1dfe0d3ea08bcadbc9352"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a>* <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::data </td>
<td>(</td>
<td class="paramname"></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">
</div>
</div>
<a class="anchor" id="a965e8b3b7f92dc51d4d3821ea6a25012"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a0aba29ebf8715d217817a49356f95d3f">Reference</a> <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::data </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#adeada5e33b231f125a4aaeaf963bd3a3">LongIndex</a>&#160;</td>
<td class="paramname"><em>idx</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">
</div>
</div>
<a class="anchor" id="ac968ea9cb34fa99d29c64608c53bd4d4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> bool <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::good </td>
<td>(</td>
<td class="paramname"></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">
</div>
</div>
<a class="anchor" id="a7771fcd932e36c51c15572305f5b5520"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a>&amp; <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::layout </td>
<td>(</td>
<td class="paramname"></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">
</div>
</div>
<a class="anchor" id="aca7d373c988016ee946f85ea958b21a7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a> <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::layout </td>
<td>(</td>
<td class="paramname"></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">
</div>
</div>
<a class="anchor" id="a66a9bab939e2d57c130bb76a5527f482"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a68c6f7efc142acf71dd3908b00494b38">NonConstTensorRef</a> <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::non_const_ref </td>
<td>(</td>
<td class="paramname"></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">
</div>
</div>
<a class="anchor" id="a4166ac2a0754574ac21d5d57d74f34e5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#adeada5e33b231f125a4aaeaf963bd3a3">LongIndex</a> <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::offset </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;&#160;</td>
<td class="paramname"><em>coord</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">
</div>
</div>
<a class="anchor" id="ad4e1a9d4912a18547cd5391d63e8e7ac"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::operator+ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;&#160;</td>
<td class="paramname"><em>b</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">
</div>
</div>
<a class="anchor" id="ae82b8ba3bbf7ebb28fe063932db3dc6b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a>&amp; <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::operator+= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;&#160;</td>
<td class="paramname"><em>b</em></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">
</div>
</div>
<a class="anchor" id="aa275fd660406665884f25c6f693a8892"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a> <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::operator- </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;&#160;</td>
<td class="paramname"><em>b</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">
</div>
</div>
<a class="anchor" id="ac5f24cda8149ddfa8f19467ff2629f49"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html">TensorRef</a>&amp; <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::operator-= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;&#160;</td>
<td class="paramname"><em>b</em></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">
</div>
</div>
<a class="anchor" id="a10e36681cae687d9a45ec01bad2626b7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a0aba29ebf8715d217817a49356f95d3f">Reference</a> <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::operator[] </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#ace218cdb46555a46bd71dbdfc2c317c1">TensorCoord</a> const &amp;&#160;</td>
<td class="paramname"><em>coord</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">
</div>
</div>
<a class="anchor" id="a9c2149162016bc19c7735b824d57eb9e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> void <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::reset </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> *&#160;</td>
<td class="paramname"><em>ptr</em> = <code><a class="el" href="platform_8h.html#ab979d9d4b4923f7c54d6caa6e1a61936">nullptr</a></code></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">
</div>
</div>
<a class="anchor" id="a1c539841446205c482fe18cc0a99d913"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> void <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::reset </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#a6c1be7001a3fb05f8ac2d1fe7ea94c68">Element</a> *&#160;</td>
<td class="paramname"><em>ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classcutlass_1_1TensorRef.html#ae0e372b28e665820e6a2d17fc9f68d2b">Layout</a> const &amp;&#160;</td>
<td class="paramname"><em>layout</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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a191e88bc0fb310be655d700e937ab97c"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a7fb24829405f63b9fa9bbcb110141d9e">Stride</a> <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::stride </td>
<td>(</td>
<td class="paramname"></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">
</div>
</div>
<a class="anchor" id="a5fbf003d2e2321f816be60b0cbd0cfb7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a7fb24829405f63b9fa9bbcb110141d9e">Stride</a>&amp; <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::stride </td>
<td>(</td>
<td class="paramname"></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">
</div>
</div>
<a class="anchor" id="a300283c640d4e6aadc9c695befa26fec"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a11ec4b07a2132e647ca2ebe5112ce5ec">Index</a> <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::stride </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dim</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">
</div>
</div>
<a class="anchor" id="a425adc5418cc80c9929579046d3111ef"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="classcutlass_1_1TensorRef.html#a11ec4b07a2132e647ca2ebe5112ce5ec">Index</a>&amp; <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::stride </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dim</em></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">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a87c5c1c23b67b7182a177ef8d9437edd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Element_, typename Layout_&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int const <a class="el" href="classcutlass_1_1TensorRef.html">cutlass::TensorRef</a>&lt; Element_, Layout_ &gt;::kRank = Layout::kRank</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="tensor__ref_8h_source.html">tensor_ref.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>