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

919 lines
61 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::gemm::GlobalLoadStream&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &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="namespacecutlass_1_1gemm.html">gemm</a></li><li class="navelem"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">GlobalLoadStream</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-attribs">Public Attributes</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="structcutlass_1_1gemm_1_1GlobalLoadStream-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">cutlass::gemm::GlobalLoadStream&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt; Struct Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="gemm__global__stream_8h_source.html">gemm_global_stream.h</a>&gt;</code></p>
<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_1gemm_1_1GlobalLoadStream_1_1Params.html">Params</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The params. <a href="structcutlass_1_1gemm_1_1GlobalLoadStream_1_1Params.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</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_1gemm_1_1GlobalLoadStream_1_1SharedStorage.html">SharedStorage</a></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:a905c219287a7342b2ddb58b84e413d64"><td class="memItemLeft" align="right" valign="top">typedef LoadIterator_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a905c219287a7342b2ddb58b84e413d64">LoadIterator</a></td></tr>
<tr class="memdesc:a905c219287a7342b2ddb58b84e413d64"><td class="mdescLeft">&#160;</td><td class="mdescRight">The load iterator. <a href="#a905c219287a7342b2ddb58b84e413d64">More...</a><br /></td></tr>
<tr class="separator:a905c219287a7342b2ddb58b84e413d64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa79a27cbe2420882fbaca55e42803f02"><td class="memItemLeft" align="right" valign="top">typedef Transformer_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#aa79a27cbe2420882fbaca55e42803f02">Transformer</a></td></tr>
<tr class="memdesc:aa79a27cbe2420882fbaca55e42803f02"><td class="mdescLeft">&#160;</td><td class="mdescRight">The transformer. <a href="#aa79a27cbe2420882fbaca55e42803f02">More...</a><br /></td></tr>
<tr class="separator:aa79a27cbe2420882fbaca55e42803f02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac16e31930c346068d7522dd8de9d93d2"><td class="memItemLeft" align="right" valign="top">typedef StoreIterator_&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ac16e31930c346068d7522dd8de9d93d2">StoreIterator</a></td></tr>
<tr class="memdesc:ac16e31930c346068d7522dd8de9d93d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The store iterator to write to shared memory. <a href="#ac16e31930c346068d7522dd8de9d93d2">More...</a><br /></td></tr>
<tr class="separator:ac16e31930c346068d7522dd8de9d93d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d9b4339129c1ab4f21f1df1144faddf"><td class="memItemLeft" align="right" valign="top">typedef LoadIterator::Fragment&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7d9b4339129c1ab4f21f1df1144faddf">FetchedFragment</a></td></tr>
<tr class="memdesc:a7d9b4339129c1ab4f21f1df1144faddf"><td class="mdescLeft">&#160;</td><td class="mdescRight">The fragment that is copied from shared memory. <a href="#a7d9b4339129c1ab4f21f1df1144faddf">More...</a><br /></td></tr>
<tr class="separator:a7d9b4339129c1ab4f21f1df1144faddf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9eb2fb49698d0d018c04e7712e239ce9"><td class="memItemLeft" align="right" valign="top">typedef Transformer::OutputFragment&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a9eb2fb49698d0d018c04e7712e239ce9">TransformedFragment</a></td></tr>
<tr class="memdesc:a9eb2fb49698d0d018c04e7712e239ce9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The fragment that is obtained after the transformation by the transformer. <a href="#a9eb2fb49698d0d018c04e7712e239ce9">More...</a><br /></td></tr>
<tr class="separator:a9eb2fb49698d0d018c04e7712e239ce9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7e315253b3301c191581bce05644106"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a9eb2fb49698d0d018c04e7712e239ce9">TransformedFragment</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ab7e315253b3301c191581bce05644106">Fragment</a></td></tr>
<tr class="memdesc:ab7e315253b3301c191581bce05644106"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make sure the fragments match. <a href="#ab7e315253b3301c191581bce05644106">More...</a><br /></td></tr>
<tr class="separator:ab7e315253b3301c191581bce05644106"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7073b32c2cc62ffcad70a9ca46995c4c"><td class="memItemLeft" align="right" valign="top">typedef LoadIterator::Scalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7073b32c2cc62ffcad70a9ca46995c4c">Scalar</a></td></tr>
<tr class="memdesc:a7073b32c2cc62ffcad70a9ca46995c4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The scalar type of the iterator. <a href="#a7073b32c2cc62ffcad70a9ca46995c4c">More...</a><br /></td></tr>
<tr class="separator:a7073b32c2cc62ffcad70a9ca46995c4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4452df991f57f9bb0b86dfd380179b2"><td class="memItemLeft" align="right" valign="top">typedef LoadIterator::Pointer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ac4452df991f57f9bb0b86dfd380179b2">Pointer</a></td></tr>
<tr class="memdesc:ac4452df991f57f9bb0b86dfd380179b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The pointer. <a href="#ac4452df991f57f9bb0b86dfd380179b2">More...</a><br /></td></tr>
<tr class="separator:ac4452df991f57f9bb0b86dfd380179b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c46d6eb83b43e099d53784bb2a09f02"><td class="memItemLeft" align="right" valign="top">typedef LoadIterator::Index&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7c46d6eb83b43e099d53784bb2a09f02">Index</a></td></tr>
<tr class="memdesc:a7c46d6eb83b43e099d53784bb2a09f02"><td class="mdescLeft">&#160;</td><td class="mdescRight">The index. <a href="#a7c46d6eb83b43e099d53784bb2a09f02">More...</a><br /></td></tr>
<tr class="separator:a7c46d6eb83b43e099d53784bb2a09f02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae033a49a784964e75a5c1b6135b21e47"><td class="memItemLeft" align="right" valign="top">typedef LoadIterator::LongIndex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ae033a49a784964e75a5c1b6135b21e47">LongIndex</a></td></tr>
<tr class="memdesc:ae033a49a784964e75a5c1b6135b21e47"><td class="mdescLeft">&#160;</td><td class="mdescRight">The index. <a href="#ae033a49a784964e75a5c1b6135b21e47">More...</a><br /></td></tr>
<tr class="separator:ae033a49a784964e75a5c1b6135b21e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a260543a618fb187c2da40c9f630925ec"><td class="memItemLeft" align="right" valign="top">typedef LoadIterator::Tile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a260543a618fb187c2da40c9f630925ec">Tile</a></td></tr>
<tr class="memdesc:a260543a618fb187c2da40c9f630925ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">The tile. <a href="#a260543a618fb187c2da40c9f630925ec">More...</a><br /></td></tr>
<tr class="separator:a260543a618fb187c2da40c9f630925ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17804b01904a9a4ee7a857905833f7a8"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1TileAllocation.html">TileAllocation</a>&lt; typename StoreIterator::Scalar, typename StoreIterator::Tile &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a17804b01904a9a4ee7a857905833f7a8">ThreadblockTileStorage</a></td></tr>
<tr class="memdesc:a17804b01904a9a4ee7a857905833f7a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shared memory allocation for the tile. <a href="#a17804b01904a9a4ee7a857905833f7a8">More...</a><br /></td></tr>
<tr class="separator:a17804b01904a9a4ee7a857905833f7a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a011287c8289b7b026f9993da663abd77"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structcutlass_1_1TileAllocation.html#aa0bf6caeab13dc004350c6c0cfe0df80">ThreadblockTileStorage::TensorRef</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a011287c8289b7b026f9993da663abd77">ThreadblockTileRef</a></td></tr>
<tr class="memdesc:a011287c8289b7b026f9993da663abd77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tensor reference to threadblock tile. <a href="#a011287c8289b7b026f9993da663abd77">More...</a><br /></td></tr>
<tr class="separator:a011287c8289b7b026f9993da663abd77"><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:aec86bdf5d7d4ad1f7b6ebebcf2da8395"><td class="memItemLeft" align="right" valign="top">CUTLASS_DEVICE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#aec86bdf5d7d4ad1f7b6ebebcf2da8395">GlobalLoadStream</a> (<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream_1_1Params.html">Params</a> const &amp;_params, <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream_1_1SharedStorage.html">SharedStorage</a> &amp;shared_storage, <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a011287c8289b7b026f9993da663abd77">ThreadblockTileRef</a> const &amp;threadblock_tile_ref, <a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt; 3 &gt; const bounds, <a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt; 3 &gt; const &amp;_threadblock_offset)</td></tr>
<tr class="memdesc:aec86bdf5d7d4ad1f7b6ebebcf2da8395"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ctor. <a href="#aec86bdf5d7d4ad1f7b6ebebcf2da8395">More...</a><br /></td></tr>
<tr class="separator:aec86bdf5d7d4ad1f7b6ebebcf2da8395"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3784dbb3efe0865ffa946419111c824a"><td class="memItemLeft" align="right" valign="top">CUTLASS_DEVICE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a3784dbb3efe0865ffa946419111c824a">copy</a> ()</td></tr>
<tr class="memdesc:a3784dbb3efe0865ffa946419111c824a"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structcutlass_1_1Load.html">Load</a> the data from shared memory to the fetch fragment. <a href="#a3784dbb3efe0865ffa946419111c824a">More...</a><br /></td></tr>
<tr class="separator:a3784dbb3efe0865ffa946419111c824a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab39c82ac1a8138c4b6d69dab9d48bdbc"><td class="memItemLeft" align="right" valign="top">CUTLASS_DEVICE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ab39c82ac1a8138c4b6d69dab9d48bdbc">commit</a> ()</td></tr>
<tr class="memdesc:ab39c82ac1a8138c4b6d69dab9d48bdbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commit the data. <a href="#ab39c82ac1a8138c4b6d69dab9d48bdbc">More...</a><br /></td></tr>
<tr class="separator:ab39c82ac1a8138c4b6d69dab9d48bdbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a235adaea5d4f01232c79cb6109dc6d17"><td class="memItemLeft" align="right" valign="top">CUTLASS_DEVICE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a235adaea5d4f01232c79cb6109dc6d17">residue</a> (<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7c46d6eb83b43e099d53784bb2a09f02">Index</a> k, bool skip_clear=false)</td></tr>
<tr class="memdesc:a235adaea5d4f01232c79cb6109dc6d17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute the residue code. <a href="#a235adaea5d4f01232c79cb6109dc6d17">More...</a><br /></td></tr>
<tr class="separator:a235adaea5d4f01232c79cb6109dc6d17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac269a9280a55d3988ca60f571bdf7f29"><td class="memItemLeft" align="right" valign="top">CUTLASS_DEVICE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ac269a9280a55d3988ca60f571bdf7f29">move_to_residue</a> (<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7c46d6eb83b43e099d53784bb2a09f02">Index</a> k, <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7c46d6eb83b43e099d53784bb2a09f02">Index</a> kTileK)</td></tr>
<tr class="memdesc:ac269a9280a55d3988ca60f571bdf7f29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move to the residue portion. <a href="#ac269a9280a55d3988ca60f571bdf7f29">More...</a><br /></td></tr>
<tr class="separator:ac269a9280a55d3988ca60f571bdf7f29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e2eecdba1871fc11aa43a06edf6ed34"><td class="memItemLeft" align="right" valign="top">CUTLASS_DEVICE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a1e2eecdba1871fc11aa43a06edf6ed34">rollback</a> (void)</td></tr>
<tr class="memdesc:a1e2eecdba1871fc11aa43a06edf6ed34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rollback to the beginning of the first tile. <a href="#a1e2eecdba1871fc11aa43a06edf6ed34">More...</a><br /></td></tr>
<tr class="separator:a1e2eecdba1871fc11aa43a06edf6ed34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e79a153de72eef10d90bfd02b5dd27e"><td class="memItemLeft" align="right" valign="top">CUTLASS_DEVICE <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">GlobalLoadStream</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a8e79a153de72eef10d90bfd02b5dd27e">operator+=</a> (<a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt; 3 &gt; const &amp;offset)</td></tr>
<tr class="memdesc:a8e79a153de72eef10d90bfd02b5dd27e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a <a class="el" href="structcutlass_1_1Coord.html">Coord&lt;3&gt;</a> to the underlying global load iterator. <a href="#a8e79a153de72eef10d90bfd02b5dd27e">More...</a><br /></td></tr>
<tr class="separator:a8e79a153de72eef10d90bfd02b5dd27e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed33be079f056998624015460b4e3836"><td class="memItemLeft" align="right" valign="top">CUTLASS_DEVICE <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">GlobalLoadStream</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#aed33be079f056998624015460b4e3836">add_batch_offset</a> (int batch_id)</td></tr>
<tr class="memdesc:aed33be079f056998624015460b4e3836"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds an offset based on batch stride. <a href="#aed33be079f056998624015460b4e3836">More...</a><br /></td></tr>
<tr class="separator:aed33be079f056998624015460b4e3836"><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:a16542631e4a4562cc72aa50f146a9724"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="cutlass_8h.html#a28c2443a142676d3d71effdae1a986b1">CUTLASS_HOST_DEVICE</a> <a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt; 3 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a16542631e4a4562cc72aa50f146a9724">project_coordinate</a> (<a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt; 3 &gt; const &amp;coord, <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7c46d6eb83b43e099d53784bb2a09f02">Index</a> d_offset=0)</td></tr>
<tr class="memdesc:a16542631e4a4562cc72aa50f146a9724"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps a coordinate in the GEMM's (K, N, M) coordinate system to global memory. <a href="#a16542631e4a4562cc72aa50f146a9724">More...</a><br /></td></tr>
<tr class="separator:a16542631e4a4562cc72aa50f146a9724"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ac8ff1a3e10b25c212cd3cf5ed997fc0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream_1_1Params.html">Params</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ac8ff1a3e10b25c212cd3cf5ed997fc0e">params</a></td></tr>
<tr class="memdesc:ac8ff1a3e10b25c212cd3cf5ed997fc0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters. <a href="#ac8ff1a3e10b25c212cd3cf5ed997fc0e">More...</a><br /></td></tr>
<tr class="separator:ac8ff1a3e10b25c212cd3cf5ed997fc0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a563961c326d2e55f5b8682a30b64a24a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt; 3 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a563961c326d2e55f5b8682a30b64a24a">threadblock_offset</a></td></tr>
<tr class="memdesc:a563961c326d2e55f5b8682a30b64a24a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Threadblock offset. <a href="#a563961c326d2e55f5b8682a30b64a24a">More...</a><br /></td></tr>
<tr class="separator:a563961c326d2e55f5b8682a30b64a24a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a386f2f4d2e239075f0fe1489ed7788c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt; 3 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a386f2f4d2e239075f0fe1489ed7788c1">multiplicand_bounds</a></td></tr>
<tr class="memdesc:a386f2f4d2e239075f0fe1489ed7788c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplicand bounds. <a href="#a386f2f4d2e239075f0fe1489ed7788c1">More...</a><br /></td></tr>
<tr class="separator:a386f2f4d2e239075f0fe1489ed7788c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ef4cc42c7cec73523550e5ea56df88c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a905c219287a7342b2ddb58b84e413d64">LoadIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a5ef4cc42c7cec73523550e5ea56df88c">load_iterator</a></td></tr>
<tr class="memdesc:a5ef4cc42c7cec73523550e5ea56df88c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The iterator. <a href="#a5ef4cc42c7cec73523550e5ea56df88c">More...</a><br /></td></tr>
<tr class="separator:a5ef4cc42c7cec73523550e5ea56df88c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c117b87024937f1dc3da128795b6e03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7d9b4339129c1ab4f21f1df1144faddf">FetchedFragment</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a1c117b87024937f1dc3da128795b6e03">fetched_fragment</a></td></tr>
<tr class="memdesc:a1c117b87024937f1dc3da128795b6e03"><td class="mdescLeft">&#160;</td><td class="mdescRight">The fragment to fetch from shared memory. <a href="#a1c117b87024937f1dc3da128795b6e03">More...</a><br /></td></tr>
<tr class="separator:a1c117b87024937f1dc3da128795b6e03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab68ba57fe69430c557379b3457faebc4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#aa79a27cbe2420882fbaca55e42803f02">Transformer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ab68ba57fe69430c557379b3457faebc4">transformer</a></td></tr>
<tr class="memdesc:ab68ba57fe69430c557379b3457faebc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The transformer. <a href="#ab68ba57fe69430c557379b3457faebc4">More...</a><br /></td></tr>
<tr class="separator:ab68ba57fe69430c557379b3457faebc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d7042e60aaab0dd00772b239e1f1db1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a9eb2fb49698d0d018c04e7712e239ce9">TransformedFragment</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7d7042e60aaab0dd00772b239e1f1db1">transformed_fragment</a></td></tr>
<tr class="memdesc:a7d7042e60aaab0dd00772b239e1f1db1"><td class="mdescLeft">&#160;</td><td class="mdescRight">The fragment to convert the data after it has been fetched from shared memory. <a href="#a7d7042e60aaab0dd00772b239e1f1db1">More...</a><br /></td></tr>
<tr class="separator:a7d7042e60aaab0dd00772b239e1f1db1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45a4bceb72fcb856e32eaa20eec11e9d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ac16e31930c346068d7522dd8de9d93d2">StoreIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a45a4bceb72fcb856e32eaa20eec11e9d">store_iterator</a></td></tr>
<tr class="memdesc:a45a4bceb72fcb856e32eaa20eec11e9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The store iterator. <a href="#a45a4bceb72fcb856e32eaa20eec11e9d">More...</a><br /></td></tr>
<tr class="separator:a45a4bceb72fcb856e32eaa20eec11e9d"><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:a30113b850dfd3de60f8778bc7a66f700"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structcutlass_1_1GemmOperand.html#ab209ea3de198efabe8e8707dfe8e0a0c">GemmOperand::Kind</a> const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a30113b850dfd3de60f8778bc7a66f700">kOperand</a> = Operand</td></tr>
<tr class="memdesc:a30113b850dfd3de60f8778bc7a66f700"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates the type of GEMM operand. <a href="#a30113b850dfd3de60f8778bc7a66f700">More...</a><br /></td></tr>
<tr class="separator:a30113b850dfd3de60f8778bc7a66f700"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac29cd1ba94e802762d665c300e22e7db"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacecutlass_1_1MatrixLayout.html#a97ef07af21b122c1804245b0c7784d2b">MatrixLayout::Kind</a> const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ac29cd1ba94e802762d665c300e22e7db">kLayout</a> = LoadIterator::kLayout</td></tr>
<tr class="memdesc:ac29cd1ba94e802762d665c300e22e7db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make sure the transformed fragment is the same as the store fragment. <a href="#ac29cd1ba94e802762d665c300e22e7db">More...</a><br /></td></tr>
<tr class="separator:ac29cd1ba94e802762d665c300e22e7db"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a7d9b4339129c1ab4f21f1df1144faddf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d9b4339129c1ab4f21f1df1144faddf">&#9670;&nbsp;</a></span>FetchedFragment</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef LoadIterator::Fragment <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7d9b4339129c1ab4f21f1df1144faddf">FetchedFragment</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab7e315253b3301c191581bce05644106"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7e315253b3301c191581bce05644106">&#9670;&nbsp;</a></span>Fragment</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a9eb2fb49698d0d018c04e7712e239ce9">TransformedFragment</a> <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ab7e315253b3301c191581bce05644106">Fragment</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The output fragment. </p>
</div>
</div>
<a id="a7c46d6eb83b43e099d53784bb2a09f02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c46d6eb83b43e099d53784bb2a09f02">&#9670;&nbsp;</a></span>Index</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef LoadIterator::Index <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7c46d6eb83b43e099d53784bb2a09f02">Index</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a905c219287a7342b2ddb58b84e413d64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a905c219287a7342b2ddb58b84e413d64">&#9670;&nbsp;</a></span>LoadIterator</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef LoadIterator_ <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a905c219287a7342b2ddb58b84e413d64">LoadIterator</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae033a49a784964e75a5c1b6135b21e47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae033a49a784964e75a5c1b6135b21e47">&#9670;&nbsp;</a></span>LongIndex</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef LoadIterator::LongIndex <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ae033a49a784964e75a5c1b6135b21e47">LongIndex</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac4452df991f57f9bb0b86dfd380179b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4452df991f57f9bb0b86dfd380179b2">&#9670;&nbsp;</a></span>Pointer</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef LoadIterator::Pointer <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ac4452df991f57f9bb0b86dfd380179b2">Pointer</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7073b32c2cc62ffcad70a9ca46995c4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7073b32c2cc62ffcad70a9ca46995c4c">&#9670;&nbsp;</a></span>Scalar</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef LoadIterator::Scalar <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7073b32c2cc62ffcad70a9ca46995c4c">Scalar</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac16e31930c346068d7522dd8de9d93d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac16e31930c346068d7522dd8de9d93d2">&#9670;&nbsp;</a></span>StoreIterator</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef StoreIterator_ <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ac16e31930c346068d7522dd8de9d93d2">StoreIterator</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a011287c8289b7b026f9993da663abd77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a011287c8289b7b026f9993da663abd77">&#9670;&nbsp;</a></span>ThreadblockTileRef</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structcutlass_1_1TileAllocation.html#aa0bf6caeab13dc004350c6c0cfe0df80">ThreadblockTileStorage::TensorRef</a> <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a011287c8289b7b026f9993da663abd77">ThreadblockTileRef</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a17804b01904a9a4ee7a857905833f7a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17804b01904a9a4ee7a857905833f7a8">&#9670;&nbsp;</a></span>ThreadblockTileStorage</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structcutlass_1_1TileAllocation.html">TileAllocation</a>&lt;typename StoreIterator::Scalar, typename StoreIterator::Tile&gt; <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a17804b01904a9a4ee7a857905833f7a8">ThreadblockTileStorage</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a260543a618fb187c2da40c9f630925ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a260543a618fb187c2da40c9f630925ec">&#9670;&nbsp;</a></span>Tile</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef LoadIterator::Tile <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a260543a618fb187c2da40c9f630925ec">Tile</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9eb2fb49698d0d018c04e7712e239ce9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9eb2fb49698d0d018c04e7712e239ce9">&#9670;&nbsp;</a></span>TransformedFragment</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef Transformer::OutputFragment <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a9eb2fb49698d0d018c04e7712e239ce9">TransformedFragment</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa79a27cbe2420882fbaca55e42803f02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa79a27cbe2420882fbaca55e42803f02">&#9670;&nbsp;</a></span>Transformer</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef Transformer_ <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#aa79a27cbe2420882fbaca55e42803f02">Transformer</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aec86bdf5d7d4ad1f7b6ebebcf2da8395"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec86bdf5d7d4ad1f7b6ebebcf2da8395">&#9670;&nbsp;</a></span>GlobalLoadStream()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">CUTLASS_DEVICE <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::<a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">GlobalLoadStream</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream_1_1Params.html">Params</a> const &amp;&#160;</td>
<td class="paramname"><em>_params</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream_1_1SharedStorage.html">SharedStorage</a> &amp;&#160;</td>
<td class="paramname"><em>shared_storage</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a011287c8289b7b026f9993da663abd77">ThreadblockTileRef</a> const &amp;&#160;</td>
<td class="paramname"><em>threadblock_tile_ref</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&#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>_threadblock_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> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aed33be079f056998624015460b4e3836"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed33be079f056998624015460b4e3836">&#9670;&nbsp;</a></span>add_batch_offset()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">CUTLASS_DEVICE <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">GlobalLoadStream</a>&amp; <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::add_batch_offset </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>batch_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab39c82ac1a8138c4b6d69dab9d48bdbc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab39c82ac1a8138c4b6d69dab9d48bdbc">&#9670;&nbsp;</a></span>commit()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">CUTLASS_DEVICE void <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::commit </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3784dbb3efe0865ffa946419111c824a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3784dbb3efe0865ffa946419111c824a">&#9670;&nbsp;</a></span>copy()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">CUTLASS_DEVICE void <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::copy </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac269a9280a55d3988ca60f571bdf7f29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac269a9280a55d3988ca60f571bdf7f29">&#9670;&nbsp;</a></span>move_to_residue()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">CUTLASS_DEVICE void <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::move_to_residue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7c46d6eb83b43e099d53784bb2a09f02">Index</a>&#160;</td>
<td class="paramname"><em>k</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7c46d6eb83b43e099d53784bb2a09f02">Index</a>&#160;</td>
<td class="paramname"><em>kTileK</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8e79a153de72eef10d90bfd02b5dd27e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e79a153de72eef10d90bfd02b5dd27e">&#9670;&nbsp;</a></span>operator+=()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">CUTLASS_DEVICE <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">GlobalLoadStream</a>&amp; <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::operator+= </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></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a16542631e4a4562cc72aa50f146a9724"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16542631e4a4562cc72aa50f146a9724">&#9670;&nbsp;</a></span>project_coordinate()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &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> <a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt;3&gt; <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::project_coordinate </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>coord</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7c46d6eb83b43e099d53784bb2a09f02">Index</a>&#160;</td>
<td class="paramname"><em>d_offset</em> = <code>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="a235adaea5d4f01232c79cb6109dc6d17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a235adaea5d4f01232c79cb6109dc6d17">&#9670;&nbsp;</a></span>residue()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">CUTLASS_DEVICE void <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::residue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7c46d6eb83b43e099d53784bb2a09f02">Index</a>&#160;</td>
<td class="paramname"><em>k</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>skip_clear</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1e2eecdba1871fc11aa43a06edf6ed34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e2eecdba1871fc11aa43a06edf6ed34">&#9670;&nbsp;</a></span>rollback()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">CUTLASS_DEVICE void <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::rollback </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a1c117b87024937f1dc3da128795b6e03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c117b87024937f1dc3da128795b6e03">&#9670;&nbsp;</a></span>fetched_fragment</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a7d9b4339129c1ab4f21f1df1144faddf">FetchedFragment</a> <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::fetched_fragment</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac29cd1ba94e802762d665c300e22e7db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac29cd1ba94e802762d665c300e22e7db">&#9670;&nbsp;</a></span>kLayout</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacecutlass_1_1MatrixLayout.html#a97ef07af21b122c1804245b0c7784d2b">MatrixLayout::Kind</a> const <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::kLayout = LoadIterator::kLayout</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The layout. </p>
</div>
</div>
<a id="a30113b850dfd3de60f8778bc7a66f700"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30113b850dfd3de60f8778bc7a66f700">&#9670;&nbsp;</a></span>kOperand</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structcutlass_1_1GemmOperand.html#ab209ea3de198efabe8e8707dfe8e0a0c">GemmOperand::Kind</a> const <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::kOperand = Operand</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="a5ef4cc42c7cec73523550e5ea56df88c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ef4cc42c7cec73523550e5ea56df88c">&#9670;&nbsp;</a></span>load_iterator</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a905c219287a7342b2ddb58b84e413d64">LoadIterator</a> <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::load_iterator</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a386f2f4d2e239075f0fe1489ed7788c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a386f2f4d2e239075f0fe1489ed7788c1">&#9670;&nbsp;</a></span>multiplicand_bounds</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt;3&gt; <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::multiplicand_bounds</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac8ff1a3e10b25c212cd3cf5ed997fc0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8ff1a3e10b25c212cd3cf5ed997fc0e">&#9670;&nbsp;</a></span>params</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream_1_1Params.html">Params</a> <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::params</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a45a4bceb72fcb856e32eaa20eec11e9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45a4bceb72fcb856e32eaa20eec11e9d">&#9670;&nbsp;</a></span>store_iterator</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#ac16e31930c346068d7522dd8de9d93d2">StoreIterator</a> <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::store_iterator</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a563961c326d2e55f5b8682a30b64a24a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a563961c326d2e55f5b8682a30b64a24a">&#9670;&nbsp;</a></span>threadblock_offset</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structcutlass_1_1Coord.html">Coord</a>&lt;3&gt; <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::threadblock_offset</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7d7042e60aaab0dd00772b239e1f1db1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d7042e60aaab0dd00772b239e1f1db1">&#9670;&nbsp;</a></span>transformed_fragment</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#a9eb2fb49698d0d018c04e7712e239ce9">TransformedFragment</a> <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::transformed_fragment</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab68ba57fe69430c557379b3457faebc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab68ba57fe69430c557379b3457faebc4">&#9670;&nbsp;</a></span>transformer</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;GemmOperand::Kind Operand, typename LoadIterator_ , typename StoreIterator_ , typename Transformer_ &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html#aa79a27cbe2420882fbaca55e42803f02">Transformer</a> <a class="el" href="structcutlass_1_1gemm_1_1GlobalLoadStream.html">cutlass::gemm::GlobalLoadStream</a>&lt; Operand, LoadIterator_, StoreIterator_, Transformer_ &gt;::transformer</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="gemm__global__stream_8h_source.html">gemm_global_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Oct 26 2018 14:53:39 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>