<ahref="mma__pipelined_8h.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">/***************************************************************************************************</span></div><divclass="line"><aname="l00002"></a><spanclass="lineno"> 2</span> <spanclass="comment"> * Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved.</span></div><divclass="line"><aname="l00003"></a><spanclass="lineno"> 3</span> <spanclass="comment"> *</span></div><divclass="line"><aname="l00004"></a><spanclass="lineno"> 4</span> <spanclass="comment"> * Redistribution and use in source and binary forms, with or without modification, are permitted</span></div><divclass="line"><aname="l00005"></a><spanclass="lineno"> 5</span> <spanclass="comment"> * provided that the following conditions are met:</span></div><divclass="line"><aname="l00006"></a><spanclass="lineno"> 6</span> <spanclass="comment"> * * Redistributions of source code must retain the above copyright notice, this list of</span></div><divclass="line"><aname="l00007"></a><spanclass="lineno"> 7</span> <spanclass="comment"> * conditions and the following disclaimer.</span></div><divclass="line"><aname="l00008"></a><spanclass="lineno"> 8</span> <spanclass="comment"> * * Redistributions in binary form must reproduce the above copyright notice, this list of</span></div><divclass="line"><aname="l00009"></a><spanclass="lineno"> 9</span> <spanclass="comment"> * conditions and the following disclaimer in the documentation and/or other materials</span></div><divclass="line"><aname="l00010"></a><spanclass="lineno"> 10</span> <spanclass="comment"> * provided with the distribution.</span></div><divclass="line"><aname="l00011"></a><spanclass="lineno"> 11</span> <spanclass="comment"> * * Neither the name of the NVIDIA CORPORATION nor the names of its contributors may be used</span></div><divclass="line"><aname="l00012"></a><spanclass="lineno"> 12</span> <spanclass="comment"> * to endorse or promote products derived from this software without specific prior written</span></div><divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> <spanclass="comment"> * permission.</span></div><divclass="line"><aname="l00014"></a><spanclass="lineno"> 14</span> <spanclass="comment"> *</span></div><divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> <spanclass="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR</span></div><divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> <spanclass="comment"> * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND</span></div><divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> <spanclass="comment"> * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE</span></div><divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> <spanclass="comment"> * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,</span></div><divclass="line"><aname="l00019"></a><spanclass="lineno"> 19</span> <spanclass="comment"> * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;</span></div><divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span> <spanclass="comment"> * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,</span></div><divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span> <spanclass="comment"> * STRICT LIABILITY, OR TOR (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span></div><divclass="line"><aname="l0002
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaBase_html_a3ccfb6c23f8be68463a081dc18a7b6f1"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaBase.html#a3ccfb6c23f8be68463a081dc18a7b6f1">cutlass::gemm::threadblock::MmaBase< Shape_, Policy_, 2 >::warp_tile_iterator_B_</a></div><divclass="ttdeci">Operator::IteratorB warp_tile_iterator_B_</div><divclass="ttdoc">Iterator to load a warp-scoped tile of B operand from shared memory. </div><divclass="ttdef"><b>Definition:</b> mma_base.h:193</div></div>
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined_html"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined.html">cutlass::gemm::threadblock::MmaPipelined</a></div><divclass="ttdoc">Structure to compute the matrix product targeting CUDA cores and SIMT math instructions. </div><divclass="ttdef"><b>Definition:</b> mma_pipelined.h:86</div></div>
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined_html_a3989c584460e66c75a3f37ef91ecf06d"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined.html#a3989c584460e66c75a3f37ef91ecf06d">cutlass::gemm::threadblock::MmaPipelined::IteratorB</a></div><divclass="ttdeci">IteratorB_ IteratorB</div><divclass="ttdoc">Iterates over tiles of B operand in global memory. </div><divclass="ttdef"><b>Definition:</b> mma_pipelined.h:94</div></div>
<divclass="ttc"id="include_2cutlass_2gemm_2gemm_8h_html"><divclass="ttname"><ahref="include_2cutlass_2gemm_2gemm_8h.html">gemm.h</a></div><divclass="ttdoc">Defines common types used for all GEMM-like operators. </div></div>
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined_html_a258197bea0d4894569c627c56a64203a"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined.html#a258197bea0d4894569c627c56a64203a">cutlass::gemm::threadblock::MmaPipelined::IteratorA</a></div><divclass="ttdeci">IteratorA_ IteratorA</div><divclass="ttdoc">Iterates over tiles of A operand in global memory. </div><divclass="ttdef"><b>Definition:</b> mma_pipelined.h:93</div></div>
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined_html_a8a6b28dec3f9687f46180d59ac9187fb"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined.html#a8a6b28dec3f9687f46180d59ac9187fb">cutlass::gemm::threadblock::MmaPipelined::FragmentB</a></div><divclass="ttdeci">typename IteratorB::Fragment FragmentB</div><divclass="ttdoc">Fragment of operand B loaded from global memory. </div><divclass="ttdef"><b>Definition:</b> mma_pipelined.h:113</div></div>
<divclass="ttc"id="array_8h_html"><divclass="ttname"><ahref="array_8h.html">array.h</a></div><divclass="ttdoc">Statically sized array of elements that accommodates all CUTLASS-supported numeric types and is safe ...</div></div>
<divclass="ttc"id="numeric__conversion_8h_html"><divclass="ttname"><ahref="numeric__conversion_8h.html">numeric_conversion.h</a></div><divclass="ttdoc">Boost-like numeric conversion operator for CUTLASS numeric types. </div></div>
<divclass="ttc"id="matrix__shape_8h_html"><divclass="ttname"><ahref="matrix__shape_8h.html">matrix_shape.h</a></div><divclass="ttdoc">Defines a Shape template for matrix tiles. </div></div>
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaBase_html_a02f496a0fd1df929d8d4db9fea19160d"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaBase.html#a02f496a0fd1df929d8d4db9fea19160d">cutlass::gemm::threadblock::MmaBase< Shape_, Policy_, 2 >::kWarpGemmIterations</a></div><divclass="ttdeci">static int const kWarpGemmIterations</div><divclass="ttdoc">Number of warp-level GEMM oeprations. </div><divclass="ttdef"><b>Definition:</b> mma_base.h:108</div></div>
<divclass="ttc"id="mma__base_8h_html"><divclass="ttname"><ahref="mma__base_8h.html">mma_base.h</a></div><divclass="ttdoc">Template for a double-buffered threadblock-scoped GEMM kernel. </div></div>
<divclass="ttc"id="aligned__buffer_8h_html"><divclass="ttname"><ahref="aligned__buffer_8h.html">aligned_buffer.h</a></div><divclass="ttdoc">AlignedBuffer is a container for trivially copyable elements suitable for use in unions and shared me...</div></div>
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined_html_af42727c7f832320ae88178d163421dca"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined.html#af42727c7f832320ae88178d163421dca">cutlass::gemm::threadblock::MmaPipelined::Shape</a></div><divclass="ttdeci">Shape_ Shape</div><divclass="ttdoc">Size of the Gemm problem - concept: gemm::GemmShape<></div><divclass="ttdef"><b>Definition:</b> mma_pipelined.h:92</div></div>
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaBase_html_ad1267d78374c170d9addd137310d2d9a"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaBase.html#ad1267d78374c170d9addd137310d2d9a">cutlass::gemm::threadblock::MmaBase< Shape_, Policy_, 2 >::kStages</a></div><divclass="ttdeci">static int const kStages</div><divclass="ttdoc">Number of stages. </div><divclass="ttdef"><b>Definition:</b> mma_base.h:112</div></div>
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined_html_a8ab2e07ec7f4cf23ef158974fe3b8dbb"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined.html#a8ab2e07ec7f4cf23ef158974fe3b8dbb">cutlass::gemm::threadblock::MmaPipelined::FragmentA</a></div><divclass="ttdeci">typename IteratorA::Fragment FragmentA</div><divclass="ttdoc">Fragment of operand A loaded from global memory. </div><divclass="ttdef"><b>Definition:</b> mma_pipelined.h:110</div></div>
<divclass="ttc"id="numeric__types_8h_html"><divclass="ttname"><ahref="numeric__types_8h.html">numeric_types.h</a></div><divclass="ttdoc">Top-level include for all CUTLASS numeric types. </div></div>
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined_html_a2993390a8feebe3cf4bfb77a23c5ef33"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined.html#a2993390a8feebe3cf4bfb77a23c5ef33">cutlass::gemm::threadblock::MmaPipelined::FragmentC</a></div><divclass="ttdeci">typename Policy::Operator::FragmentC FragmentC</div><divclass="ttdoc">Fragment of accumulator tile. </div><divclass="ttdef"><b>Definition:</b> mma_pipelined.h:116</div></div>
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaBase_html_a98647e72bab767b280e69679bdf9947f"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaBase.html#a98647e72bab767b280e69679bdf9947f">cutlass::gemm::threadblock::MmaBase< Shape_, Policy_, 2 >::warp_tile_iterator_A_</a></div><divclass="ttdeci">Operator::IteratorA warp_tile_iterator_A_</div><divclass="ttdoc">Iterator to load a warp-scoped tile of A operand from shared memory. </div><divclass="ttdef"><b>Definition:</b> mma_base.h:190</div></div>
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined_html_a102ddf57c1f46f5ed411b9d953e3f802"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined.html#a102ddf57c1f46f5ed411b9d953e3f802">cutlass::gemm::threadblock::MmaPipelined::ElementC</a></div><divclass="ttdeci">ElementC_ ElementC</div><divclass="ttdoc">Data type of accumulator matrix. </div><divclass="ttdef"><b>Definition:</b> mma_pipelined.h:95</div></div>
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined_html_a9d3cbfd5a2bbe4d105df9555ddbeeb2d"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined.html#a9d3cbfd5a2bbe4d105df9555ddbeeb2d">cutlass::gemm::threadblock::MmaPipelined::smem_iterator_A_</a></div><divclass="ttdeci">SmemIteratorA smem_iterator_A_</div><divclass="ttdoc">Iterator to write threadblock-scoped tile of A operand to shared memory. </div><divclass="ttdef"><b>Definition:</b> mma_pipelined.h:132</div></div>
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined_html_aec92c64ede1c4233dac30d0b2ec9e394"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined.html#aec92c64ede1c4233dac30d0b2ec9e394">cutlass::gemm::threadblock::MmaPipelined::smem_iterator_B_</a></div><divclass="ttdeci">SmemIteratorB smem_iterator_B_</div><divclass="ttdoc">Iterator to write threadblock-scoped tile of B operand to shared memory. </div><divclass="ttdef"><b>Definition:</b> mma_pipelined.h:135</div></div>
<divclass="ttc"id="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined_html_ac8dc63b0f3ced3d8f615b56678e26400"><divclass="ttname"><ahref="classcutlass_1_1gemm_1_1threadblock_1_1MmaPipelined.html#ac8dc63b0f3ced3d8f615b56678e26400">cutlass::gemm::threadblock::MmaPipelined::MmaPipelined</a></div><divclass="ttdeci">CUTLASS_DEVICE MmaPipelined(typename Base::SharedStorage &shared_storage, int thread_idx, int warp_idx, int lane_idx)</div><divclass="ttdoc">Construct from tensor references. </div><divclass="ttdef"><b>Definition:</b> mma_pipelined.h:141</div></div>
<divclass="ttc"id="cutlass_8h_html"><divclass="ttname"><ahref="cutlass_8h.html">cutlass.h</a></div><divclass="ttdoc">Basic include for CUTLASS. </div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmShape_html_a9fcbaa4b47b83d0c8a09979ad5c98a1e"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmShape.html#a9fcbaa4b47b83d0c8a09979ad5c98a1e">cutlass::gemm::GemmShape::kN</a></div><divclass="ttdeci">static int const kN</div><divclass="ttdef"><b>Definition:</b> include/cutlass/gemm/gemm.h:59</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hrclass="footer"/><addressclass="footer"><small>
Generated by  <ahref="http://www.doxygen.org/index.html">