cutlass/docs/structcutlass_1_1TileIteratorBase.html
2018-10-26 14:54:58 -07:00

715 lines
60 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_, FragmentElementType_, 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_, FragmentElementType_, 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_, FragmentElementType_, 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_20FragmentElementType_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_20FragmentElementType_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_20FragmentElementType_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_, FragmentElementType_, Skew_ &gt;" shape="rect" coords="0,56,766,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_, FragmentElementType_, Skew_ &gt;" shape="rect" coords="776,56,1542,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:aac9e5b7890a53d46e5d49912b254ded7"><td class="memItemLeft" align="right" valign="top">typedef Traits_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#aac9e5b7890a53d46e5d49912b254ded7">Traits</a></td></tr>
<tr class="memdesc:aac9e5b7890a53d46e5d49912b254ded7"><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="#aac9e5b7890a53d46e5d49912b254ded7">More...</a><br /></td></tr>
<tr class="separator:aac9e5b7890a53d46e5d49912b254ded7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affac5a91f0659bb6739db25d20822c34"><td class="memItemLeft" align="right" valign="top">typedef Scalar_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#affac5a91f0659bb6739db25d20822c34">Scalar</a></td></tr>
<tr class="memdesc:affac5a91f0659bb6739db25d20822c34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scalar element. <a href="#affac5a91f0659bb6739db25d20822c34">More...</a><br /></td></tr>
<tr class="separator:affac5a91f0659bb6739db25d20822c34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f2fe3fa2eb764bf664817097d22fe45"><td class="memItemLeft" align="right" valign="top">typedef FragmentElement_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a7f2fe3fa2eb764bf664817097d22fe45">FragmentElement</a></td></tr>
<tr class="memdesc:a7f2fe3fa2eb764bf664817097d22fe45"><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="#a7f2fe3fa2eb764bf664817097d22fe45">More...</a><br /></td></tr>
<tr class="separator:a7f2fe3fa2eb764bf664817097d22fe45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab49ff66953031a8cfcfa11ddc092025c"><td class="memItemLeft" align="right" valign="top">typedef Index_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#ab49ff66953031a8cfcfa11ddc092025c">Index</a></td></tr>
<tr class="memdesc:ab49ff66953031a8cfcfa11ddc092025c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index type. <a href="#ab49ff66953031a8cfcfa11ddc092025c">More...</a><br /></td></tr>
<tr class="separator:ab49ff66953031a8cfcfa11ddc092025c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2967c7bb5c6c5eacdea285a63040d94"><td class="memItemLeft" align="right" valign="top">typedef long long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#ad2967c7bb5c6c5eacdea285a63040d94">LongIndex</a></td></tr>
<tr class="memdesc:ad2967c7bb5c6c5eacdea285a63040d94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Long index. <a href="#ad2967c7bb5c6c5eacdea285a63040d94">More...</a><br /></td></tr>
<tr class="separator:ad2967c7bb5c6c5eacdea285a63040d94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae50ca325a827bdf1d1bfab3ba6e204c1"><td class="memItemLeft" align="right" valign="top">typedef Skew_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#ae50ca325a827bdf1d1bfab3ba6e204c1">Skew</a></td></tr>
<tr class="memdesc:ae50ca325a827bdf1d1bfab3ba6e204c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Skew quantity. <a href="#ae50ca325a827bdf1d1bfab3ba6e204c1">More...</a><br /></td></tr>
<tr class="separator:ae50ca325a827bdf1d1bfab3ba6e204c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fcf13023c85cf1e1150d867bd1559d4"><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#a7fcf13023c85cf1e1150d867bd1559d4">Tile</a></td></tr>
<tr class="memdesc:a7fcf13023c85cf1e1150d867bd1559d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tile shape. <a href="#a7fcf13023c85cf1e1150d867bd1559d4">More...</a><br /></td></tr>
<tr class="separator:a7fcf13023c85cf1e1150d867bd1559d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9aaac43bc2258e06824c354a068e7815"><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#a9aaac43bc2258e06824c354a068e7815">Delta</a></td></tr>
<tr class="memdesc:a9aaac43bc2258e06824c354a068e7815"><td class="mdescLeft">&#160;</td><td class="mdescRight">Distance along each dimension. <a href="#a9aaac43bc2258e06824c354a068e7815">More...</a><br /></td></tr>
<tr class="separator:a9aaac43bc2258e06824c354a068e7815"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab37eec43846be90d558201bd6bb27ee4"><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#ab37eec43846be90d558201bd6bb27ee4">ImmediateOffsetStrides</a></td></tr>
<tr class="memdesc:ab37eec43846be90d558201bd6bb27ee4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The strides in each dimension between different loads/stores. <a href="#ab37eec43846be90d558201bd6bb27ee4">More...</a><br /></td></tr>
<tr class="separator:ab37eec43846be90d558201bd6bb27ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbf563ecda4ffd4110d288f521c7e0da"><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#adbf563ecda4ffd4110d288f521c7e0da">Iterations</a></td></tr>
<tr class="memdesc:adbf563ecda4ffd4110d288f521c7e0da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterations. <a href="#adbf563ecda4ffd4110d288f521c7e0da">More...</a><br /></td></tr>
<tr class="separator:adbf563ecda4ffd4110d288f521c7e0da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fec2c1f9c0b8fbde4ca6faf123b59a5"><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#a0fec2c1f9c0b8fbde4ca6faf123b59a5">ThreadOffset</a></td></tr>
<tr class="memdesc:a0fec2c1f9c0b8fbde4ca6faf123b59a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread offset. <a href="#a0fec2c1f9c0b8fbde4ca6faf123b59a5">More...</a><br /></td></tr>
<tr class="separator:a0fec2c1f9c0b8fbde4ca6faf123b59a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24716c07ab1d7834a79d52231a990973"><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#a7f2fe3fa2eb764bf664817097d22fe45">FragmentElement</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#a8a4edd46b8cad3eeafc2a3dc3a344499">kAccessSize</a> &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a24716c07ab1d7834a79d52231a990973">AccessType</a></td></tr>
<tr class="memdesc:a24716c07ab1d7834a79d52231a990973"><td class="mdescLeft">&#160;</td><td class="mdescRight">The elements loaded/store by one instruction. <a href="#a24716c07ab1d7834a79d52231a990973">More...</a><br /></td></tr>
<tr class="separator:a24716c07ab1d7834a79d52231a990973"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e682380b5ea9ea05ee8ffd68a1205f0"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a9ffa12dcd7ed1e96845e1cd273d9f219">Fragment</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#affac5a91f0659bb6739db25d20822c34">Scalar</a>, <a class="el" href="structcutlass_1_1ShapeCount.html">ShapeCount</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#a7fcf13023c85cf1e1150d867bd1559d4">Tile</a> &gt;::kCount, <a class="el" href="structcutlass_1_1TileIteratorBase.html#aefe67241dde93bb032c5b4d82bc3f761">kFragmentSize</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a2e682380b5ea9ea05ee8ffd68a1205f0">Storage</a></td></tr>
<tr class="memdesc:a2e682380b5ea9ea05ee8ffd68a1205f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The storage. <a href="#a2e682380b5ea9ea05ee8ffd68a1205f0">More...</a><br /></td></tr>
<tr class="separator:a2e682380b5ea9ea05ee8ffd68a1205f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ffa12dcd7ed1e96845e1cd273d9f219"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a9ffa12dcd7ed1e96845e1cd273d9f219">Fragment</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#a7f2fe3fa2eb764bf664817097d22fe45">FragmentElement</a>, <a class="el" href="structcutlass_1_1ShapeCount.html">ShapeCount</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#adbf563ecda4ffd4110d288f521c7e0da">Iterations</a> &gt;::kCount *<a class="el" href="structcutlass_1_1TileIteratorBase.html#a8a4edd46b8cad3eeafc2a3dc3a344499">kAccessSize</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a9ffa12dcd7ed1e96845e1cd273d9f219">Fragment</a></td></tr>
<tr class="memdesc:a9ffa12dcd7ed1e96845e1cd273d9f219"><td class="mdescLeft">&#160;</td><td class="mdescRight">The fragment. <a href="#a9ffa12dcd7ed1e96845e1cd273d9f219">More...</a><br /></td></tr>
<tr class="separator:a9ffa12dcd7ed1e96845e1cd273d9f219"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59d40c5bd544fdabf42787b9f11cce51"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a59d40c5bd544fdabf42787b9f11cce51">FragmentIterator</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#a9ffa12dcd7ed1e96845e1cd273d9f219">Fragment</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#adbf563ecda4ffd4110d288f521c7e0da">Iterations</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#a24716c07ab1d7834a79d52231a990973">AccessType</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a59d40c5bd544fdabf42787b9f11cce51">FragmentIterator</a></td></tr>
<tr class="memdesc:a59d40c5bd544fdabf42787b9f11cce51"><td class="mdescLeft">&#160;</td><td class="mdescRight">The fragment iterator. <a href="#a59d40c5bd544fdabf42787b9f11cce51">More...</a><br /></td></tr>
<tr class="separator:a59d40c5bd544fdabf42787b9f11cce51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eb6375410d4440c0f73a25c06d282b5"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a5eb6375410d4440c0f73a25c06d282b5">FragmentConstIterator</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#a9ffa12dcd7ed1e96845e1cd273d9f219">Fragment</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#adbf563ecda4ffd4110d288f521c7e0da">Iterations</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#a24716c07ab1d7834a79d52231a990973">AccessType</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a5eb6375410d4440c0f73a25c06d282b5">FragmentConstIterator</a></td></tr>
<tr class="memdesc:a5eb6375410d4440c0f73a25c06d282b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The fragment const iterator. <a href="#a5eb6375410d4440c0f73a25c06d282b5">More...</a><br /></td></tr>
<tr class="separator:a5eb6375410d4440c0f73a25c06d282b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a064aaca9cc27e34bdae9684447a3f5be"><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#a064aaca9cc27e34bdae9684447a3f5be">FragmentShape</a></td></tr>
<tr class="memdesc:a064aaca9cc27e34bdae9684447a3f5be"><td class="mdescLeft">&#160;</td><td class="mdescRight">The shape of the fragment. <a href="#a064aaca9cc27e34bdae9684447a3f5be">More...</a><br /></td></tr>
<tr class="separator:a064aaca9cc27e34bdae9684447a3f5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05065dadf7b8a20284c566c82cda8000"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1TileIteratorBase.html#a05065dadf7b8a20284c566c82cda8000">PredicateVector</a>&lt; <a class="el" href="structcutlass_1_1ShapeCount.html">ShapeCount</a>&lt; <a class="el" href="structcutlass_1_1TileIteratorBase.html#adbf563ecda4ffd4110d288f521c7e0da">Iterations</a> &gt;::kCount &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#a05065dadf7b8a20284c566c82cda8000">PredicateVector</a></td></tr>
<tr class="memdesc:a05065dadf7b8a20284c566c82cda8000"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default predicate mask type. <a href="#a05065dadf7b8a20284c566c82cda8000">More...</a><br /></td></tr>
<tr class="separator:a05065dadf7b8a20284c566c82cda8000"><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:ac811886f3412861928040546282b6973"><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="structcutlass_1_1TileIteratorBase.html#ac811886f3412861928040546282b6973">valid</a> (int d, int h, int w, int c) const</td></tr>
<tr class="memdesc:ac811886f3412861928040546282b6973"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the iterator valid? <a href="#ac811886f3412861928040546282b6973">More...</a><br /></td></tr>
<tr class="separator:ac811886f3412861928040546282b6973"><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:aa58daf082cf97108e2e2ad0b1fd89208"><td class="memTemplParams" colspan="2">template&lt;typename PredicateIterator , typename PredicateFunctor &gt; </td></tr>
<tr class="memitem:aa58daf082cf97108e2e2ad0b1fd89208"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#aa58daf082cf97108e2e2ad0b1fd89208">initialize_predicates</a> (PredicateIterator predicate_it, PredicateFunctor const &amp;predicate_func, <a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt; 3 &gt; const &amp;offset)</td></tr>
<tr class="memdesc:aa58daf082cf97108e2e2ad0b1fd89208"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a predicate vector. <a href="#aa58daf082cf97108e2e2ad0b1fd89208">More...</a><br /></td></tr>
<tr class="separator:aa58daf082cf97108e2e2ad0b1fd89208"><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:acc8c86a3629a3ca105269fc3a47f2a4f"><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#acc8c86a3629a3ca105269fc3a47f2a4f">kAdvance</a> = Advance_</td></tr>
<tr class="memdesc:acc8c86a3629a3ca105269fc3a47f2a4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies dimension in which post-increment accesses advance. <a href="#acc8c86a3629a3ca105269fc3a47f2a4f">More...</a><br /></td></tr>
<tr class="separator:acc8c86a3629a3ca105269fc3a47f2a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af405f6c5f0bd8f04487d8a7f41dc1826"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structcutlass_1_1FragmentElementType.html#a62883b0695dc3a7ff82916ff9d75df0b">FragmentElementType::Kind</a> const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1TileIteratorBase.html#af405f6c5f0bd8f04487d8a7f41dc1826">kFragmentElementType</a> = FragmentElementType_</td></tr>
<tr class="memdesc:af405f6c5f0bd8f04487d8a7f41dc1826"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies iterator storage fragment type (Scalar or WmmaMatrix) <a href="#af405f6c5f0bd8f04487d8a7f41dc1826">More...</a><br /></td></tr>
<tr class="separator:af405f6c5f0bd8f04487d8a7f41dc1826"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8bfa9914c4ba49a583d1cfaa8a62d56"><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#ab8bfa9914c4ba49a583d1cfaa8a62d56">kMemorySpace</a> = <a class="el" href="structcutlass_1_1MemorySpace.html">MemorySpace</a></td></tr>
<tr class="memdesc:ab8bfa9914c4ba49a583d1cfaa8a62d56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Source or destination memory space. <a href="#ab8bfa9914c4ba49a583d1cfaa8a62d56">More...</a><br /></td></tr>
<tr class="separator:ab8bfa9914c4ba49a583d1cfaa8a62d56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a4edd46b8cad3eeafc2a3dc3a344499"><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#a8a4edd46b8cad3eeafc2a3dc3a344499">kAccessSize</a> = Traits::kAccessSize</td></tr>
<tr class="memdesc:a8a4edd46b8cad3eeafc2a3dc3a344499"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of scalars accessed per load/store. <a href="#a8a4edd46b8cad3eeafc2a3dc3a344499">More...</a><br /></td></tr>
<tr class="separator:a8a4edd46b8cad3eeafc2a3dc3a344499"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefe67241dde93bb032c5b4d82bc3f761"><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#aefe67241dde93bb032c5b4d82bc3f761">kFragmentSize</a></td></tr>
<tr class="memdesc:aefe67241dde93bb032c5b4d82bc3f761"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size of storage needed per fragment. <a href="#aefe67241dde93bb032c5b4d82bc3f761">More...</a><br /></td></tr>
<tr class="separator:aefe67241dde93bb032c5b4d82bc3f761"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a24716c07ab1d7834a79d52231a990973"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24716c07ab1d7834a79d52231a990973">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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#a7f2fe3fa2eb764bf664817097d22fe45">FragmentElement</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#a8a4edd46b8cad3eeafc2a3dc3a344499">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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a24716c07ab1d7834a79d52231a990973">AccessType</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9aaac43bc2258e06824c354a068e7815"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9aaac43bc2258e06824c354a068e7815">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a9aaac43bc2258e06824c354a068e7815">Delta</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9ffa12dcd7ed1e96845e1cd273d9f219"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ffa12dcd7ed1e96845e1cd273d9f219">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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#a9ffa12dcd7ed1e96845e1cd273d9f219">Fragment</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#a7f2fe3fa2eb764bf664817097d22fe45">FragmentElement</a>, <a class="el" href="structcutlass_1_1ShapeCount.html">ShapeCount</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#adbf563ecda4ffd4110d288f521c7e0da">Iterations</a>&gt;::kCount * <a class="el" href="structcutlass_1_1TileIteratorBase.html#a8a4edd46b8cad3eeafc2a3dc3a344499">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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a9ffa12dcd7ed1e96845e1cd273d9f219">Fragment</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5eb6375410d4440c0f73a25c06d282b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5eb6375410d4440c0f73a25c06d282b5">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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#a5eb6375410d4440c0f73a25c06d282b5">FragmentConstIterator</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#a9ffa12dcd7ed1e96845e1cd273d9f219">Fragment</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#adbf563ecda4ffd4110d288f521c7e0da">Iterations</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#a24716c07ab1d7834a79d52231a990973">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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a5eb6375410d4440c0f73a25c06d282b5">FragmentConstIterator</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7f2fe3fa2eb764bf664817097d22fe45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f2fe3fa2eb764bf664817097d22fe45">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a7f2fe3fa2eb764bf664817097d22fe45">FragmentElement</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a59d40c5bd544fdabf42787b9f11cce51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59d40c5bd544fdabf42787b9f11cce51">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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#a59d40c5bd544fdabf42787b9f11cce51">FragmentIterator</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#a9ffa12dcd7ed1e96845e1cd273d9f219">Fragment</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#adbf563ecda4ffd4110d288f521c7e0da">Iterations</a>, <a class="el" href="structcutlass_1_1TileIteratorBase.html#a24716c07ab1d7834a79d52231a990973">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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a59d40c5bd544fdabf42787b9f11cce51">FragmentIterator</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a064aaca9cc27e34bdae9684447a3f5be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a064aaca9cc27e34bdae9684447a3f5be">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a064aaca9cc27e34bdae9684447a3f5be">FragmentShape</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab37eec43846be90d558201bd6bb27ee4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab37eec43846be90d558201bd6bb27ee4">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#ab37eec43846be90d558201bd6bb27ee4">ImmediateOffsetStrides</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab49ff66953031a8cfcfa11ddc092025c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab49ff66953031a8cfcfa11ddc092025c">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#ab49ff66953031a8cfcfa11ddc092025c">Index</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="adbf563ecda4ffd4110d288f521c7e0da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbf563ecda4ffd4110d288f521c7e0da">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#adbf563ecda4ffd4110d288f521c7e0da">Iterations</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad2967c7bb5c6c5eacdea285a63040d94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2967c7bb5c6c5eacdea285a63040d94">&#9670;&nbsp;</a></span>LongIndex</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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef long long <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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#ad2967c7bb5c6c5eacdea285a63040d94">LongIndex</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a05065dadf7b8a20284c566c82cda8000"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05065dadf7b8a20284c566c82cda8000">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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#a05065dadf7b8a20284c566c82cda8000">PredicateVector</a>&lt;<a class="el" href="structcutlass_1_1ShapeCount.html">ShapeCount</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#adbf563ecda4ffd4110d288f521c7e0da">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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a05065dadf7b8a20284c566c82cda8000">PredicateVector</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="affac5a91f0659bb6739db25d20822c34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#affac5a91f0659bb6739db25d20822c34">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#affac5a91f0659bb6739db25d20822c34">Scalar</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae50ca325a827bdf1d1bfab3ba6e204c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae50ca325a827bdf1d1bfab3ba6e204c1">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#ae50ca325a827bdf1d1bfab3ba6e204c1">Skew</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2e682380b5ea9ea05ee8ffd68a1205f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e682380b5ea9ea05ee8ffd68a1205f0">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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#a9ffa12dcd7ed1e96845e1cd273d9f219">Fragment</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#affac5a91f0659bb6739db25d20822c34">Scalar</a>, <a class="el" href="structcutlass_1_1ShapeCount.html">ShapeCount</a>&lt;<a class="el" href="structcutlass_1_1TileIteratorBase.html#a7fcf13023c85cf1e1150d867bd1559d4">Tile</a>&gt;::kCount, <a class="el" href="structcutlass_1_1TileIteratorBase.html#aefe67241dde93bb032c5b4d82bc3f761">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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a2e682380b5ea9ea05ee8ffd68a1205f0">Storage</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0fec2c1f9c0b8fbde4ca6faf123b59a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fec2c1f9c0b8fbde4ca6faf123b59a5">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a0fec2c1f9c0b8fbde4ca6faf123b59a5">ThreadOffset</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7fcf13023c85cf1e1150d867bd1559d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fcf13023c85cf1e1150d867bd1559d4">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#a7fcf13023c85cf1e1150d867bd1559d4">Tile</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aac9e5b7890a53d46e5d49912b254ded7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac9e5b7890a53d46e5d49912b254ded7">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, Skew_ &gt;::<a class="el" href="structcutlass_1_1TileIteratorBase.html#aac9e5b7890a53d46e5d49912b254ded7">Traits</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aa58daf082cf97108e2e2ad0b1fd89208"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa58daf082cf97108e2e2ad0b1fd89208">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::kScalar, typename Skew_ = Shape&lt;0, 0, 0, 0&gt;&gt; </div>
<div class="memtemplate">
template&lt;typename PredicateIterator , typename PredicateFunctor &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> 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_, FragmentElementType_, 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">PredicateFunctor const &amp;&#160;</td>
<td class="paramname"><em>predicate_func</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>&#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="ac811886f3412861928040546282b6973"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac811886f3412861928040546282b6973">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> 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_, FragmentElementType_, 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="a8a4edd46b8cad3eeafc2a3dc3a344499"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a4edd46b8cad3eeafc2a3dc3a344499">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, Skew_ &gt;::kAccessSize = Traits::kAccessSize</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="acc8c86a3629a3ca105269fc3a47f2a4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc8c86a3629a3ca105269fc3a47f2a4f">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, 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="af405f6c5f0bd8f04487d8a7f41dc1826"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af405f6c5f0bd8f04487d8a7f41dc1826">&#9670;&nbsp;</a></span>kFragmentElementType</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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_1FragmentElementType.html#a62883b0695dc3a7ff82916ff9d75df0b">FragmentElementType::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_, FragmentElementType_, Skew_ &gt;::kFragmentElementType = FragmentElementType_</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="aefe67241dde93bb032c5b4d82bc3f761"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefe67241dde93bb032c5b4d82bc3f761">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, 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#af405f6c5f0bd8f04487d8a7f41dc1826">kFragmentElementType</a> == <a class="code" href="structcutlass_1_1FragmentElementType.html#a62883b0695dc3a7ff82916ff9d75df0ba6b5ad4d12e12461f93ccab8edb6cd0bd">FragmentElementType::kWmmaMatrix</a> ? 16 : <span class="keyword">sizeof</span>(<a class="code" href="structcutlass_1_1TileIteratorBase.html#a24716c07ab1d7834a79d52231a990973">AccessType</a>))</div></div><!-- fragment -->
</div>
</div>
<a id="ab8bfa9914c4ba49a583d1cfaa8a62d56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8bfa9914c4ba49a583d1cfaa8a62d56">&#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_, FragmentElementType::Kind FragmentElementType_ = FragmentElementType::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_, FragmentElementType_, 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 Fri Oct 26 2018 14:53:35 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>