<ahref="gemm__shared__tile_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-2018, 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="l
<divclass="ttc"id="structcutlass_1_1ComputeThreadOffsetFromStrides_html_a1744bfe277cbe0c642cce4a48c1dd9ad"><divclass="ttname"><ahref="structcutlass_1_1ComputeThreadOffsetFromStrides.html#a1744bfe277cbe0c642cce4a48c1dd9ad">cutlass::ComputeThreadOffsetFromStrides::get</a></div><divclass="ttdeci">static CUTLASS_DEVICE int get()</div><divclass="ttdef"><b>Definition:</b> shape.h:214</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_abb5fdb164b09c8f74f92278f3d68b95f"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#abb5fdb164b09c8f74f92278f3d68b95f">cutlass::gemm::GemmSharedLoadTileDTraits::kScalarsPerThread</a></div><divclass="ttdeci">static int const kScalarsPerThread</div><divclass="ttdoc">The number of scalars per thread. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:358</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits_html_a27bc06b72a94e34d5da6fbfb950459b5"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits.html#a27bc06b72a94e34d5da6fbfb950459b5">cutlass::gemm::GemmSharedLoadTileBTraits::Iterations</a></div><divclass="ttdeci">Shape< 1, 1, TileWithoutSkew::kW/kWarps/kThreadsPerWarp > Iterations</div><divclass="ttdoc">The number of iterations needed to load/store the tile. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:234</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits_html_a8b8d6a26a29d5477f526d9ce8c27e3e2"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits.html#a8b8d6a26a29d5477f526d9ce8c27e3e2">cutlass::gemm::GemmSharedLoadTileBTraits::kWarps</a></div><divclass="ttdeci">static int const kWarps</div><divclass="ttdoc">The number of warps. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:229</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits_html_af1c981ec89a9cabaf5d34231d51a029c"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits.html#af1c981ec89a9cabaf5d34231d51a029c">cutlass::gemm::GemmSharedStoreTileDTraits::kScalarsPerRow</a></div><divclass="ttdeci">static int const kScalarsPerRow</div><divclass="ttdoc">The number of scalars per row. We build a tile with 2 rows (to avoid bank conflicts). </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:293</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits_html_a6bacc866485330f80596f634e6d14336"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits.html#a6bacc866485330f80596f634e6d14336">cutlass::gemm::GemmSharedStoreTileDTraits::Iterations</a></div><divclass="ttdeci">Shape< 1, 1, kScalarsPerThread/kAccessSize > Iterations</div><divclass="ttdoc">The number of iterations needed to store the tile. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:298</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_a8d308d593b59624abe3e228d588be61d"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#a8d308d593b59624abe3e228d588be61d">cutlass::gemm::GemmSharedLoadTileDTraits::kAccessSize</a></div><divclass="ttdeci">static int const kAccessSize</div><divclass="ttdoc">The number of scalars per LDG/STG. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:351</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits_html_a0761c497c41a45652368fc0d54def98f"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits.html#a0761c497c41a45652368fc0d54def98f">cutlass::gemm::GemmSharedLoadTileATraits::ThreadsPerWarp</a></div><divclass="ttdeci">ThreadsPerWarp_ ThreadsPerWarp</div><divclass="ttdoc">The threads in a warp. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:148</div></div>
<divclass="ttc"id="namespacecutlass_html_a7419519fa453a121dfa5f26bf87318d9"><divclass="ttname"><ahref="namespacecutlass.html#a7419519fa453a121dfa5f26bf87318d9">cutlass::make_Coord</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Coord< 1 > make_Coord(int _0)</div><divclass="ttdoc">Helper to make a 2-element coordinate. </div><divclass="ttdef"><b>Definition:</b> coord.h:368</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileAbTraits_html_ae540e7ea7106552682aa4c97b833b3b1"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileAbTraits.html#ae540e7ea7106552682aa4c97b833b3b1">cutlass::gemm::GemmSharedStoreTileAbTraits::ThreadsStrides</a></div><divclass="ttdeci">Shape< 0, ShapeCount< Tile >::kWc, Tile::kC, kScalarsPerSts_ > ThreadsStrides</div><divclass="ttdoc">The strides to compute the base position of the thread. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:48</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits_html_a9521c4017e227b2511891a7fb18513e1"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits.html#a9521c4017e227b2511891a7fb18513e1">cutlass::gemm::GemmSharedStoreTileDTraits::kAccessSize</a></div><divclass="ttdeci">static int const kAccessSize</div><divclass="ttdoc">The number of scalars per LDG/STG. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:282</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_a7e9ce187e12575f0ecd39b2bfe13dddf"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#a7e9ce187e12575f0ecd39b2bfe13dddf">cutlass::gemm::GemmSharedLoadTileDTraits::kSkew</a></div><divclass="ttdeci">static int const kSkew</div><divclass="ttdoc">The skew. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:353</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits_html_a7ad7a4e33ed43926e165e66162eb620b"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits.html#a7ad7a4e33ed43926e165e66162eb620b">cutlass::gemm::GemmSharedLoadTileBTraits::Warps</a></div><divclass="ttdeci">Warps_ Warps</div><divclass="ttdoc">The number of warps. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:218</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits_html_ac9cd90ecd02809060a2fe6e2da4210f9"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits.html#ac9cd90ecd02809060a2fe6e2da4210f9">cutlass::gemm::GemmSharedLoadTileBTraits::kSkew</a></div><divclass="ttdeci">static int const kSkew</div><divclass="ttdoc">The skew. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:224</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_1_1ThreadOffset_html"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_1_1ThreadOffset.html">cutlass::gemm::GemmSharedLoadTileDTraits::ThreadOffset</a></div><divclass="ttdoc">Computes the thread offset in (H, W) based on thread ID. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:395</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits_html_a0a33d4289ed45e988d560b5f73ac997e"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits.html#a0a33d4289ed45e988d560b5f73ac997e">cutlass::gemm::GemmSharedLoadTileATraits::kAccessSize</a></div><divclass="ttdeci">static int const kAccessSize</div><divclass="ttdoc">The number of scalars per LDG/STG. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:151</div></div>
<divclass="ttc"id="structcutlass_1_1Shape_html_a3a20d9062bba613c160bb2cd14f80a5e"><divclass="ttname"><ahref="structcutlass_1_1Shape.html#a3a20d9062bba613c160bb2cd14f80a5e">cutlass::Shape::kH</a></div><divclass="ttdeci">static int const kH</div><divclass="ttdoc">The height of the cube. </div><divclass="ttdef"><b>Definition:</b> shape.h:68</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileAbTraits_html_a6125e052e47296c3ef53c8a149ffd31b"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileAbTraits.html#a6125e052e47296c3ef53c8a149ffd31b">cutlass::gemm::GemmSharedStoreTileAbTraits::Iterations</a></div><divclass="ttdeci">Shape< 1, Tile::kH/Threads::kH, Tile::kW/Threads::kW, Tile::kC/Threads::kC/kAccessSize > Iterations</div><divclass="ttdoc">The number of iterations needed to load/store the tile. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:61</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreWithSkewTileAbTraits_html_aba6decf87d770becaadd610d9fc27491"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreWithSkewTileAbTraits.html#aba6decf87d770becaadd610d9fc27491">cutlass::gemm::GemmSharedStoreWithSkewTileAbTraits::kSkew</a></div><divclass="ttdeci">static int const kSkew</div><divclass="ttdoc">The skew. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:93</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits_html_ae96e490d38ade6db4d853fb6c8f3378b"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits.html#ae96e490d38ade6db4d853fb6c8f3378b">cutlass::gemm::GemmSharedLoadTileATraits::Iterations</a></div><divclass="ttdeci">Shape< 1, 1, TileWithoutSkew::kW/kWarps/kThreadsPerWarp > Iterations</div><divclass="ttdoc">The number of iterations needed to load/store the tile. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:164</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits_html_ad52b81080731ee1f0d3c2c7eaba6f60d"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits.html#ad52b81080731ee1f0d3c2c7eaba6f60d">cutlass::gemm::GemmSharedStoreTileDTraits::OutputTile</a></div><divclass="ttdeci">OutputTile_ OutputTile</div><divclass="ttdoc">The dimension of the output tile. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:276</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_aa3e378cabce9ed7f199c179c15a12ca4"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#aa3e378cabce9ed7f199c179c15a12ca4">cutlass::gemm::GemmSharedLoadTileDTraits::kScalarsPerRow</a></div><divclass="ttdeci">static int const kScalarsPerRow</div><divclass="ttdoc">The number of scalars per row. We build a tile with 2 rows (to avoid bank conflicts). </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:362</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits_html_ae0b53d76096f9d34df6e16280565c7b1"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits.html#ae0b53d76096f9d34df6e16280565c7b1">cutlass::gemm::GemmSharedStoreTileDTraits::kScalarsPerThread</a></div><divclass="ttdeci">static int const kScalarsPerThread</div><divclass="ttdoc">The number of scalars per thread. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:289</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_a1b33700f904dd15e3533fec15d9d71bd"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#a1b33700f904dd15e3533fec15d9d71bd">cutlass::gemm::GemmSharedLoadTileDTraits::Iterations</a></div><divclass="ttdeci">Shape< kIterationsD, kIterationsH, OutputTile::kW/kWarpSize/kAccessSize, Warps::kD > Iterations</div><divclass="ttdoc">The number of iterations needed to store the tile. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:387</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits_html_a049b0bcdf8c5318ee84edeb1e42eaf78"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits.html#a049b0bcdf8c5318ee84edeb1e42eaf78">cutlass::gemm::GemmSharedLoadTileBTraits::kThreadsPerWarp</a></div><divclass="ttdeci">static int const kThreadsPerWarp</div><divclass="ttdoc">The number of threads in one dimension of the warp. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:231</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits_1_1ThreadOffset_html"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits_1_1ThreadOffset.html">cutlass::gemm::GemmSharedLoadTileBTraits::ThreadOffset</a></div><divclass="ttdoc">Computes the thread offset in (H, W) based on thread ID. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:241</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreWithSkewTileAbTraits_html_a39414f484da7f993bc96d61c97273614"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreWithSkewTileAbTraits.html#a39414f484da7f993bc96d61c97273614">cutlass::gemm::GemmSharedStoreWithSkewTileAbTraits::ImmediateOffsetStrides</a></div><divclass="ttdeci">Shape< 0, ShapeCount< Tile >::kWc, Threads::kH *kAccessSize > ImmediateOffsetStrides</div><divclass="ttdoc">The strides in each dimension between different loads/stores. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:104</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileAbTraits_html_ae852c89da0455025c0c41af258e47047"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileAbTraits.html#ae852c89da0455025c0c41af258e47047">cutlass::gemm::GemmSharedStoreTileAbTraits::kAccessSize</a></div><divclass="ttdeci">static int const kAccessSize</div><divclass="ttdoc">The number of scalars per LDG/STG. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:52</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_a4b8d66df02ba1653aa6d1f23b967f237"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#a4b8d66df02ba1653aa6d1f23b967f237">cutlass::gemm::GemmSharedLoadTileDTraits::kIterationsInHPerWarp</a></div><divclass="ttdeci">static int const kIterationsInHPerWarp</div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:369</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_a57b065abb737bee1c17398c90b5bc39b"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#a57b065abb737bee1c17398c90b5bc39b">cutlass::gemm::GemmSharedLoadTileDTraits::ImmediateOffsetStrides</a></div><divclass="ttdeci">Shape< OutputTile::kW, kScalarsPerRow, kWarpSize *kAccessSize, kSplitK > ImmediateOffsetStrides</div><divclass="ttdoc">The strides in each dimension between different loads/stores. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:390</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits_html_a48baee6541e6359753f1bae5bd864029"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits.html#a48baee6541e6359753f1bae5bd864029">cutlass::gemm::GemmSharedStoreTileDTraits::kSkew</a></div><divclass="ttdeci">static int const kSkew</div><divclass="ttdoc">The skew. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:284</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits_html_a5a5a36fc570e1225b20ce0a48c89d213"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits.html#a5a5a36fc570e1225b20ce0a48c89d213">cutlass::gemm::GemmSharedLoadTileATraits::TileWithoutSkew</a></div><divclass="ttdeci">ReshapeTile< TileWithoutSkew_, kScalarsPerLds_ >::Tile TileWithoutSkew</div><divclass="ttdoc">The tile without skew after reshaping. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:142</div></div>
<divclass="ttc"id="gemm__operand_8h_html"><divclass="ttname"><ahref="gemm__operand_8h.html">gemm_operand.h</a></div><divclass="ttdoc">Defines constant expressions for mapping GEMM problem size and strides onto pitch-linear memory...</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileAbTraits_html_a027bebceeda2287b40915ffd95d494a7"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileAbTraits.html#a027bebceeda2287b40915ffd95d494a7">cutlass::gemm::GemmSharedStoreTileAbTraits::ImmediateOffsetStrides</a></div><divclass="ttdeci">Shape< 0, Threads::kH *ShapeCount< Tile >::kWc, Threads::kW *kAccessSize > ImmediateOffsetStrides</div><divclass="ttdoc">The strides in each dimension between different loads/stores. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:66</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreWithSkewTileAbTraits_html_a2053e4b9cb3ed2727c89960354ea0b29"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreWithSkewTileAbTraits.html#a2053e4b9cb3ed2727c89960354ea0b29">cutlass::gemm::GemmSharedStoreWithSkewTileAbTraits::ThreadsStrides</a></div><divclass="ttdeci">Shape< 0, kScalarsPerSts_, ShapeCount< Tile >::kHwc/Threads::kW > ThreadsStrides</div><divclass="ttdoc">The strides to compute the base position of the thread. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:115</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_a8663311646210b690bb0c2a1012e82f0"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#a8663311646210b690bb0c2a1012e82f0">cutlass::gemm::GemmSharedLoadTileDTraits::kIterationsD</a></div><divclass="ttdeci">static int const kIterationsD</div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:379</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits_html_af78a275086a297bd93aed920f57a17be"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits.html#af78a275086a297bd93aed920f57a17be">cutlass::gemm::GemmSharedLoadTileATraits::kWarps</a></div><divclass="ttdeci">static int const kWarps</div><divclass="ttdoc">The number of warps. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:158</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits_html_adf72ea773b8d4d3eb184f59c8cdf9543"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits.html#adf72ea773b8d4d3eb184f59c8cdf9543">cutlass::gemm::GemmSharedStoreTileDTraits::ThreadsPerWarp</a></div><divclass="ttdeci">ThreadsPerWarp_ ThreadsPerWarp</div><divclass="ttdoc">The threads in the warps. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:280</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits_1_1ThreadOffset_html"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits_1_1ThreadOffset.html">cutlass::gemm::GemmSharedLoadTileATraits::ThreadOffset</a></div><divclass="ttdoc">Computes the thread offset in (H, W) based on thread ID. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:171</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_acb16feebdcad5bbebe9d4d3383c37899"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#acb16feebdcad5bbebe9d4d3383c37899">cutlass::gemm::GemmSharedLoadTileDTraits::OutputTile</a></div><divclass="ttdeci">OutputTile_ OutputTile</div><divclass="ttdoc">The dimension of the output tile. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:345</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits_html_ac585815d08290d9a5a9cdbd611ffdac4"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits.html#ac585815d08290d9a5a9cdbd611ffdac4">cutlass::gemm::GemmSharedStoreTileDTraits::ImmediateOffsetStrides</a></div><divclass="ttdeci">Shape< 0, 0, Warps::kW *ThreadsPerWarp::kW *kAccessSize > ImmediateOffsetStrides</div><divclass="ttdoc">The strides in each dimension between different loads/stores. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:302</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_a2cd23d3b5e2cb64c6d5e9b1d6a78fbce"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#a2cd23d3b5e2cb64c6d5e9b1d6a78fbce">cutlass::gemm::GemmSharedLoadTileDTraits::Delta</a></div><divclass="ttdeci">Shape< OutputTile::kW, kScalarsPerRow, kWarpSize *kAccessSize, kSplitK > Delta</div><divclass="ttdoc">The strides in each dimension between different loads/stores. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:392</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits_html_a4246185b8279f245ef5d0650c1eec14f"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits.html#a4246185b8279f245ef5d0650c1eec14f">cutlass::gemm::GemmSharedLoadTileATraits::kThreadsPerWarp</a></div><divclass="ttdeci">static int const kThreadsPerWarp</div><divclass="ttdoc">The number of threads in one dimension of the warp. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:160</div></div>
<divclass="ttc"id="structcutlass_1_1Shape_html"><divclass="ttname"><ahref="structcutlass_1_1Shape.html">cutlass::Shape</a></div><divclass="ttdoc">A Shape implementing Layout Concept describing the dimensions of a cube. </div><divclass="ttdef"><b>Definition:</b> shape.h:64</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_a15438a44b588dc4cfd4b47c18af79cd2"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#a15438a44b588dc4cfd4b47c18af79cd2">cutlass::gemm::GemmSharedLoadTileDTraits::kSplitK</a></div><divclass="ttdeci">static int const kSplitK</div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:383</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreWithSkewTileAbTraits_html_a025445699c5c86237d8c3e48f01081ea"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreWithSkewTileAbTraits.html#a025445699c5c86237d8c3e48f01081ea">cutlass::gemm::GemmSharedStoreWithSkewTileAbTraits::Iterations</a></div><divclass="ttdeci">Shape< 1, TileWithoutSkew::kH/Threads::kW, TileWithoutSkew::kW/Threads::kH > Iterations</div><divclass="ttdoc">The number of iterations needed to load/store the tile. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:100</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits_html_a99017ecc737060f53fd9804ea6f9583f"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits.html#a99017ecc737060f53fd9804ea6f9583f">cutlass::gemm::GemmSharedLoadTileBTraits::ImmediateOffsetStrides</a></div><divclass="ttdeci">Shape< TileWithSkew::kW *Warps::kD, 0, kWarps *kThreadsPerWarp *kAccessSize, 0 > ImmediateOffsetStrides</div><divclass="ttdoc">The strides in each dimension between different loads/stores. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:237</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileAbTraits_html_a645f65f7d8f123936b286521df470224"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileAbTraits.html#a645f65f7d8f123936b286521df470224">cutlass::gemm::GemmSharedStoreTileAbTraits::Delta</a></div><divclass="ttdeci">Shape< 0, Threads::kH *ShapeCount< Tile >::kWc, Threads::kW *kAccessSize > Delta</div><divclass="ttdoc">The strides in each dimension between different loads/stores. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:63</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_a8325bc9d56155ecb6f2ddbd56f4ed23d"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#a8325bc9d56155ecb6f2ddbd56f4ed23d">cutlass::gemm::GemmSharedLoadTileDTraits::kThreads</a></div><divclass="ttdeci">static int const kThreads</div><divclass="ttdoc">The number of threads. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:360</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits_html_aaff4a5e0f9e4256f184a22cad0ce8cf4"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits.html#aaff4a5e0f9e4256f184a22cad0ce8cf4">cutlass::gemm::GemmSharedLoadTileATraits::Warps</a></div><divclass="ttdeci">Warps_ Warps</div><divclass="ttdoc">The number of warps. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:146</div></div>
<divclass="ttc"id="structcutlass_1_1Shape_html_a19086a5567d6c710ec853e35a7f29c25"><divclass="ttname"><ahref="structcutlass_1_1Shape.html#a19086a5567d6c710ec853e35a7f29c25">cutlass::Shape::kD</a></div><divclass="ttdeci">static int const kD</div><divclass="ttdoc">The depth of the cube. </div><divclass="ttdef"><b>Definition:</b> shape.h:66</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits_1_1ThreadOffset_html"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits_1_1ThreadOffset.html">cutlass::gemm::GemmSharedStoreTileDTraits::ThreadOffset</a></div><divclass="ttdoc">Computes the thread offset in (H, W) based on thread ID. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:305</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_a4764f70691cb3fee91ce47653363aa4f"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#a4764f70691cb3fee91ce47653363aa4f">cutlass::gemm::GemmSharedLoadTileDTraits::Warps</a></div><divclass="ttdeci">Warps_ Warps</div><divclass="ttdoc">The warps in the tile. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:347</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreWithSkewTileAbTraits_html_afd691b764b7d105a1ed41dada6049e71"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreWithSkewTileAbTraits.html#afd691b764b7d105a1ed41dada6049e71">cutlass::gemm::GemmSharedStoreWithSkewTileAbTraits::Delta</a></div><divclass="ttdeci">Shape< 0, ShapeCount< Tile >::kWc, Threads::kH *kAccessSize > Delta</div><divclass="ttdoc">The strides in each dimension between different loads/stores. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:102</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_a3b1a461c1dfbcd3817ab2d57bd0da9f1"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#a3b1a461c1dfbcd3817ab2d57bd0da9f1">cutlass::gemm::GemmSharedLoadTileDTraits::kIterationsH</a></div><divclass="ttdeci">static int const kIterationsH</div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:377</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits_html_a5587ef22f419ab9a7c6117917cc99c57"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits.html#a5587ef22f419ab9a7c6117917cc99c57">cutlass::gemm::GemmSharedStoreTileDTraits::Delta</a></div><divclass="ttdeci">Shape< 0, 0, Warps::kW *ThreadsPerWarp::kW *kAccessSize > Delta</div><divclass="ttdoc">The strides in each dimension between different loads/stores. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:300</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits_html_aaffe67e519e919bf561142e05da6e6c8"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits.html#aaffe67e519e919bf561142e05da6e6c8">cutlass::gemm::GemmSharedLoadTileATraits::kSkew</a></div><divclass="ttdeci">static int const kSkew</div><divclass="ttdoc">The skew. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:153</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits_html_a9022ffc49b32503fd3639341e7e291a3"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileDTraits.html#a9022ffc49b32503fd3639341e7e291a3">cutlass::gemm::GemmSharedLoadTileDTraits::ThreadsPerWarp</a></div><divclass="ttdeci">ThreadsPerWarp_ ThreadsPerWarp</div><divclass="ttdoc">The threads in the warps. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:349</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits_html_a05039ba8b7d9890903064b1a834dcd3e"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits.html#a05039ba8b7d9890903064b1a834dcd3e">cutlass::gemm::GemmSharedStoreTileDTraits::kThreads</a></div><divclass="ttdeci">static int const kThreads</div><divclass="ttdoc">The number of threads. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:291</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits_html_ad012add21d9393d136720f609467e121"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileATraits.html#ad012add21d9393d136720f609467e121">cutlass::gemm::GemmSharedLoadTileATraits::ImmediateOffsetStrides</a></div><divclass="ttdeci">Shape< TileWithSkew::kW *Warps::kD, 0, kWarps *kThreadsPerWarp *kAccessSize, 0 > ImmediateOffsetStrides</div><divclass="ttdoc">The strides in each dimension between different loads/stores. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:167</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits_html_aed92656a074e915d97a1b6a990aeba66"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits.html#aed92656a074e915d97a1b6a990aeba66">cutlass::gemm::GemmSharedLoadTileBTraits::ThreadsPerWarp</a></div><divclass="ttdeci">ThreadsPerWarp_ ThreadsPerWarp</div><divclass="ttdoc">The threads in a warp. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:220</div></div>
<divclass="ttc"id="structcutlass_1_1ShapeCount_html"><divclass="ttname"><ahref="structcutlass_1_1ShapeCount.html">cutlass::ShapeCount</a></div><divclass="ttdoc">Compute derived counted of a Layout Concept based class. </div><divclass="ttdef"><b>Definition:</b> shape.h:79</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits_html_af4597927405d8bb1ad2c464fad064703"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedStoreTileDTraits.html#af4597927405d8bb1ad2c464fad064703">cutlass::gemm::GemmSharedStoreTileDTraits::Warps</a></div><divclass="ttdeci">Warps_ Warps</div><divclass="ttdoc">The warps in the tile. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:278</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits_html_aa41cc5dc82fe08457d103545f8f63081"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmSharedLoadTileBTraits.html#aa41cc5dc82fe08457d103545f8f63081">cutlass::gemm::GemmSharedLoadTileBTraits::kAccessSize</a></div><divclass="ttdeci">static int const kAccessSize</div><divclass="ttdoc">The number of scalars per LDG/STG. </div><divclass="ttdef"><b>Definition:</b> gemm_shared_tile.h:222</div></div>