<ahref="gemm__coord_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="l00022">
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_aac1e1bad751237fd76d32a1ea10f6c40"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#aac1e1bad751237fd76d32a1ea10f6c40">cutlass::gemm::GemmCoord::operator/=</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE GemmCoord & operator/=(Base const &b)</div><divclass="ttdoc">In-place division. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:200</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_a790f6552ad26964fa808b51f4aba433b"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#a790f6552ad26964fa808b51f4aba433b">cutlass::gemm::GemmCoord::Base</a></div><divclass="ttdeci">Coord< 4, Index > Base</div><divclass="ttdoc">Base type is a Coord of rank=4. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:49</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_1gemm_1_1GemmCoord_html_a7c582518db6860e19286361b162c4fcd"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#a7c582518db6860e19286361b162c4fcd">cutlass::gemm::GemmCoord::n</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Index const & n() const</div><divclass="ttdoc">Returns the GEMM N coordinate. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:97</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_1GemmCoord_html_a8199f5e336a20c31e54d68b11e9fa3d3"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#a8199f5e336a20c31e54d68b11e9fa3d3">cutlass::gemm::GemmCoord::m</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Index & m()</div><divclass="ttdoc">Returns reference to the GEMM M coordinate. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:93</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_ad7b490ce2150e54fccad6b0f11932382"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#ad7b490ce2150e54fccad6b0f11932382">cutlass::gemm::GemmCoord::kBatch</a></div><divclass="ttdeci">static int const kBatch</div><divclass="ttdoc">Batch dimension - for generalizing to larger problems. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:61</div></div>
<divclass="ttc"id="structcutlass_1_1Coord_html_ad4303b578b72b5cb2a0198375290e168"><divclass="ttname"><ahref="structcutlass_1_1Coord.html#ad4303b578b72b5cb2a0198375290e168">cutlass::Coord::operator*=</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Coord & operator*=(Coord const &b)</div><divclass="ttdoc">In-place multiplication. </div><divclass="ttdef"><b>Definition:</b> coord.h:197</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_a65d1ca12c0f27984920cf1700322a746"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#a65d1ca12c0f27984920cf1700322a746">cutlass::gemm::GemmCoord::GemmCoord</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE GemmCoord(Coord< 4, Index > const &coord)</div><divclass="ttdoc">Constructs from Coord<4></div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:77</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_1GemmCoord_html_ae12eb84ec47ddf01b4d459c7aabc22ad"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#ae12eb84ec47ddf01b4d459c7aabc22ad">cutlass::gemm::GemmCoord::k</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Index & k()</div><divclass="ttdoc">Returns reference to the GEMM K coordinate. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:109</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_a03e6bfa95156962be51e190d381c8b5e"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#a03e6bfa95156962be51e190d381c8b5e">cutlass::gemm::GemmCoord::GemmCoord</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE GemmCoord(Coord< 3, Index > const &coord, Index _batch=0)</div><divclass="ttdoc">Constructs from Coord<3> and a batch. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:73</div></div>
<divclass="ttc"id="structcutlass_1_1Coord_html_a304334cbcad636d7b058fdc6310f0e6b"><divclass="ttname"><ahref="structcutlass_1_1Coord.html#a304334cbcad636d7b058fdc6310f0e6b">cutlass::Coord::operator-=</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Coord & operator-=(Coord const &b)</div><divclass="ttdoc">In-place subtraction. </div><divclass="ttdef"><b>Definition:</b> coord.h:188</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_a521d4b8e720d2261c825e05397c92a5e"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#a521d4b8e720d2261c825e05397c92a5e">cutlass::gemm::GemmCoord::kK</a></div><divclass="ttdeci">static int const kK</div><divclass="ttdoc">GEMM K dimension - inner dimension of the GEMM problem. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:52</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_a67f08a03dabee497fa5547cff0f1faea"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#a67f08a03dabee497fa5547cff0f1faea">cutlass::gemm::GemmCoord::kN</a></div><divclass="ttdeci">static int const kN</div><divclass="ttdoc">GEMM N dimension - columns of the output C matrix. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:55</div></div>
<divclass="ttc"id="structcutlass_1_1Coord_html_ae4f2cb12b84411118cb93e7c4cb88b20"><divclass="ttname"><ahref="structcutlass_1_1Coord.html#ae4f2cb12b84411118cb93e7c4cb88b20">cutlass::Coord::operator+=</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Coord & operator+=(Coord const &b)</div><divclass="ttdoc">In-place addition. </div><divclass="ttdef"><b>Definition:</b> coord.h:179</div></div>
<divclass="ttc"id="structcutlass_1_1Coord_html_a9eff24a3b74b68d11839b92324613c93"><divclass="ttname"><ahref="structcutlass_1_1Coord.html#a9eff24a3b74b68d11839b92324613c93">cutlass::Coord< 4, int >::at</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Index & at()</div><divclass="ttdoc">Gets the index of a given Coord element. </div><divclass="ttdef"><b>Definition:</b> coord.h:240</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_af1f5c03c35eaa406c6a63082da26bec3"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#af1f5c03c35eaa406c6a63082da26bec3">cutlass::gemm::GemmCoord::kM</a></div><divclass="ttdeci">static int const kM</div><divclass="ttdoc">GEMM M dimension - rows of the output C matrix. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:58</div></div>
<divclass="ttc"id="structcutlass_1_1Coord_html"><divclass="ttname"><ahref="structcutlass_1_1Coord.html">cutlass::Coord</a></div><divclass="ttdoc">Statically-sized array specifying Coords within a tensor. </div><divclass="ttdef"><b>Definition:</b> coord.h:49</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_a9167769a2b915eb92fb4ca37b9212793"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#a9167769a2b915eb92fb4ca37b9212793">cutlass::gemm::GemmCoord::m</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Index const & m() const</div><divclass="ttdoc">Returns the GEMM M coordinate. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:89</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_a646c71e97ef007bde8c101479c528da7"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#a646c71e97ef007bde8c101479c528da7">cutlass::gemm::GemmCoord::k</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Index const & k() const</div><divclass="ttdoc">Returns the GEMM K coordinate. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:105</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_ac441e93411ed6954a93ab36f0c747d26"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#ac441e93411ed6954a93ab36f0c747d26">cutlass::gemm::GemmCoord::batch</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Index const & batch() const</div><divclass="ttdoc">Returns the GEMM batch coordinate. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:113</div></div>
<divclass="ttc"id="cutlass_8h_html"><divclass="ttname"><ahref="cutlass_8h.html">cutlass.h</a></div><divclass="ttdoc">Basic include for CUTLASS macros. </div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_a1327b9b4b9379df24df3d4b716952d11"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#a1327b9b4b9379df24df3d4b716952d11">cutlass::gemm::GemmCoord::n</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Index & n()</div><divclass="ttdoc">Returns reference to the GEMM N coordinate. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:101</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_ac4550a7e80e1f0265eacecebe54794d9"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#ac4550a7e80e1f0265eacecebe54794d9">cutlass::gemm::GemmCoord::nm</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Coord< 2 > nm() const</div><divclass="ttdoc">Obtains a Coord<2> from GemmCoord. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:127</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_ac3b1cbdf86bd36d6b4b5e295ef846dfe"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#ac3b1cbdf86bd36d6b4b5e295ef846dfe">cutlass::gemm::GemmCoord::GemmCoord</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE GemmCoord(Index k, Index n, Index m, Index batch=0)</div><divclass="ttdoc">Helper to construct from a K, N, M, batch variables. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:85</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_adaf31768b8239f497c0ec9b40bad1cb5"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#adaf31768b8239f497c0ec9b40bad1cb5">cutlass::gemm::GemmCoord::batch</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE Index & batch()</div><divclass="ttdoc">Returns reference to the GEMM batch coordinate. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:117</div></div>
<divclass="ttc"id="structcutlass_1_1gemm_1_1GemmCoord_html_a17da9936dbad99f2402c42b1bd6ea5ea"><divclass="ttname"><ahref="structcutlass_1_1gemm_1_1GemmCoord.html#a17da9936dbad99f2402c42b1bd6ea5ea">cutlass::gemm::GemmCoord::GemmCoord</a></div><divclass="ttdeci">CUTLASS_HOST_DEVICE GemmCoord(Index coord[4])</div><divclass="ttdoc">Constructs from an array of coordinate elements. </div><divclass="ttdef"><b>Definition:</b> gemm_coord.h:81</div></div>