CUTLASS 2.0 (#62)

CUTLASS 2.0

Substantially refactored for

- Better performance, particularly for native Turing Tensor Cores
- Robust and durable templates spanning the design space
- Encapsulated functionality embodying modern C++11 programming techniques
- Optimized containers and data types for efficient, generic, portable device code

Updates to:
- Quick start guide
- Documentation
- Utilities
- CUTLASS Profiler

Native Turing Tensor Cores
- Efficient GEMM kernels targeting Turing Tensor Cores
- Mixed-precision floating point, 8-bit integer, 4-bit integer, and binarized operands

Coverage of existing CUTLASS functionality:
- GEMM kernels targeting CUDA and Tensor Cores in NVIDIA GPUs
- Volta Tensor Cores through native mma.sync and through WMMA API
- Optimizations such as parallel reductions, threadblock rasterization, and intra-threadblock reductions
- Batched GEMM operations
- Complex-valued GEMMs

Note: this commit and all that follow require a host compiler supporting C++11 or greater.
This commit is contained in:
Andrew Kerr
2019-11-19 16:55:34 -08:00
committed by GitHub
parent b5cab177a9
commit fb335f6a5f
5434 changed files with 599799 additions and 250176 deletions
+236 -54
View File
@@ -3,21 +3,23 @@
<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: Class Members - Functions</title>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>CUTLASS: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" async src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
@@ -26,8 +28,9 @@
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="cutlass-logo-small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Cutlass
<div id="projectname">CUTLASS
</div>
<div id="projectbrief">CUDA Templates for Linear Algebra Subroutines and Solvers</div>
</td>
@@ -36,22 +39,80 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<!-- Generated by Doxygen 1.8.11 -->
<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>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="functions.html"><span>All</span></a></li>
<li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
<li><a href="functions_type.html"><span>Typedefs</span></a></li>
<li><a href="functions_enum.html"><span>Enumerations</span></a></li>
<li><a href="functions_eval.html"><span>Enumerator</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="functions_func.html#index_a"><span>a</span></a></li>
<li><a href="functions_func_b.html#index_b"><span>b</span></a></li>
<li><a href="functions_func_c.html#index_c"><span>c</span></a></li>
<li><a href="functions_func_d.html#index_d"><span>d</span></a></li>
<li><a href="functions_func_e.html#index_e"><span>e</span></a></li>
<li><a href="functions_func_f.html#index_f"><span>f</span></a></li>
<li><a href="functions_func_g.html#index_g"><span>g</span></a></li>
<li><a href="functions_func_h.html#index_h"><span>h</span></a></li>
<li><a href="functions_func_i.html#index_i"><span>i</span></a></li>
<li><a href="functions_func_k.html#index_k"><span>k</span></a></li>
<li><a href="functions_func_l.html#index_l"><span>l</span></a></li>
<li><a href="functions_func_m.html#index_m"><span>m</span></a></li>
<li><a href="functions_func_n.html#index_n"><span>n</span></a></li>
<li><a href="functions_func_o.html#index_o"><span>o</span></a></li>
<li><a href="functions_func_p.html#index_p"><span>p</span></a></li>
<li><a href="functions_func_q.html#index_q"><span>q</span></a></li>
<li><a href="functions_func_r.html#index_r"><span>r</span></a></li>
<li><a href="functions_func_s.html#index_s"><span>s</span></a></li>
<li class="current"><a href="functions_func_t.html#index_t"><span>t</span></a></li>
<li><a href="functions_func_u.html#index_u"><span>u</span></a></li>
<li><a href="functions_func_v.html#index_v"><span>v</span></a></li>
<li><a href="functions_func_w.html#index_w"><span>w</span></a></li>
<li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
@@ -70,63 +131,184 @@ $(function() {
<div class="contents">
&#160;
<h3><a id="index_t"></a>- t -</h3><ul>
<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
<li>Tensor4DCoord()
: <a class="el" href="structcutlass_1_1Tensor4DCoord.html#a9a9c773b2bfec43d1722fd7a490fd436">cutlass::Tensor4DCoord</a>
</li>
<li>TensorContainsFunc()
: <a class="el" href="structcutlass_1_1reference_1_1host_1_1detail_1_1TensorContainsFunc.html#a94851c3df358846eb64df3dc5c17effe">cutlass::reference::host::detail::TensorContainsFunc&lt; Element, Layout &gt;</a>
</li>
<li>TensorCopyDiagonalInFunc()
: <a class="el" href="structcutlass_1_1reference_1_1device_1_1detail_1_1TensorCopyDiagonalInFunc.html#aeb63ecaca6cb9c523460736d187e7817">cutlass::reference::device::detail::TensorCopyDiagonalInFunc&lt; Element, Layout &gt;</a>
</li>
<li>TensorCopyDiagonalOutFunc()
: <a class="el" href="structcutlass_1_1reference_1_1device_1_1detail_1_1TensorCopyDiagonalOutFunc.html#a0bbf4fa6f52b7f3569eb855c05d889cc">cutlass::reference::device::detail::TensorCopyDiagonalOutFunc&lt; Element, Layout &gt;</a>
</li>
<li>TensorCopyIf()
: <a class="el" href="structcutlass_1_1reference_1_1host_1_1detail_1_1TensorCopyIf.html#aa21edde0e94e5f2c14598ab0d3fc5311">cutlass::reference::host::detail::TensorCopyIf&lt; DstElement, DstLayout, SrcElement, SrcLayout, F &gt;</a>
</li>
<li>TensorCxRSKx()
: <a class="el" href="classcutlass_1_1layout_1_1TensorCxRSKx.html#a53cbde36dc454e12231492154c3c0e3e">cutlass::layout::TensorCxRSKx&lt; Interleave &gt;</a>
</li>
<li>TensorDescription()
: <a class="el" href="structcutlass_1_1library_1_1TensorDescription.html#a476964bea1ba7f7897e234ced8c0ff26">cutlass::library::TensorDescription</a>
</li>
<li>TensorDiagonalForEach()
: <a class="el" href="structcutlass_1_1reference_1_1device_1_1TensorDiagonalForEach.html#adab64f903f234d0266400bd2416134ee">cutlass::reference::device::TensorDiagonalForEach&lt; Func, Rank, Params &gt;</a>
</li>
<li>TensorEqualsFunc()
: <a class="el" href="structcutlass_1_1reference_1_1host_1_1detail_1_1TensorEqualsFunc.html#aefebe5071ef03b7e1094e0583a0b3f17">cutlass::reference::host::detail::TensorEqualsFunc&lt; Element, Layout &gt;</a>
</li>
<li>TensorFillDiagonalFunc()
: <a class="el" href="structcutlass_1_1reference_1_1device_1_1detail_1_1TensorFillDiagonalFunc.html#ac961625ad352e5efc442daf73102c455">cutlass::reference::device::detail::TensorFillDiagonalFunc&lt; Element, Layout &gt;</a>
, <a class="el" href="structcutlass_1_1reference_1_1host_1_1detail_1_1TensorFillDiagonalFunc.html#ac288b85512ed45e0180987bf5b85dd23">cutlass::reference::host::detail::TensorFillDiagonalFunc&lt; Element, Layout &gt;</a>
</li>
<li>TensorFillFunc()
: <a class="el" href="structcutlass_1_1reference_1_1host_1_1detail_1_1TensorFillFunc.html#a55353997540e39108d75456f681a703d">cutlass::reference::host::detail::TensorFillFunc&lt; Element, Layout &gt;</a>
</li>
<li>TensorFillGaussianFunc()
: <a class="el" href="structcutlass_1_1reference_1_1host_1_1detail_1_1TensorFillGaussianFunc.html#a4b365f33d4c2d36c2e8052965bc3c787">cutlass::reference::host::detail::TensorFillGaussianFunc&lt; Element, Layout &gt;</a>
</li>
<li>TensorFillLinearFunc()
: <a class="el" href="structcutlass_1_1reference_1_1device_1_1detail_1_1TensorFillLinearFunc.html#a49592cca17ef03a330f698c729efb6e5">cutlass::reference::device::detail::TensorFillLinearFunc&lt; Element, Layout &gt;</a>
, <a class="el" href="structcutlass_1_1reference_1_1host_1_1detail_1_1TensorFillLinearFunc.html#a7b3f05b29657f968969b15bd6af4b4c1">cutlass::reference::host::detail::TensorFillLinearFunc&lt; Element, Layout &gt;</a>
</li>
<li>TensorFillRandomGaussianFunc()
: <a class="el" href="structcutlass_1_1reference_1_1device_1_1detail_1_1TensorFillRandomGaussianFunc.html#a2d599a732c769984919c26578ed00d1c">cutlass::reference::device::detail::TensorFillRandomGaussianFunc&lt; Element, Layout &gt;</a>
</li>
<li>TensorFillRandomUniformFunc()
: <a class="el" href="structcutlass_1_1reference_1_1device_1_1detail_1_1TensorFillRandomUniformFunc.html#a90aca8bd2ecdc35902b372e9840be3b2">cutlass::reference::device::detail::TensorFillRandomUniformFunc&lt; Element, Layout &gt;</a>
, <a class="el" href="structcutlass_1_1reference_1_1host_1_1detail_1_1TensorFillRandomUniformFunc.html#aa192b9b11c26dff5b0279fff30e3731c">cutlass::reference::host::detail::TensorFillRandomUniformFunc&lt; Element, Layout &gt;</a>
</li>
<li>TensorForEach()
: <a class="el" href="structcutlass_1_1reference_1_1device_1_1TensorForEach.html#ad693751cf94aea83a14235a5ec7c7e92">cutlass::reference::device::TensorForEach&lt; Func, Rank, Params &gt;</a>
</li>
<li>TensorForEachHelper()
: <a class="el" href="structcutlass_1_1reference_1_1device_1_1kernel_1_1detail_1_1TensorForEachHelper.html#a3f3002a3173247d60a18298ef3ff9dbf">cutlass::reference::device::kernel::detail::TensorForEachHelper&lt; Func, Rank, RankRemaining &gt;</a>
, <a class="el" href="structcutlass_1_1reference_1_1device_1_1kernel_1_1detail_1_1TensorForEachHelper_3_01Func_00_01Rank_00_010_01_4.html#a89e10e059c3ffcfe2640cf6291353937">cutlass::reference::device::kernel::detail::TensorForEachHelper&lt; Func, Rank, 0 &gt;</a>
, <a class="el" href="structcutlass_1_1reference_1_1host_1_1detail_1_1TensorForEachHelper.html#aa63906bbecfe42eec1991c9176f066d9">cutlass::reference::host::detail::TensorForEachHelper&lt; Func, Rank, RankRemaining &gt;</a>
, <a class="el" href="structcutlass_1_1reference_1_1host_1_1detail_1_1TensorForEachHelper_3_01Func_00_01Rank_00_010_01_4.html#a5029a4405a9a5e64011addb43bb88120">cutlass::reference::host::detail::TensorForEachHelper&lt; Func, Rank, 0 &gt;</a>
</li>
<li>TensorFuncBinaryOp()
: <a class="el" href="structcutlass_1_1reference_1_1host_1_1detail_1_1TensorFuncBinaryOp.html#aaab8004c6c977f725947702b017b3c91">cutlass::reference::host::detail::TensorFuncBinaryOp&lt; ElementA, LayoutA, ElementB, LayoutB, ElementD, LayoutD, BinaryFunc &gt;</a>
</li>
<li>TensorNCHW()
: <a class="el" href="classcutlass_1_1layout_1_1TensorNCHW.html#aa0b2d1bcdf7697cf07d26b91aba7f5d8">cutlass::layout::TensorNCHW</a>
</li>
<li>TensorNCxHWx()
: <a class="el" href="classcutlass_1_1layout_1_1TensorNCxHWx.html#a59e93fceb4a8c9a7dd7492a19e4c98df">cutlass::layout::TensorNCxHWx&lt; Interleave &gt;</a>
</li>
<li>TensorNHWC()
: <a class="el" href="classcutlass_1_1layout_1_1TensorNHWC.html#a4214c37382cd4e479748dae3f5e3bc52">cutlass::layout::TensorNHWC</a>
</li>
<li>TensorOpMultiplicand()
: <a class="el" href="structcutlass_1_1layout_1_1TensorOpMultiplicand.html#a8a437591f9e9aa95ce0616dd931f48bd">cutlass::layout::TensorOpMultiplicand&lt; ElementSize, Crosswise &gt;</a>
</li>
<li>TensorOpMultiplicandColumnMajorInterleaved()
: <a class="el" href="structcutlass_1_1layout_1_1TensorOpMultiplicandColumnMajorInterleaved.html#ac8d018056fa3e2993f4b85cfd97c2800">cutlass::layout::TensorOpMultiplicandColumnMajorInterleaved&lt; ElementSize, InterleavedK &gt;</a>
</li>
<li>TensorOpMultiplicandCongruous()
: <a class="el" href="structcutlass_1_1layout_1_1TensorOpMultiplicandCongruous.html#a3fbf6b274197d5f90513aa10360e667e">cutlass::layout::TensorOpMultiplicandCongruous&lt; ElementSize, Crosswise &gt;</a>
, <a class="el" href="structcutlass_1_1layout_1_1TensorOpMultiplicandCongruous_3_0132_00_01Crosswise_01_4.html#acb38ed15663b5dfc87d071e18ca29682">cutlass::layout::TensorOpMultiplicandCongruous&lt; 32, Crosswise &gt;</a>
</li>
<li>TensorOpMultiplicandCrosswise()
: <a class="el" href="structcutlass_1_1layout_1_1TensorOpMultiplicandCrosswise.html#a1ec5d2e030810801e5e5816916a1cf7f">cutlass::layout::TensorOpMultiplicandCrosswise&lt; ElementSize, Crosswise &gt;</a>
</li>
<li>TensorOpMultiplicandRowMajorInterleaved()
: <a class="el" href="structcutlass_1_1layout_1_1TensorOpMultiplicandRowMajorInterleaved.html#ad925d2b3c135bca79f802d53e4c31a6e">cutlass::layout::TensorOpMultiplicandRowMajorInterleaved&lt; ElementSize, InterleavedK &gt;</a>
</li>
<li>TensorRef()
: <a class="el" href="classcutlass_1_1TensorRef.html#a5a667a48c64fb916c31802b73b769765">cutlass::TensorRef&lt; Storage_, Rank_, MapFunc_, StorageRank_, Index_, LongIndex_ &gt;</a>
, <a class="el" href="classcutlass_1_1TensorRef_3_01Storage___00_01Rank___00_01MapFunc___00_011_00_01Index___00_01LongIndex___01_4.html#aeacb444d31783eafe27a9e8d8cab98f8">cutlass::TensorRef&lt; Storage_, Rank_, MapFunc_, 1, Index_, LongIndex_ &gt;</a>
: <a class="el" href="classcutlass_1_1TensorRef.html#a26c607b811a8f828f5ec5b00f3b874ea">cutlass::TensorRef&lt; Element_, Layout_ &gt;</a>
</li>
<li>TensorRefArray()
: <a class="el" href="structcutlass_1_1TensorRefArray.html#a5b2702b1029db5b5a0b9dddbb5818e3a">cutlass::TensorRefArray&lt; Storage_, Rank_, MapFunc_, StorageRank_, Index_, LongIndex_ &gt;</a>
<li>TensorUpdateDiagonalFunc()
: <a class="el" href="structcutlass_1_1reference_1_1device_1_1detail_1_1TensorUpdateDiagonalFunc.html#a955462a34b56ff2ff8f84de22fa4ad45">cutlass::reference::device::detail::TensorUpdateDiagonalFunc&lt; Element, Layout &gt;</a>
</li>
<li>TensorRefBatchStrided()
: <a class="el" href="structcutlass_1_1TensorRefBatchStrided.html#aa5d7e9a4589d7dacc5d69ca3c70ecc2b">cutlass::TensorRefBatchStrided&lt; Storage_, Rank_, MapFunc_, StorageRank_, Index_, LongIndex_ &gt;</a>
<li>TensorUpdateOffDiagonalFunc()
: <a class="el" href="structcutlass_1_1reference_1_1device_1_1detail_1_1TensorUpdateOffDiagonalFunc.html#a39a7934332c29cebfc68947d56834188">cutlass::reference::device::detail::TensorUpdateOffDiagonalFunc&lt; Element, Layout &gt;</a>
, <a class="el" href="structcutlass_1_1reference_1_1host_1_1detail_1_1TensorUpdateOffDiagonalFunc.html#a65a5f9c6873bea8c693b4b88087cba17">cutlass::reference::host::detail::TensorUpdateOffDiagonalFunc&lt; Element, Layout &gt;</a>
</li>
<li>TensorView()
: <a class="el" href="classcutlass_1_1TensorView.html#a73f049694ca1ea4825b5a651852827f5">cutlass::TensorView&lt; Storage_, Rank_, MapFunc_, StorageRank_, Index_, LongIndex_ &gt;</a>
: <a class="el" href="classcutlass_1_1TensorView.html#ad554523c77f7166cf0a86f44c359bc32">cutlass::TensorView&lt; Element_, Layout_ &gt;</a>
</li>
<li>ThreadMultiplyAdd()
: <a class="el" href="structcutlass_1_1gemm_1_1ThreadMultiplyAdd.html#ac087f0b397599221b74d220fcb1c7121">cutlass::gemm::ThreadMultiplyAdd&lt; ThreadGemmShape_, ThreadsPerWarp_, ScalarA_, ScalarB_, ScalarC_, kLayout_ &gt;</a>
, <a class="el" href="structcutlass_1_1gemm_1_1ThreadMultiplyAdd_3_01ThreadGemmShape___00_01ThreadsPerWarp___00_01half_00_01half_00_01float_01_4.html#a0ab850304c3c6e73bcba321426ba93f9">cutlass::gemm::ThreadMultiplyAdd&lt; ThreadGemmShape_, ThreadsPerWarp_, half, half, float &gt;</a>
, <a class="el" href="structcutlass_1_1gemm_1_1ThreadMultiplyAdd_3_01ThreadGemmShape___00_01ThreadsPerWarp___00_01half_00_01half_00_01half_01_4.html#a32b234c873ffe44090a12e12d871024c">cutlass::gemm::ThreadMultiplyAdd&lt; ThreadGemmShape_, ThreadsPerWarp_, half, half, half &gt;</a>
, <a class="el" href="structcutlass_1_1gemm_1_1ThreadMultiplyAdd_3_01ThreadGemmShape___00_01ThreadsPerWarp___00_01int8__t_00_01int8__t_00_01int_01_4.html#aad8a642f46c88e407a1150ee1d42b8dd">cutlass::gemm::ThreadMultiplyAdd&lt; ThreadGemmShape_, ThreadsPerWarp_, int8_t, int8_t, int &gt;</a>
<li>TileDescription()
: <a class="el" href="structcutlass_1_1library_1_1TileDescription.html#adc39c111b8c71ebaace50806e8efcc18">cutlass::library::TileDescription</a>
</li>
<li>TileCoord()
: <a class="el" href="structcutlass_1_1TileCoord.html#ae0c8cd0657a73f3ffff99e9546ea8a95">cutlass::TileCoord&lt; Index_ &gt;</a>
<li>TileIteratorSimt()
: <a class="el" href="classcutlass_1_1epilogue_1_1warp_1_1TileIteratorSimt_3_01WarpShape___00_01Operator___00_01Elemenf2bd262ed3e202b25d5802d83965bf3b.html#a25c74737e253375473171917c4f3df6f">cutlass::epilogue::warp::TileIteratorSimt&lt; WarpShape_, Operator_, Element_, layout::RowMajor, MmaSimtPolicy_ &gt;</a>
</li>
<li>TileLoadIterator()
: <a class="el" href="structcutlass_1_1TileLoadIterator.html#add962655973d5b8eff5673c04e053e4e">cutlass::TileLoadIterator&lt; Traits_, Scalar_, Advance_, MemorySpace, Index_, FragmentElement_, FragmentElementType_, Skew_ &gt;</a>
<li>TileIteratorTensorOp()
: <a class="el" href="classcutlass_1_1epilogue_1_1warp_1_1TileIteratorTensorOp_3_01WarpShape___00_01OperatorShape___003cbb32beb84b4984cb7853662096d289.html#a40db089c95d2e6aed4a652862bc09f32">cutlass::epilogue::warp::TileIteratorTensorOp&lt; WarpShape_, OperatorShape_, Element_, layout::RowMajor &gt;</a>
</li>
<li>TileLoadStream()
: <a class="el" href="structcutlass_1_1TileLoadStream.html#a6b8b65772d95c30d29e7833348d06ba7">cutlass::TileLoadStream&lt; Iterator_, Transformer_ &gt;</a>
<li>TileIteratorVoltaTensorOp()
: <a class="el" href="classcutlass_1_1epilogue_1_1warp_1_1TileIteratorVoltaTensorOp_3_01WarpShape___00_01gemm_1_1GemmS2fe0c60b727c738c622c18fc3dd76644.html#a434b6974573b635cb4d8e3dc4d3dea74">cutlass::epilogue::warp::TileIteratorVoltaTensorOp&lt; WarpShape_, gemm::GemmShape&lt; 32, 32, 4 &gt;, float, layout::RowMajor &gt;</a>
, <a class="el" href="classcutlass_1_1epilogue_1_1warp_1_1TileIteratorVoltaTensorOp_3_01WarpShape___00_01gemm_1_1GemmSa0ceeeddc22575876eb977da7f5416a8.html#a7bf6d1c658c57c0112722b638c17cc58">cutlass::epilogue::warp::TileIteratorVoltaTensorOp&lt; WarpShape_, gemm::GemmShape&lt; 32, 32, 4 &gt;, half_t, layout::RowMajor &gt;</a>
</li>
<li>TileStoreIterator()
: <a class="el" href="structcutlass_1_1TileStoreIterator.html#a9f4501c6e8ba0f4511919c1b63c14e69">cutlass::TileStoreIterator&lt; Traits_, Scalar_, Advance_, MemorySpace, Index_, FragmentElement_, FragmentElementType_, Skew_ &gt;</a>
<li>TileIteratorWmmaTensorOp()
: <a class="el" href="classcutlass_1_1epilogue_1_1warp_1_1TileIteratorWmmaTensorOp_3_01WarpShape___00_01OperatorShape_fd6a91cd8bbd07ecd1344326b830e3a4.html#ab2d5b947844de7c567afabc8a86b52c0">cutlass::epilogue::warp::TileIteratorWmmaTensorOp&lt; WarpShape_, OperatorShape_, OperatorFragment_, layout::RowMajor &gt;</a>
</li>
<li>TileStoreStream()
: <a class="el" href="structcutlass_1_1TileStoreStream.html#af85b3acfc29e41ee605df64b09698a8b">cutlass::TileStoreStream&lt; Iterator_, Transformer_ &gt;</a>
<li>to_device()
: <a class="el" href="structcutlass_1_1TypeTraits.html#a4311be016f580599b361291b02f7e5f1">cutlass::TypeTraits&lt; T &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01complex_3_01double_01_4_01_4.html#ae3ee811cbb4e6f58b2d6a642b92e7e39">cutlass::TypeTraits&lt; complex&lt; double &gt; &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01complex_3_01float_01_4_01_4.html#ae948b70522a237f498935a5864ebac7f">cutlass::TypeTraits&lt; complex&lt; float &gt; &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01complex_3_01half_01_4_01_4.html#ab648e5aaa13ce327cea11b8b18bf2ae5">cutlass::TypeTraits&lt; complex&lt; half &gt; &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01complex_3_01half__t_01_4_01_4.html#ac6d25ea8ea7b1207a2ff6aff401ea249">cutlass::TypeTraits&lt; complex&lt; half_t &gt; &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01double_01_4.html#a7fbaf2396f9a2fb8392135012d113e02">cutlass::TypeTraits&lt; double &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01float_01_4.html#ac83b0379f0e78a9e6fb05b15302d21c4">cutlass::TypeTraits&lt; float &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01half__t_01_4.html#a41a25099cbe7be57b6cdd973a9ea088d">cutlass::TypeTraits&lt; half_t &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01int_01_4.html#a52c7501e863bca0d8ef933d9262663f1">cutlass::TypeTraits&lt; int &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01int64__t_01_4.html#ac334c6173456ab73fad04039b63d4f81">cutlass::TypeTraits&lt; int64_t &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01int8__t_01_4.html#a8ed63daf2822140e6f4820721d353112">cutlass::TypeTraits&lt; int8_t &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01uint64__t_01_4.html#ac3ec7169904cd50b939ababe12461244">cutlass::TypeTraits&lt; uint64_t &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01uint8__t_01_4.html#a84de624a6a2a3431cd4f842994a9946d">cutlass::TypeTraits&lt; uint8_t &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01unsigned_01_4.html#a2e7a848039a582d94742bd401653e8ab">cutlass::TypeTraits&lt; unsigned &gt;</a>
</li>
<li>to_half()
: <a class="el" href="structcutlass_1_1half__t.html#a611bafed82bfd1a61057fcb500bee2b2">cutlass::half_t</a>
</li>
<li>to_print()
: <a class="el" href="structcutlass_1_1TypeTraits.html#aefa56c124caff14cbee72476bc1c0ab2">cutlass::TypeTraits&lt; T &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01complex_3_01double_01_4_01_4.html#aba708b7caac2634255aea0b6890b445b">cutlass::TypeTraits&lt; complex&lt; double &gt; &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01complex_3_01float_01_4_01_4.html#a41e52f63a778b0f71de346f685a62295">cutlass::TypeTraits&lt; complex&lt; float &gt; &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01complex_3_01half__t_01_4_01_4.html#a698ffc92b5a0717c0d3015b034cee4d3">cutlass::TypeTraits&lt; complex&lt; half_t &gt; &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01double_01_4.html#a0afc1ae6d0e94bac50ebec7cd053719e">cutlass::TypeTraits&lt; double &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01float_01_4.html#ad0fa008a2e7786120aa23ec11c605b90">cutlass::TypeTraits&lt; float &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01half__t_01_4.html#a5f1ac1085f0c227da3a1b02c49321189">cutlass::TypeTraits&lt; half_t &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01int_01_4.html#ab2f720b4fe5be6f94e140f61e3a90bb6">cutlass::TypeTraits&lt; int &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01int64__t_01_4.html#ac2e3e80e69399cc9e280dd56d9b457d0">cutlass::TypeTraits&lt; int64_t &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01int8__t_01_4.html#a2b1e2ad97871de651d54035f97bb1149">cutlass::TypeTraits&lt; int8_t &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01uint64__t_01_4.html#adbfa43b34b8cfc394dc8d62db6766f75">cutlass::TypeTraits&lt; uint64_t &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01uint8__t_01_4.html#a1d8e72e3085df6766bbdfdc83405f3a2">cutlass::TypeTraits&lt; uint8_t &gt;</a>
, <a class="el" href="structcutlass_1_1TypeTraits_3_01unsigned_01_4.html#a74cd051acce6d2394996d3184b061a33">cutlass::TypeTraits&lt; unsigned &gt;</a>
</li>
<li>to_underlying_arguments()
: <a class="el" href="classcutlass_1_1gemm_1_1device_1_1Gemm_3_01ElementA___00_01LayoutA___00_01ElementB___00_01Layout4d0960ae6b1d1bf19e6239dbd002249c.html#aa9313915a6129f0c43b43ef3698b3ee4">cutlass::gemm::device::Gemm&lt; ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, layout::ColumnMajor, ElementAccumulator_, OperatorClass_, ArchTag_, ThreadblockShape_, WarpShape_, InstructionShape_, EpilogueOutputOp_, ThreadblockSwizzle_, Stages, AlignmentA, AlignmentB, SplitKSerial, Operator_, IsBetaZero &gt;</a>
, <a class="el" href="classcutlass_1_1gemm_1_1device_1_1GemmBatched_3_01ElementA___00_01LayoutA___00_01ElementB___00_0c9bb6f4463ab6085e6008b5d5ad6abfd.html#ac4ef1ac1e0876aaee5bff50dc09fe8a9">cutlass::gemm::device::GemmBatched&lt; ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, layout::ColumnMajor, ElementAccumulator_, OperatorClass_, ArchTag_, ThreadblockShape_, WarpShape_, InstructionShape_, EpilogueOutputOp_, ThreadblockSwizzle_, Stages, AlignmentA, AlignmentB, Operator_ &gt;</a>
, <a class="el" href="classcutlass_1_1gemm_1_1device_1_1GemmComplex_3_01ElementA___00_01LayoutA___00_01ElementB___00_07c56401b4df75709ae636675d9980a9a.html#a3dd09eeeae6c4faeddc4abc8bb57b177">cutlass::gemm::device::GemmComplex&lt; ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, layout::ColumnMajor, ElementAccumulator_, OperatorClass_, ArchTag_, ThreadblockShape_, WarpShape_, InstructionShape_, EpilogueOutputOp_, ThreadblockSwizzle_, Stages, TransformA, TransformB, SplitKSerial &gt;</a>
, <a class="el" href="classcutlass_1_1gemm_1_1device_1_1GemmSplitKParallel_3_01ElementA___00_01LayoutA___00_01ElementBbe7c1f7154ad5b5bf9d4d28301e2b457.html#a535863339cab9879474e31f2fd543804">cutlass::gemm::device::GemmSplitKParallel&lt; ElementA_, LayoutA_, ElementB_, LayoutB_, ElementC_, layout::ColumnMajor, ElementAccumulator_, OperatorClass_, ArchTag_, ThreadblockShape_, WarpShape_, InstructionShape_, EpilogueOutputOp_, ConvertScaledOp_, ReductionOp_, ThreadblockSwizzle_, Stages, kAlignmentA, kAlignmentB, Operator_ &gt;</a>
</li>
<li>toCoord()
: <a class="el" href="structcutlass_1_1gemm_1_1GemmShape.html#a9cd04b9627d0996a67cd01218953d42d">cutlass::gemm::GemmShape&lt; M, N, K &gt;</a>
, <a class="el" href="structcutlass_1_1MatrixShape.html#a495679d31c63f171d85954007d441a20">cutlass::MatrixShape&lt; Row_, Column_ &gt;</a>
</li>
<li>tokenize()
: <a class="el" href="structcutlass_1_1CommandLine.html#a1944da52162e04b12a82ce0c1ade676e">cutlass::CommandLine</a>
</li>
<li>transform()
: <a class="el" href="structcutlass_1_1Convert_3_01Fragment_3_01InputScalar___00_01kScalars___01_4_00_01Fragment_3_01Ofca5985d18bcb54bc1f49355f3cee121.html#aa9fe67c947bf461ba3e3ca48daa34815">cutlass::Convert&lt; Fragment&lt; InputScalar_, kScalars_ &gt;, Fragment&lt; OutputScalar_, kScalars_ &gt; &gt;</a>
, <a class="el" href="structcutlass_1_1Copy.html#ab356f0f473aa3fd8df8fb8ddd8e0e9f3">cutlass::Copy&lt; Fragment_ &gt;</a>
, <a class="el" href="structcutlass_1_1gemm_1_1HgemmSwizzle.html#ad467ce744bf9d478900fb2661d7a1c26">cutlass::gemm::HgemmSwizzle&lt; GlobalIterator_ &gt;</a>
, <a class="el" href="structcutlass_1_1gemm_1_1IgemmFloatToInt8Converter.html#a91ad48362b99a5f96ac1e92e95104f7b">cutlass::gemm::IgemmFloatToInt8Converter&lt; kElements_ &gt;</a>
, <a class="el" href="structcutlass_1_1gemm_1_1IgemmInt8ToFloatConverter.html#aca8a61e8eb1ab33b9c61e2e7d342379d">cutlass::gemm::IgemmInt8ToFloatConverter&lt; kElements_ &gt;</a>
, <a class="el" href="structcutlass_1_1gemm_1_1IgemmSwizzle.html#a084917a512c7a411b76a69f86b906811">cutlass::gemm::IgemmSwizzle&lt; GlobalIterator_ &gt;</a>
, <a class="el" href="structcutlass_1_1ZipConvert.html#a7e6398ad8ecd8757744a42f3ab8ef955">cutlass::ZipConvert&lt; First_, Second_ &gt;</a>
: <a class="el" href="structcutlass_1_1transform_1_1thread_1_1Transpose_3_01ElementCount___00_01layout_1_1PitchLinearS99f8e05faf0bb5ed48a0154afe740d81.html#ac2b77ac69bcb01ae623366cc020d6ecd">cutlass::transform::thread::Transpose&lt; ElementCount_, layout::PitchLinearShape&lt; 4, 4 &gt;, int8_t &gt;</a>
</li>
<li>TrivialConvert()
: <a class="el" href="structcutlass_1_1reference_1_1host_1_1detail_1_1TrivialConvert.html#a329020d42d4ee1fdcdee82d70432d1ed">cutlass::reference::host::detail::TrivialConvert&lt; DstElement, SrcElement &gt;</a>
</li>
<li>TrivialIterator()
: <a class="el" href="structcutlass_1_1PredicateVector_1_1TrivialIterator.html#a3adf0440f9a0143a61b43d39c3f03721">cutlass::PredicateVector&lt; kPredicates_, kPredicatesPerByte_, kPredicateStart_ &gt;::TrivialIterator</a>
</li>
<li>TrivialPredicateTileAdapter()
: <a class="el" href="structcutlass_1_1TrivialPredicateTileAdapter.html#a7259853a129a7e319b972d3b41dd59d7">cutlass::TrivialPredicateTileAdapter</a>
: <a class="el" href="structcutlass_1_1PredicateVector_1_1TrivialIterator.html#a6cb3664b5cba4280b7055a65ddad7850">cutlass::PredicateVector&lt; kPredicates_, kPredicatesPerByte_, kPredicateStart_ &gt;::TrivialIterator</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Oct 26 2018 14:53:41 for Cutlass by &#160;<a href="http://www.doxygen.org/index.html">
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</a> 1.8.11
</small></address>
</body>
</html>