<ahref="gemm__global__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_1gemm_1_1GemmGlobalTileTraits_html_a07bb48f99000256f04f00564a4371c2f"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalTileTraits.html#a07bb48f99000256f04f00564a4371c2f">cutlass::gemm::GemmGlobalTileTraits::Delta</a></div><divclass="ttdeci">Shape< 0, Threads::kH, Threads::kW *kAccessSize > Delta</div><divclass="ttdoc">The strides in each dimension between different loads/stores. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:92</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_html_aa6845b5a0fa36eb185caafea791e53ec"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd.html#aa6845b5a0fa36eb185caafea791e53ec">cutlass::gemm::GemmGlobalIteratorCd::operator+=</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE GemmGlobalIteratorCd & operator+=(Coord< 3 > const &offset)</div><divclass="ttdoc">Adds a vector offset to the iterator. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:529</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_1_1Params_html_a8c2618ac16362a8362dcddeed71c41d4"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_1_1Params.html#a8c2618ac16362a8362dcddeed71c41d4">cutlass::gemm::GemmGlobalIteratorCd::Params::inc_advance</a></div><divclass="ttdeci">Index inc_advance</div><divclass="ttdoc">The strides to increment the pointer. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:434</div></div>
<divclass="ttc"id="structcutlass_1_1TileLoadIterator_html_a84f2f19069c3b003b1fcad438f690bc8"><divclass="ttname"><ahref="structcutlass_1_1TileLoadIterator.html#a84f2f19069c3b003b1fcad438f690bc8">cutlass::TileLoadIterator::kAccessSize</a></div><divclass="ttdeci">static int const kAccessSize</div><divclass="ttdoc">The number of scalars accessed per load/store. </div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:461</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_html_a365eb7c90a79c9ab32f603c6985a0316"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd.html#a365eb7c90a79c9ab32f603c6985a0316">cutlass::gemm::GemmGlobalIteratorCd::inc_c</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void inc_c()</div><divclass="ttdoc">Increment the pointer in the C dimension. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:512</div></div>
<divclass="ttc"id="tile__iterator_8h_html"><divclass="ttname"><ahref="tile__iterator_8h.html">tile_iterator.h</a></div><divclass="ttdoc">Defines the Tile Traits concept and iterators for loading and storing to tiles efficiently. </div></div>
<divclass="ttc"id="coord_8h_html"><divclass="ttname"><ahref="coord_8h.html">coord.h</a></div><divclass="ttdoc">A Coord is a coordinate of arbitrary rank into a tensor or matrix. </div></div>
<divclass="ttc"id="structcutlass_1_1PredicateVector_html_ac8eca7087d1f7575b0c6beeb5f907bfd"><divclass="ttname"><ahref="structcutlass_1_1PredicateVector.html#ac8eca7087d1f7575b0c6beeb5f907bfd">cutlass::PredicateVector::at</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE bool at(int idx) const</div><divclass="ttdoc">Accesses a bit within the predicate vector. </div><divclass="ttdef"><b>Definition:</b> predicate_vector.h:357</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:318</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalTileTraits_html_a428750e54eabd15b2a3f7ac2a96af0a9"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalTileTraits.html#a428750e54eabd15b2a3f7ac2a96af0a9">cutlass::gemm::GemmGlobalTileTraits::ThreadsDelta</a></div><divclass="ttdeci">Shape< 1, 1, VectorizedTile::kC > ThreadsDelta</div><divclass="ttdoc">The relative offset between two elements in the H/W dimension in adjacent threads. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:90</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb_html_a85afb31647e5cac591b76959a102cd06"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb.html#a85afb31647e5cac591b76959a102cd06">cutlass::gemm::GemmGlobalIteratorAb::load_element</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void load_element(typename Base::AccessType &value, int d, int h, int w, int c) const</div><divclass="ttdoc">Loads a single fragment element from memory. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:292</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalTileCdTraits_html_aba61fb6e93a6423ab72c082c280f5db4"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalTileCdTraits.html#aba61fb6e93a6423ab72c082c280f5db4">cutlass::gemm::GemmGlobalTileCdTraits::Delta</a></div><divclass="ttdeci">Shape< 0, 0, Base::Delta::kW, Base::Delta::kC > Delta</div><divclass="ttdoc">Override the strides in each dimension between different loads/stores. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:138</div></div>
<divclass="ttc"id="structcutlass_1_1TileLoadIterator_1_1Params_html_a3175746438646453e93e6e08e954bc8d"><divclass="ttname"><ahref="structcutlass_1_1TileLoadIterator_1_1Params.html#a3175746438646453e93e6e08e954bc8d">cutlass::TileLoadIterator::Params::initialize</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE int initialize()</div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:584</div></div>
<divclass="ttc"id="structcutlass_1_1TileLoadIterator_html_a44424164c9347f9916b2b86858706043"><divclass="ttname"><ahref="structcutlass_1_1TileLoadIterator.html#a44424164c9347f9916b2b86858706043">cutlass::TileLoadIterator::kMemorySpace</a></div><divclass="ttdeci">static MemorySpace::Kind const kMemorySpace</div><divclass="ttdoc">Source or destination memory space. </div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:434</div></div>
<divclass="ttc"id="structcutlass_1_1TileIteratorBase_1_1Params_html_a7b4293bf8291b0383dee695a60f2e0fd"><divclass="ttname"><ahref="structcutlass_1_1TileIteratorBase_1_1Params.html#a7b4293bf8291b0383dee695a60f2e0fd">cutlass::TileIteratorBase::Params::inc_d</a></div><divclass="ttdeci">long long inc_d</div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:223</div></div>
<divclass="ttc"id="structcutlass_1_1TileIteratorBase_1_1Params_html_a6d8f1e07f286ed8d5761e2a878b807d3"><divclass="ttname"><ahref="structcutlass_1_1TileIteratorBase_1_1Params.html#a6d8f1e07f286ed8d5761e2a878b807d3">cutlass::TileIteratorBase::Params::inc_advance</a></div><divclass="ttdeci">long long inc_advance</div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:227</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_html_a1a587af6edd528a02679c0decc31cdd1"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd.html#a1a587af6edd528a02679c0decc31cdd1">cutlass::gemm::GemmGlobalIteratorCd::load_post_increment</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void load_post_increment(Fragment &fragment)</div><divclass="ttdoc">Loads and increments iterator. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:575</div></div>
<divclass="ttc"id="structcutlass_1_1ComputeOffsetFromShape_html_a7bc0bc7e03cd974a05d00e98a72ee78b"><divclass="ttname"><ahref="structcutlass_1_1ComputeOffsetFromShape.html#a7bc0bc7e03cd974a05d00e98a72ee78b">cutlass::ComputeOffsetFromShape::get</a></div><divclass="ttdeci">static CUTLASS_HOST_DEVICE int get(int d, int h, int w, int c)</div><divclass="ttdef"><b>Definition:</b> shape.h:181</div></div>
<divclass="ttc"id="platform_8h_html"><divclass="ttname"><ahref="platform_8h.html">platform.h</a></div><divclass="ttdoc">C++ features that may be otherwise unimplemented for CUDA device functions. </div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb_html_a2ad473e8f2fa2694617ee39ead5c41b3"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb.html#a2ad473e8f2fa2694617ee39ead5c41b3">cutlass::gemm::GemmGlobalIteratorAb::inc_d</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void inc_d()</div><divclass="ttdoc">Increment the pointer in the D dimension. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:287</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb_html_a8c1e871f17685b16a7a41fcc888f0125"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb.html#a8c1e871f17685b16a7a41fcc888f0125">cutlass::gemm::GemmGlobalIteratorAb::kAdvance</a></div><divclass="ttdeci">static IteratorAdvance::Kind const kAdvance</div><divclass="ttdoc">Specifies in which dimension post-increment accesses advance. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:194</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalTileCdTraits_html_a87918f4d67a9c1e19dcd3c6bfc243e97"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalTileCdTraits.html#a87918f4d67a9c1e19dcd3c6bfc243e97">cutlass::gemm::GemmGlobalTileCdTraits::kStrideH</a></div><divclass="ttdeci">static int const kStrideH</div><divclass="ttdoc">The stride in the H dimension. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:136</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_1GemmGlobalIteratorCd_1_1Params_html_a2b5d2b02d241e89677c41eb658ace129"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_1_1Params.html#a2b5d2b02d241e89677c41eb658ace129">cutlass::gemm::GemmGlobalIteratorCd::Params::predicate_inc_advance</a></div><divclass="ttdeci">Index predicate_inc_advance</div><divclass="ttdoc">The strides to increment the predicate offset. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:436</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalTileTraits_html_ae0bca976b7cfba8561db4cccc16e99e1"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalTileTraits.html#ae0bca976b7cfba8561db4cccc16e99e1">cutlass::gemm::GemmGlobalTileTraits::kOperand</a></div><divclass="ttdeci">static GemmOperand::Kind const kOperand</div><divclass="ttdoc">Identity of the operand. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:72</div></div>
<divclass="ttc"id="predicate__vector_8h_html"><divclass="ttname"><ahref="predicate__vector_8h.html">predicate_vector.h</a></div><divclass="ttdoc">Defines container classes and iterators for managing a statically sized vector of boolean predicates...</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_html_ab224a0a6ab8ce7fc4e76b06fb7679fa0"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd.html#ab224a0a6ab8ce7fc4e76b06fb7679fa0">cutlass::gemm::GemmGlobalIteratorCd::valid</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE bool valid(int d, int h, int w, int c) const</div><divclass="ttdoc">Test the validity of the. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:566</div></div>
<divclass="ttc"id="structcutlass_1_1TileIteratorBase_html_af405f6c5f0bd8f04487d8a7f41dc1826"><divclass="ttname"><ahref="structcutlass_1_1TileIteratorBase.html#af405f6c5f0bd8f04487d8a7f41dc1826">cutlass::TileIteratorBase::kFragmentElementType</a></div><divclass="ttdeci">static FragmentElementType::Kind const kFragmentElementType</div><divclass="ttdoc">Specifies iterator storage fragment type (Scalar or WmmaMatrix) </div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:158</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_html_a49d7db2dab7a6d1e496ebff0e67039bc"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd.html#a49d7db2dab7a6d1e496ebff0e67039bc">cutlass::gemm::GemmGlobalIteratorCd::inc_d</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void inc_d()</div><divclass="ttdoc">Increment the pointer in the D dimension. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:521</div></div>
<divclass="ttc"id="structcutlass_1_1TileLoadIterator_html"><divclass="ttname"><ahref="structcutlass_1_1TileLoadIterator.html">cutlass::TileLoadIterator</a></div><divclass="ttdoc">An iterator implementing Tile Load Iterator Concept for loading a tile from memory. </div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:399</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_1_1Params_html_ae24453fcdf9f21385b2637476746bbe5"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_1_1Params.html#ae24453fcdf9f21385b2637476746bbe5">cutlass::gemm::GemmGlobalIteratorCd::Params::initialize</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE int initialize(Pointer pointer, long long batch_stride, Index ldm, Index bound, Index epilogue_stride_w, Index epilogue_delta_w)</div><divclass="ttdoc">Setup the params. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:441</div></div>
<divclass="ttc"id="reshape__tile_8h_html"><divclass="ttname"><ahref="reshape__tile_8h.html">reshape_tile.h</a></div><divclass="ttdoc">Defines a type for restructuring a tile. </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_1GemmGlobalIteratorAb_html_a1d86f7e16bd11e10c94b0c14111c8c14"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb.html#a1d86f7e16bd11e10c94b0c14111c8c14">cutlass::gemm::GemmGlobalIteratorAb::inc_h</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void inc_h()</div><divclass="ttdoc">Increment the pointer in the H dimension. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:285</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb_html_a32cd0a03868f52b172d031f23e2c08af"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb.html#a32cd0a03868f52b172d031f23e2c08af">cutlass::gemm::GemmGlobalIteratorAb::operator+=</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE GemmGlobalIteratorAb & operator+=(Coord< 3 > const &offset)</div><divclass="ttdoc">Adds a vector offset to the iterator. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:341</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb_html_a2180cfbb482d300472ad2993e4b555d4"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb.html#a2180cfbb482d300472ad2993e4b555d4">cutlass::gemm::GemmGlobalIteratorAb::Fragment</a></div><divclass="ttdeci">Base::Fragment Fragment</div><divclass="ttdoc">Fragment type loaded by the iterator. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:184</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalTileTraits_1_1ThreadOffset_html"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalTileTraits_1_1ThreadOffset.html">cutlass::gemm::GemmGlobalTileTraits::ThreadOffset</a></div><divclass="ttdoc">Computes the thread offset in (H, W) based on thread ID. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:106</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb_html_a760404b7879a38364d7eef47fc1fe209"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb.html#a760404b7879a38364d7eef47fc1fe209">cutlass::gemm::GemmGlobalIteratorAb::inc_w</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void inc_w()</div><divclass="ttdoc">Increment the pointer in the W dimension. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:283</div></div>
<divclass="ttc"id="structcutlass_1_1TileLoadIterator_html_aa856180123f8d50a00222542fa6345cf"><divclass="ttname"><ahref="structcutlass_1_1TileLoadIterator.html#aa856180123f8d50a00222542fa6345cf">cutlass::TileLoadIterator< TileTraits_, TileTraits_::Scalar, TileTraits_::MultiplicandTraits::kKstrided ? IteratorAdvance::kH :IteratorAdvance::kW, MemorySpace::kGlobal, Index_ >::load</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void load(Fragment &fragment, PredicateIterator pred_it) const</div><divclass="ttdoc">Loads a fragment without advancing the iterator.. </div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:771</div></div>
<divclass="ttc"id="structcutlass_1_1PredicateVector_html_a236bd1a822479750a809452fd58dd917"><divclass="ttname"><ahref="structcutlass_1_1PredicateVector.html#a236bd1a822479750a809452fd58dd917">cutlass::PredicateVector::fill</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void fill(bool value=true)</div><divclass="ttdoc">Fills all predicates with a given value. </div><divclass="ttdef"><b>Definition:</b> predicate_vector.h:344</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_1_1Params_html_a0c6b03c635e14ad4424a83f8c7f8025e"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_1_1Params.html#a0c6b03c635e14ad4424a83f8c7f8025e">cutlass::gemm::GemmGlobalIteratorCd::Params::stride_h</a></div><divclass="ttdeci">Index stride_h</div><divclass="ttdoc">The stride in the H dimension to setup the thread in the block. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:432</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb_html_ae3ecef6501f0761051f298eb7cefcacf"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb.html#ae3ecef6501f0761051f298eb7cefcacf">cutlass::gemm::GemmGlobalIteratorAb::inc_advance</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void inc_advance()</div><divclass="ttdoc">Increment the pointer to move to the next iteration. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:289</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_html_a6034b7229e4aca05f63c39560f219433"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd.html#a6034b7229e4aca05f63c39560f219433">cutlass::gemm::GemmGlobalIteratorCd::load_element</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void load_element(typename Base::AccessType &value, int d, int h, int w, int c) const</div><divclass="ttdoc">Loads a single fragment element from memory. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:538</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_1TileIteratorBase_1_1Params_html_a235647baff946e483dd61a2069aa01d2"><divclass="ttname"><ahref="structcutlass_1_1TileIteratorBase_1_1Params.html#a235647baff946e483dd61a2069aa01d2">cutlass::TileIteratorBase::Params::stride_d</a></div><divclass="ttdeci">long long stride_d</div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:219</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_html_ad23e6224e37ec1d13dc237ce8ec6e977"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd.html#ad23e6224e37ec1d13dc237ce8ec6e977">cutlass::gemm::GemmGlobalIteratorCd::predicates</a></div><divclass="ttdeci">cutlass::PredicateVector< Base::Iterations::kW > predicates</div><divclass="ttdoc">The predicates for the row. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:473</div></div>
<divclass="ttc"id="structcutlass_1_1TileIteratorBase_html_ab8bfa9914c4ba49a583d1cfaa8a62d56"><divclass="ttname"><ahref="structcutlass_1_1TileIteratorBase.html#ab8bfa9914c4ba49a583d1cfaa8a62d56">cutlass::TileIteratorBase::kMemorySpace</a></div><divclass="ttdeci">static MemorySpace::Kind const kMemorySpace</div><divclass="ttdoc">Source or destination memory space. </div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:161</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalTileTraits_html_a893cb2cc67676b44c1f3ad5908a4ab0c"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalTileTraits.html#a893cb2cc67676b44c1f3ad5908a4ab0c">cutlass::gemm::GemmGlobalTileTraits::Iterations</a></div><divclass="ttdeci">Shape< 1, VectorizedTile::kH/Threads::kH, VectorizedTile::kW/Threads::kW, VectorizedTile::kC/kAccessSize > Iterations</div><divclass="ttdoc">The number of iterations needed to load/store the tile. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:101</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_html_aeac77cdc31ce151634b7c27ccdaf5552"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd.html#aeac77cdc31ce151634b7c27ccdaf5552">cutlass::gemm::GemmGlobalIteratorCd::inc_advance</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void inc_advance()</div><divclass="ttdoc">Increment the pointer to move to the next iteration. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:523</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_html_a40144d869b56b46cf1dd8f9941e61e77"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd.html#a40144d869b56b46cf1dd8f9941e61e77">cutlass::gemm::GemmGlobalIteratorCd::inc_h</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void inc_h()</div><divclass="ttdoc">Increment the pointer in the H dimension. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:516</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_html_ab1d9e606a89d3dd315df3d3efa48bcc2"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd.html#ab1d9e606a89d3dd315df3d3efa48bcc2">cutlass::gemm::GemmGlobalIteratorCd::inc_w</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void inc_w()</div><divclass="ttdoc">Increment the pointer in the W dimension. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:514</div></div>
<divclass="ttc"id="structcutlass_1_1TileIteratorBase_html"><divclass="ttname"><ahref="structcutlass_1_1TileIteratorBase.html">cutlass::TileIteratorBase</a></div><divclass="ttdoc">Iterator for accessing a stripmined tile in memory. </div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:144</div></div>
<divclass="ttc"id="structcutlass_1_1TileLoadIterator_1_1Params_html_a388d464c35cc1bcd509d22937f38dcf6"><divclass="ttname"><ahref="structcutlass_1_1TileLoadIterator_1_1Params.html#a388d464c35cc1bcd509d22937f38dcf6">cutlass::TileLoadIterator::Params::pointer</a></div><divclass="ttdeci">Scalar const * pointer</div><divclass="ttdoc">Pointer to memory. </div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:493</div></div>
<divclass="ttc"id="structcutlass_1_1TileLoadIterator_html_aea9fbc738003a7424cfa9b0527d4a352"><divclass="ttname"><ahref="structcutlass_1_1TileLoadIterator.html#aea9fbc738003a7424cfa9b0527d4a352">cutlass::TileLoadIterator::kAdvance</a></div><divclass="ttdeci">static IteratorAdvance::Kind const kAdvance</div><divclass="ttdoc">Specifies in which dimension post-increment accesses advance. </div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:428</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_html_a56601dc34e8f9a070db5dc48c37d55a0"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd.html#a56601dc34e8f9a070db5dc48c37d55a0">cutlass::gemm::GemmGlobalIteratorCd::thread_offset</a></div><divclass="ttdeci">Coord< 4 > thread_offset</div><divclass="ttdoc">Offset of an individual lane from the start of the tile. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:471</div></div>
<divclass="ttc"id="structcutlass_1_1Shape_html_a78836a20250ff24c25a6622ad818b421"><divclass="ttname"><ahref="structcutlass_1_1Shape.html#a78836a20250ff24c25a6622ad818b421">cutlass::Shape::kW</a></div><divclass="ttdeci">static int const kW</div><divclass="ttdoc">The width of the cube. </div><divclass="ttdef"><b>Definition:</b> shape.h:70</div></div>
<divclass="ttc"id="structcutlass_1_1PredicateVector_html_a062fa8a8df725ef08ced2ffcca8336af"><divclass="ttname"><ahref="structcutlass_1_1PredicateVector.html#a062fa8a8df725ef08ced2ffcca8336af">cutlass::PredicateVector::set</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void set(int idx, bool value=true)</div><divclass="ttdoc">Set a bit within the predicate vector. </div><divclass="ttdef"><b>Definition:</b> predicate_vector.h:365</div></div>
<divclass="ttc"id="structcutlass_1_1TileIteratorBase_html_a8a4edd46b8cad3eeafc2a3dc3a344499"><divclass="ttname"><ahref="structcutlass_1_1TileIteratorBase.html#a8a4edd46b8cad3eeafc2a3dc3a344499">cutlass::TileIteratorBase::kAccessSize</a></div><divclass="ttdeci">static int const kAccessSize</div><divclass="ttdoc">The number of scalars accessed per load/store. </div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:185</div></div>
<divclass="ttc"id="structcutlass_1_1ComputeOffsetFromStrides_html_aa28231590bfa0ced0f317e6a4d52dc1e"><divclass="ttname"><ahref="structcutlass_1_1ComputeOffsetFromStrides.html#aa28231590bfa0ced0f317e6a4d52dc1e">cutlass::ComputeOffsetFromStrides::get</a></div><divclass="ttdeci">static CUTLASS_HOST_DEVICE int get(int d, int h, int w, int c)</div><divclass="ttdef"><b>Definition:</b> shape.h:199</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalTileCdTraits_1_1ThreadOffset_html"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalTileCdTraits_1_1ThreadOffset.html">cutlass::gemm::GemmGlobalTileCdTraits::ThreadOffset</a></div><divclass="ttdoc">Computes the thread offset in (H, W) based on thread ID. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:149</div></div>
<divclass="ttc"id="structcutlass_1_1MatrixLayout_html_a97ef07af21b122c1804245b0c7784d2b"><divclass="ttname"><ahref="structcutlass_1_1MatrixLayout.html#a97ef07af21b122c1804245b0c7784d2b">cutlass::MatrixLayout::Kind</a></div><divclass="ttdeci">Kind</div><divclass="ttdoc">Enumeration defining fundamental contiguous layouts. </div><divclass="ttdef"><b>Definition:</b> matrix_traits.h:159</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_1_1Params_html_a1a53695ce7f3cb267225d3ab86a0d5aa"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_1_1Params.html#a1a53695ce7f3cb267225d3ab86a0d5aa">cutlass::gemm::GemmGlobalIteratorCd::Params::stride_d</a></div><divclass="ttdeci">long long stride_d</div><divclass="ttdoc">The stride in the D dimension. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:430</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb_html_adfb9a7df1b900e4f6ee59c72aabdebd7"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb.html#adfb9a7df1b900e4f6ee59c72aabdebd7">cutlass::gemm::GemmGlobalIteratorAb::stride_advance</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Index stride_advance(void)</div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:353</div></div>
<divclass="ttc"id="structcutlass_1_1TileLoadIterator_html_af4f964364fc54a2b9a431fa529f6c44c"><divclass="ttname"><ahref="structcutlass_1_1TileLoadIterator.html#af4f964364fc54a2b9a431fa529f6c44c">cutlass::TileLoadIterator::inc_w</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void inc_w()</div><divclass="ttdoc">Increment in the W dimension. </div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:680</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalTileTraits_html_aa001e09b246fdd8259cbda6a500cad5f"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalTileTraits.html#aa001e09b246fdd8259cbda6a500cad5f">cutlass::gemm::GemmGlobalTileTraits::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_global_tile.h:80</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb_html_a6ebdbdce88f040fffd3eb60622c6d7e0"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb.html#a6ebdbdce88f040fffd3eb60622c6d7e0">cutlass::gemm::GemmGlobalIteratorAb::valid</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE bool valid(int d, int h, int w, int c) const</div><divclass="ttdoc">Is the valid? </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:335</div></div>
<divclass="ttc"id="structcutlass_1_1TileLoadIterator_html_a2af872794b35a631f9c1a97df0c6d177"><divclass="ttname"><ahref="structcutlass_1_1TileLoadIterator.html#a2af872794b35a631f9c1a97df0c6d177">cutlass::TileLoadIterator::kFragmentElementType</a></div><divclass="ttdeci">static FragmentElementType::Kind const kFragmentElementType</div><divclass="ttdoc">Specifies type of iterator fragment storage (Salar or WmmaMatrix) </div><divclass="ttdef"><b>Definition:</b> tile_iterator.h:431</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb_1_1Params_html_ad0602cf5d322e98e3e5990c84ae1e3f3"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb_1_1Params.html#ad0602cf5d322e98e3e5990c84ae1e3f3">cutlass::gemm::GemmGlobalIteratorAb::Params::initialize</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE int initialize(Scalar const *ptr, long long stride_d, Index stride_h)</div><divclass="ttdoc">Initializes params to load a strip-mined tile, given pointer and stride_h. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:203</div></div>
<divclass="ttc"id="matrix__traits_8h_html"><divclass="ttname"><ahref="matrix__traits_8h.html">matrix_traits.h</a></div><divclass="ttdoc">Defines properties of matrices used to denote layout and operands to GEMM kernels. </div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb_html_a1864c5556529afdc8445021cad780b04"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb.html#a1864c5556529afdc8445021cad780b04">cutlass::gemm::GemmGlobalIteratorAb::thread_offset</a></div><divclass="ttdeci">Coord< 4 > thread_offset</div><divclass="ttdoc">Offset of an individual lane from the start of the tile. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:237</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_1GemmGlobalIteratorAb_html_ab2bad39cd9e9d27382cf8fb9e05ed593"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorAb.html#ab2bad39cd9e9d27382cf8fb9e05ed593">cutlass::gemm::GemmGlobalIteratorAb::residue</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void residue(Index k)</div><divclass="ttdoc">That&#39;s the residue! Update the predicates. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:306</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_1_1Params_html_a3e8f6cf08d23318f3e3263b55cf3b84a"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_1_1Params.html#a3e8f6cf08d23318f3e3263b55cf3b84a">cutlass::gemm::GemmGlobalIteratorCd::Params::predicate_offset</a></div><divclass="ttdeci">Index predicate_offset</div><divclass="ttdoc">The column offset to compute the predicate for the columns. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:438</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd_html_a5de982aed44932da3b265f8bb520249d"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmGlobalIteratorCd.html#a5de982aed44932da3b265f8bb520249d">cutlass::gemm::GemmGlobalIteratorCd::store_element</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE void store_element(typename Base::AccessType const &value, int d, int h, int w, int c)</div><divclass="ttdoc">Stores a single fragment element into memory. </div><divclass="ttdef"><b>Definition:</b> gemm_global_tile.h:552</div></div>