cutlass/docs/generated-html/structcutlass_1_1TileIteratorBase.html
2018-05-16 11:44:56 -07:00

696 lines
58 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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Cutlass: cutlass::TileIteratorBase&lt; Traits_, Scalar_, Advance_, MemorySpace, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt; Struct 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/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" async 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="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.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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="structcutlass_1_1TileIteratorBase.html">TileIteratorBase</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="structcutlass_1_1TileIteratorBase-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">cutlass::TileIteratorBase&lt; Traits_, Scalar_, Advance_, MemorySpace, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt; Struct Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Iterator for accessing a stripmined tile in memory.
</p>
<p><code>#include &lt;<a class="el" href="tile__iterator_8h_source.html">tile_iterator.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cutlass::TileIteratorBase&lt; Traits_, Scalar_, Advance_, MemorySpace, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="structcutlass_1_1TileIteratorBase.png" usemap="#cutlass::TileIteratorBase_3C_20Traits_5F_2C_20Scalar_5F_2C_20Advance_5F_2C_20MemorySpace_2C_20Index_5F_2C_20FragmentElement_5F_2C_20IteratorFragment_5F_2C_20Skew_5F_20_3E_map" alt=""/>
<map id="cutlass::TileIteratorBase_3C_20Traits_5F_2C_20Scalar_5F_2C_20Advance_5F_2C_20MemorySpace_2C_20Index_5F_2C_20FragmentElement_5F_2C_20IteratorFragment_5F_2C_20Skew_5F_20_3E_map" name="cutlass::TileIteratorBase_3C_20Traits_5F_2C_20Scalar_5F_2C_20Advance_5F_2C_20MemorySpace_2C_20Index_5F_2C_20FragmentElement_5F_2C_20IteratorFragment_5F_2C_20Skew_5F_20_3E_map">
<area href="structcutlass_1_1TileLoadIterator.html" title="An iterator implementing Tile Load Iterator Concept for loading a tile from memory. " alt="cutlass::TileLoadIterator&lt; Traits_, Scalar_, Advance_, MemorySpace, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;" shape="rect" coords="0,56,734,80"/>
<area href="structcutlass_1_1TileStoreIterator.html" title="An iterator implementing Tile Store Iterator Concept for storing a tile to memory. " alt="cutlass::TileStoreIterator&lt; Traits_, Scalar_, Advance_, MemorySpace, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;" shape="rect" coords="744,56,1478,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase_1_1Params.html">Params</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters to the iterator. <a href="structcutlass_1_1TileIteratorBase_1_1Params.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ae7add0ee02bbec2c130ebaf608ab0696"><td class="memItemLeft" align="right" valign="top">typedef Traits_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#ae7add0ee02bbec2c130ebaf608ab0696">Traits</a></td></tr>
<tr class="memdesc:ae7add0ee02bbec2c130ebaf608ab0696"><td class="mdescLeft">&#160;</td><td class="mdescRight">concept <a class="el" href="structcutlass_1_1TileTraits.html" title="A template defining Tile Traits Concept. ">TileTraits</a> <a href="#ae7add0ee02bbec2c130ebaf608ab0696">More...</a><br /></td></tr>
<tr class="separator:ae7add0ee02bbec2c130ebaf608ab0696"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17163e93d7d3616b4950925f72bb4c16"><td class="memItemLeft" align="right" valign="top">typedef Scalar_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a17163e93d7d3616b4950925f72bb4c16">Scalar</a></td></tr>
<tr class="memdesc:a17163e93d7d3616b4950925f72bb4c16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scalar element. <a href="#a17163e93d7d3616b4950925f72bb4c16">More...</a><br /></td></tr>
<tr class="separator:a17163e93d7d3616b4950925f72bb4c16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7cca14d54bf3f0749db1ffaea7c9ae7"><td class="memItemLeft" align="right" valign="top">typedef FragmentElement_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#ac7cca14d54bf3f0749db1ffaea7c9ae7">FragmentElement</a></td></tr>
<tr class="memdesc:ac7cca14d54bf3f0749db1ffaea7c9ae7"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structcutlass_1_1Fragment.html" title="A template defining Fragment Concept. ">Fragment</a> element. <a href="#ac7cca14d54bf3f0749db1ffaea7c9ae7">More...</a><br /></td></tr>
<tr class="separator:ac7cca14d54bf3f0749db1ffaea7c9ae7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44665808adfd69df0d26cec4b1840cc3"><td class="memItemLeft" align="right" valign="top">typedef Index_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a44665808adfd69df0d26cec4b1840cc3">Index</a></td></tr>
<tr class="memdesc:a44665808adfd69df0d26cec4b1840cc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index type. <a href="#a44665808adfd69df0d26cec4b1840cc3">More...</a><br /></td></tr>
<tr class="separator:a44665808adfd69df0d26cec4b1840cc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae89afbcf642b3023770ff22969c51d16"><td class="memItemLeft" align="right" valign="top">typedef Skew_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#ae89afbcf642b3023770ff22969c51d16">Skew</a></td></tr>
<tr class="memdesc:ae89afbcf642b3023770ff22969c51d16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Skew quantity. <a href="#ae89afbcf642b3023770ff22969c51d16">More...</a><br /></td></tr>
<tr class="separator:ae89afbcf642b3023770ff22969c51d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a954ef18acc12d8256a7d4e37683f8c2c"><td class="memItemLeft" align="right" valign="top">typedef Traits::Tile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a954ef18acc12d8256a7d4e37683f8c2c">Tile</a></td></tr>
<tr class="memdesc:a954ef18acc12d8256a7d4e37683f8c2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tile shape. <a href="#a954ef18acc12d8256a7d4e37683f8c2c">More...</a><br /></td></tr>
<tr class="separator:a954ef18acc12d8256a7d4e37683f8c2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bc6c04f4a3adeb5a29743fa43425088"><td class="memItemLeft" align="right" valign="top">typedef Traits::Delta&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a9bc6c04f4a3adeb5a29743fa43425088">Delta</a></td></tr>
<tr class="memdesc:a9bc6c04f4a3adeb5a29743fa43425088"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance along each dimension. <a href="#a9bc6c04f4a3adeb5a29743fa43425088">More...</a><br /></td></tr>
<tr class="separator:a9bc6c04f4a3adeb5a29743fa43425088"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a561ceb1093b28b8dce67df0129b7b8b8"><td class="memItemLeft" align="right" valign="top">typedef Traits::ImmediateOffsetStrides&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a561ceb1093b28b8dce67df0129b7b8b8">ImmediateOffsetStrides</a></td></tr>
<tr class="memdesc:a561ceb1093b28b8dce67df0129b7b8b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">The strides in each dimension between different loads/stores. <a href="#a561ceb1093b28b8dce67df0129b7b8b8">More...</a><br /></td></tr>
<tr class="separator:a561ceb1093b28b8dce67df0129b7b8b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a352ed0773b37f03bf68e4b6cf9899474"><td class="memItemLeft" align="right" valign="top">typedef Traits::Iterations&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a352ed0773b37f03bf68e4b6cf9899474">Iterations</a></td></tr>
<tr class="memdesc:a352ed0773b37f03bf68e4b6cf9899474"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterations. <a href="#a352ed0773b37f03bf68e4b6cf9899474">More...</a><br /></td></tr>
<tr class="separator:a352ed0773b37f03bf68e4b6cf9899474"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5abf4755aee07dc58b1d6183fbf4786f"><td class="memItemLeft" align="right" valign="top">typedef Traits::ThreadOffset&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a5abf4755aee07dc58b1d6183fbf4786f">ThreadOffset</a></td></tr>
<tr class="memdesc:a5abf4755aee07dc58b1d6183fbf4786f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread offset. <a href="#a5abf4755aee07dc58b1d6183fbf4786f">More...</a><br /></td></tr>
<tr class="separator:a5abf4755aee07dc58b1d6183fbf4786f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb3dde23971ad35a477b75ee99381b53"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1Vectorize.html">Vectorize</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#ac7cca14d54bf3f0749db1ffaea7c9ae7">FragmentElement</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#aef07ba456ea016092d7d2446751b76a3">kAccessSize</a> &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#abb3dde23971ad35a477b75ee99381b53">AccessType</a></td></tr>
<tr class="memdesc:abb3dde23971ad35a477b75ee99381b53"><td class="mdescLeft">&#160;</td><td class="mdescRight">The elements loaded/store by one instruction. <a href="#abb3dde23971ad35a477b75ee99381b53">More...</a><br /></td></tr>
<tr class="separator:abb3dde23971ad35a477b75ee99381b53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ca47fd6e2f9cbb3498c138417ea414a"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a0d7b595d7959cc1680fc07c2e02e1c8e">Fragment</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#a17163e93d7d3616b4950925f72bb4c16">Scalar</a>, <a class="el" href="structcutlass_1_1ShapeCount.html">ShapeCount</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#a954ef18acc12d8256a7d4e37683f8c2c">Tile</a> &gt;::kCount, <a class="el" href="structcutlass_1_1TileIteratorBase.html#a4e0b2bc06bb8f52313e4d8c51ab30ff2">kFragmentSize</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a6ca47fd6e2f9cbb3498c138417ea414a">Storage</a></td></tr>
<tr class="memdesc:a6ca47fd6e2f9cbb3498c138417ea414a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The storage. <a href="#a6ca47fd6e2f9cbb3498c138417ea414a">More...</a><br /></td></tr>
<tr class="separator:a6ca47fd6e2f9cbb3498c138417ea414a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d7b595d7959cc1680fc07c2e02e1c8e"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a0d7b595d7959cc1680fc07c2e02e1c8e">Fragment</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#ac7cca14d54bf3f0749db1ffaea7c9ae7">FragmentElement</a>, <a class="el" href="structcutlass_1_1ShapeCount.html">ShapeCount</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#a352ed0773b37f03bf68e4b6cf9899474">Iterations</a> &gt;::kCount *<a class="el" href="structcutlass_1_1TileIteratorBase.html#aef07ba456ea016092d7d2446751b76a3">kAccessSize</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a0d7b595d7959cc1680fc07c2e02e1c8e">Fragment</a></td></tr>
<tr class="memdesc:a0d7b595d7959cc1680fc07c2e02e1c8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The fragment. <a href="#a0d7b595d7959cc1680fc07c2e02e1c8e">More...</a><br /></td></tr>
<tr class="separator:a0d7b595d7959cc1680fc07c2e02e1c8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a379a52ed1128fc9f93cad35d3e3233e5"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a379a52ed1128fc9f93cad35d3e3233e5">FragmentIterator</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#a0d7b595d7959cc1680fc07c2e02e1c8e">Fragment</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#a352ed0773b37f03bf68e4b6cf9899474">Iterations</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#abb3dde23971ad35a477b75ee99381b53">AccessType</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a379a52ed1128fc9f93cad35d3e3233e5">FragmentIterator</a></td></tr>
<tr class="memdesc:a379a52ed1128fc9f93cad35d3e3233e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The fragment iterator. <a href="#a379a52ed1128fc9f93cad35d3e3233e5">More...</a><br /></td></tr>
<tr class="separator:a379a52ed1128fc9f93cad35d3e3233e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25a241bbdc0b0121992019a16f1a6d60"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a25a241bbdc0b0121992019a16f1a6d60">FragmentConstIterator</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#a0d7b595d7959cc1680fc07c2e02e1c8e">Fragment</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#a352ed0773b37f03bf68e4b6cf9899474">Iterations</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#abb3dde23971ad35a477b75ee99381b53">AccessType</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a25a241bbdc0b0121992019a16f1a6d60">FragmentConstIterator</a></td></tr>
<tr class="memdesc:a25a241bbdc0b0121992019a16f1a6d60"><td class="mdescLeft">&#160;</td><td class="mdescRight">The fragment const iterator. <a href="#a25a241bbdc0b0121992019a16f1a6d60">More...</a><br /></td></tr>
<tr class="separator:a25a241bbdc0b0121992019a16f1a6d60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14f4b356c9cd320e6e7b451edbf58c24"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1FragmentIterator.html#a63ff1767c4923b0a2b6b64487306ed76">FragmentIterator::FragmentShape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a14f4b356c9cd320e6e7b451edbf58c24">FragmentShape</a></td></tr>
<tr class="memdesc:a14f4b356c9cd320e6e7b451edbf58c24"><td class="mdescLeft">&#160;</td><td class="mdescRight">The shape of the fragment. <a href="#a14f4b356c9cd320e6e7b451edbf58c24">More...</a><br /></td></tr>
<tr class="separator:a14f4b356c9cd320e6e7b451edbf58c24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ab46a9210b421d32af4d1394892cfd5"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a7ab46a9210b421d32af4d1394892cfd5">PredicateVector</a>&lt; <a class="el" href="structcutlass_1_1ShapeCount.html">ShapeCount</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#a352ed0773b37f03bf68e4b6cf9899474">Iterations</a> &gt;::kCount &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a7ab46a9210b421d32af4d1394892cfd5">PredicateVector</a></td></tr>
<tr class="memdesc:a7ab46a9210b421d32af4d1394892cfd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default predicate mask type. <a href="#a7ab46a9210b421d32af4d1394892cfd5">More...</a><br /></td></tr>
<tr class="separator:a7ab46a9210b421d32af4d1394892cfd5"><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:af78a2bf3e7507dc7f50343a3c209f770"><td class="memItemLeft" align="right" valign="top">CUTLASS_DEVICE bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#af78a2bf3e7507dc7f50343a3c209f770">valid</a> (int d, int h, int w, int c) const</td></tr>
<tr class="memdesc:af78a2bf3e7507dc7f50343a3c209f770"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the iterator valid? <a href="#af78a2bf3e7507dc7f50343a3c209f770">More...</a><br /></td></tr>
<tr class="separator:af78a2bf3e7507dc7f50343a3c209f770"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a78b6c0d6a1a96dd55a34bc302ecb07d7"><td class="memTemplParams" colspan="2">template&lt;typename PredicateIterator &gt; </td></tr>
<tr class="memitem:a78b6c0d6a1a96dd55a34bc302ecb07d7"><td class="memTemplItemLeft" align="right" valign="top">static CUTLASS_DEVICE void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a78b6c0d6a1a96dd55a34bc302ecb07d7">initialize_predicates</a> (PredicateIterator predicate_it, <a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt; 3 &gt; const &amp;bounds, <a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt; 3 &gt; const &amp;offset=<a class="el" href="namespacecutlass.html#a7419519fa453a121dfa5f26bf87318d9">make_Coord</a>(0, 0, 0))</td></tr>
<tr class="memdesc:a78b6c0d6a1a96dd55a34bc302ecb07d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a predicate vector. <a href="#a78b6c0d6a1a96dd55a34bc302ecb07d7">More...</a><br /></td></tr>
<tr class="separator:a78b6c0d6a1a96dd55a34bc302ecb07d7"><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:ac1a64e974dcd69c3a86a31db6cbff421"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structcutlass_1_1IteratorAdvance.html#a9ad9c2302ddffa148d47cdcf6c738dda">IteratorAdvance::Kind</a> const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#ac1a64e974dcd69c3a86a31db6cbff421">kAdvance</a> = Advance_</td></tr>
<tr class="memdesc:ac1a64e974dcd69c3a86a31db6cbff421"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies dimension in which post-increment accesses advance. <a href="#ac1a64e974dcd69c3a86a31db6cbff421">More...</a><br /></td></tr>
<tr class="separator:ac1a64e974dcd69c3a86a31db6cbff421"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38c8ec1e9d0117172981b4c7dd4bf3be"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structcutlass_1_1IteratorFragment.html#ae7b6a9ac856eca8b8e437305fa716a80">IteratorFragment::Kind</a> const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a38c8ec1e9d0117172981b4c7dd4bf3be">kIteratorFragment</a> = IteratorFragment_</td></tr>
<tr class="memdesc:a38c8ec1e9d0117172981b4c7dd4bf3be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies iterator storage fragment type (Scalar or WmmaMatrix) <a href="#a38c8ec1e9d0117172981b4c7dd4bf3be">More...</a><br /></td></tr>
<tr class="separator:a38c8ec1e9d0117172981b4c7dd4bf3be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a871c9b82109eab432c5a1d465643bf97"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structcutlass_1_1MemorySpace.html#a1e031ec41668015a8fe4ba2c1145d03c">MemorySpace::Kind</a> const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a871c9b82109eab432c5a1d465643bf97">kMemorySpace</a> = <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a></td></tr>
<tr class="memdesc:a871c9b82109eab432c5a1d465643bf97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Source or destination memory space. <a href="#a871c9b82109eab432c5a1d465643bf97">More...</a><br /></td></tr>
<tr class="separator:a871c9b82109eab432c5a1d465643bf97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef07ba456ea016092d7d2446751b76a3"><td class="memItemLeft" align="right" valign="top">static int const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#aef07ba456ea016092d7d2446751b76a3">kAccessSize</a> = Tile::kC</td></tr>
<tr class="memdesc:aef07ba456ea016092d7d2446751b76a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of scalars accessed per load/store. <a href="#aef07ba456ea016092d7d2446751b76a3">More...</a><br /></td></tr>
<tr class="separator:aef07ba456ea016092d7d2446751b76a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e0b2bc06bb8f52313e4d8c51ab30ff2"><td class="memItemLeft" align="right" valign="top">static int const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a4e0b2bc06bb8f52313e4d8c51ab30ff2">kFragmentSize</a></td></tr>
<tr class="memdesc:a4e0b2bc06bb8f52313e4d8c51ab30ff2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size of storage needed per fragment. <a href="#a4e0b2bc06bb8f52313e4d8c51ab30ff2">More...</a><br /></td></tr>
<tr class="separator:a4e0b2bc06bb8f52313e4d8c51ab30ff2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a id="abb3dde23971ad35a477b75ee99381b53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb3dde23971ad35a477b75ee99381b53">&#9670;&nbsp;</a></span>AccessType</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structcutlass_1_1Vectorize.html">Vectorize</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#ac7cca14d54bf3f0749db1ffaea7c9ae7">FragmentElement</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#aef07ba456ea016092d7d2446751b76a3">kAccessSize</a>&gt;::Type <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#abb3dde23971ad35a477b75ee99381b53">AccessType</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9bc6c04f4a3adeb5a29743fa43425088"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bc6c04f4a3adeb5a29743fa43425088">&#9670;&nbsp;</a></span>Delta</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef Traits::Delta <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a9bc6c04f4a3adeb5a29743fa43425088">Delta</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0d7b595d7959cc1680fc07c2e02e1c8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d7b595d7959cc1680fc07c2e02e1c8e">&#9670;&nbsp;</a></span>Fragment</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a0d7b595d7959cc1680fc07c2e02e1c8e">Fragment</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#ac7cca14d54bf3f0749db1ffaea7c9ae7">FragmentElement</a>, <a class="el" href="structcutlass_1_1ShapeCount.html">ShapeCount</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#a352ed0773b37f03bf68e4b6cf9899474">Iterations</a>&gt;::kCount * <a class="el" href="structcutlass_1_1TileIteratorBase.html#aef07ba456ea016092d7d2446751b76a3">kAccessSize</a>&gt; <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a0d7b595d7959cc1680fc07c2e02e1c8e">Fragment</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a25a241bbdc0b0121992019a16f1a6d60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25a241bbdc0b0121992019a16f1a6d60">&#9670;&nbsp;</a></span>FragmentConstIterator</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a25a241bbdc0b0121992019a16f1a6d60">FragmentConstIterator</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#a0d7b595d7959cc1680fc07c2e02e1c8e">Fragment</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#a352ed0773b37f03bf68e4b6cf9899474">Iterations</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#abb3dde23971ad35a477b75ee99381b53">AccessType</a>&gt; <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a25a241bbdc0b0121992019a16f1a6d60">FragmentConstIterator</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac7cca14d54bf3f0749db1ffaea7c9ae7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7cca14d54bf3f0749db1ffaea7c9ae7">&#9670;&nbsp;</a></span>FragmentElement</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef FragmentElement_ <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#ac7cca14d54bf3f0749db1ffaea7c9ae7">FragmentElement</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a379a52ed1128fc9f93cad35d3e3233e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a379a52ed1128fc9f93cad35d3e3233e5">&#9670;&nbsp;</a></span>FragmentIterator</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a379a52ed1128fc9f93cad35d3e3233e5">FragmentIterator</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#a0d7b595d7959cc1680fc07c2e02e1c8e">Fragment</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#a352ed0773b37f03bf68e4b6cf9899474">Iterations</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#abb3dde23971ad35a477b75ee99381b53">AccessType</a>&gt; <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a379a52ed1128fc9f93cad35d3e3233e5">FragmentIterator</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a14f4b356c9cd320e6e7b451edbf58c24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14f4b356c9cd320e6e7b451edbf58c24">&#9670;&nbsp;</a></span>FragmentShape</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structcutlass_1_1FragmentIterator.html#a63ff1767c4923b0a2b6b64487306ed76">FragmentIterator::FragmentShape</a> <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a14f4b356c9cd320e6e7b451edbf58c24">FragmentShape</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a561ceb1093b28b8dce67df0129b7b8b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a561ceb1093b28b8dce67df0129b7b8b8">&#9670;&nbsp;</a></span>ImmediateOffsetStrides</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef Traits::ImmediateOffsetStrides <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a561ceb1093b28b8dce67df0129b7b8b8">ImmediateOffsetStrides</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a44665808adfd69df0d26cec4b1840cc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44665808adfd69df0d26cec4b1840cc3">&#9670;&nbsp;</a></span>Index</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef Index_ <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a44665808adfd69df0d26cec4b1840cc3">Index</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a352ed0773b37f03bf68e4b6cf9899474"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a352ed0773b37f03bf68e4b6cf9899474">&#9670;&nbsp;</a></span>Iterations</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef Traits::Iterations <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a352ed0773b37f03bf68e4b6cf9899474">Iterations</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7ab46a9210b421d32af4d1394892cfd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ab46a9210b421d32af4d1394892cfd5">&#9670;&nbsp;</a></span>PredicateVector</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a7ab46a9210b421d32af4d1394892cfd5">PredicateVector</a>&lt;<a class="el" href="structcutlass_1_1ShapeCount.html">ShapeCount</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#a352ed0773b37f03bf68e4b6cf9899474">Iterations</a>&gt;::kCount&gt; <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a7ab46a9210b421d32af4d1394892cfd5">PredicateVector</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a17163e93d7d3616b4950925f72bb4c16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17163e93d7d3616b4950925f72bb4c16">&#9670;&nbsp;</a></span>Scalar</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef Scalar_ <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a17163e93d7d3616b4950925f72bb4c16">Scalar</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae89afbcf642b3023770ff22969c51d16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae89afbcf642b3023770ff22969c51d16">&#9670;&nbsp;</a></span>Skew</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef Skew_ <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#ae89afbcf642b3023770ff22969c51d16">Skew</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6ca47fd6e2f9cbb3498c138417ea414a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ca47fd6e2f9cbb3498c138417ea414a">&#9670;&nbsp;</a></span>Storage</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a0d7b595d7959cc1680fc07c2e02e1c8e">Fragment</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#a17163e93d7d3616b4950925f72bb4c16">Scalar</a>, <a class="el" href="structcutlass_1_1ShapeCount.html">ShapeCount</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#a954ef18acc12d8256a7d4e37683f8c2c">Tile</a>&gt;::kCount, <a class="el" href="structcutlass_1_1TileIteratorBase.html#a4e0b2bc06bb8f52313e4d8c51ab30ff2">kFragmentSize</a>&gt; <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a6ca47fd6e2f9cbb3498c138417ea414a">Storage</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5abf4755aee07dc58b1d6183fbf4786f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5abf4755aee07dc58b1d6183fbf4786f">&#9670;&nbsp;</a></span>ThreadOffset</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef Traits::ThreadOffset <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a5abf4755aee07dc58b1d6183fbf4786f">ThreadOffset</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a954ef18acc12d8256a7d4e37683f8c2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a954ef18acc12d8256a7d4e37683f8c2c">&#9670;&nbsp;</a></span>Tile</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef Traits::Tile <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a954ef18acc12d8256a7d4e37683f8c2c">Tile</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae7add0ee02bbec2c130ebaf608ab0696"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7add0ee02bbec2c130ebaf608ab0696">&#9670;&nbsp;</a></span>Traits</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef Traits_ <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#ae7add0ee02bbec2c130ebaf608ab0696">Traits</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a78b6c0d6a1a96dd55a34bc302ecb07d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78b6c0d6a1a96dd55a34bc302ecb07d7">&#9670;&nbsp;</a></span>initialize_predicates()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<div class="memtemplate">
template&lt;typename PredicateIterator &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static CUTLASS_DEVICE void <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::initialize_predicates </td>
<td>(</td>
<td class="paramtype">PredicateIterator&#160;</td>
<td class="paramname"><em>predicate_it</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt; 3 &gt; const &amp;&#160;</td>
<td class="paramname"><em>bounds</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt; 3 &gt; const &amp;&#160;</td>
<td class="paramname"><em>offset</em> = <code><a class="el" href="namespacecutlass.html#a7419519fa453a121dfa5f26bf87318d9">make_Coord</a>(0,&#160;0,&#160;0)</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 class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af78a2bf3e7507dc7f50343a3c209f770"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af78a2bf3e7507dc7f50343a3c209f770">&#9670;&nbsp;</a></span>valid()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">CUTLASS_DEVICE bool <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::valid </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>d</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>h</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>w</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>c</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="aef07ba456ea016092d7d2446751b76a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef07ba456ea016092d7d2446751b76a3">&#9670;&nbsp;</a></span>kAccessSize</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int const <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::kAccessSize = Tile::kC</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>
<a id="ac1a64e974dcd69c3a86a31db6cbff421"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1a64e974dcd69c3a86a31db6cbff421">&#9670;&nbsp;</a></span>kAdvance</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structcutlass_1_1IteratorAdvance.html#a9ad9c2302ddffa148d47cdcf6c738dda">IteratorAdvance::Kind</a> const <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::kAdvance = Advance_</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>
<a id="a4e0b2bc06bb8f52313e4d8c51ab30ff2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e0b2bc06bb8f52313e4d8c51ab30ff2">&#9670;&nbsp;</a></span>kFragmentSize</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int const <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::kFragmentSize</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div><div class="line"> (<a class="code" href="structcutlass_1_1TileIteratorBase.html#a38c8ec1e9d0117172981b4c7dd4bf3be">kIteratorFragment</a> == <a class="code" href="structcutlass_1_1IteratorFragment.html#ae7b6a9ac856eca8b8e437305fa716a80a21d2b2793bab0d348df40715b8f14419">IteratorFragment::kWmmaMatrix</a> ? 16 : <span class="keyword">sizeof</span>(<a class="code" href="structcutlass_1_1TileIteratorBase.html#abb3dde23971ad35a477b75ee99381b53">AccessType</a>))</div></div><!-- fragment -->
</div>
</div>
<a id="a38c8ec1e9d0117172981b4c7dd4bf3be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38c8ec1e9d0117172981b4c7dd4bf3be">&#9670;&nbsp;</a></span>kIteratorFragment</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structcutlass_1_1IteratorFragment.html#ae7b6a9ac856eca8b8e437305fa716a80">IteratorFragment::Kind</a> const <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::kIteratorFragment = IteratorFragment_</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>
<a id="a871c9b82109eab432c5a1d465643bf97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a871c9b82109eab432c5a1d465643bf97">&#9670;&nbsp;</a></span>kMemorySpace</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Traits_, typename Scalar_, IteratorAdvance::Kind Advance_ = IteratorAdvance::kH, MemorySpace::Kind MemorySpace = MemorySpace::kGeneric, typename Index_ = int, typename FragmentElement_ = Scalar_, IteratorFragment::Kind IteratorFragment_ = IteratorFragment::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structcutlass_1_1MemorySpace.html#a1e031ec41668015a8fe4ba2c1145d03c">MemorySpace::Kind</a> const <a class="el" href="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a>&lt; Traits_, Scalar_, Advance_, <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a>, Index_, FragmentElement_, IteratorFragment_, Skew_ &gt;::kMemorySpace = <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a></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 struct was generated from the following file:<ul>
<li><a class="el" href="tile__iterator_8h_source.html">tile_iterator.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu May 3 2018 16:36:13 for Cutlass by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>