2018-05-17 02:44:56 +08:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" / >
< meta http-equiv = "X-UA-Compatible" content = "IE=9" / >
< meta name = "generator" content = "Doxygen 1.8.14" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
< title > Cutlass: cutlass::gemm::GemmTraits< GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > Struct Template Reference< / title >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "search/searchdata.js" > < / script >
< script type = "text/javascript" src = "search/search.js" > < / script >
< script type = "text/x-mathjax-config" >
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
< / script > < script type = "text/javascript" async src = "http://cdn.mathjax.org/mathjax/latest/MathJax.js" > < / script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
< / head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr style = "height: 56px;" >
< td id = "projectalign" style = "padding-left: 0.5em;" >
< div id = "projectname" > Cutlass
< / div >
< div id = "projectbrief" > CUDA Templates for Linear Algebra Subroutines and Solvers< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
< / script >
< script type = "text/javascript" src = "menudata.js" > < / script >
< script type = "text/javascript" src = "menu.js" > < / script >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */< / script >
< div id = "main-nav" > < / div >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
< / div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< iframe src = "javascript:void(0)" frameborder = "0"
name="MSearchResults" id="MSearchResults">
< / iframe >
< / div >
< div id = "nav-path" class = "navpath" >
< ul >
< li class = "navelem" > < a class = "el" href = "namespacecutlass.html" > cutlass< / a > < / li > < li class = "navelem" > < a class = "el" href = "namespacecutlass_1_1gemm.html" > gemm< / a > < / li > < li class = "navelem" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > GemmTraits< / a > < / li > < / ul >
< / div >
< / div > <!-- top -->
< div class = "header" >
< div class = "summary" >
< a href = "#nested-classes" > Classes< / a > |
< a href = "#pub-types" > Public Types< / a > |
< a href = "#pub-static-methods" > Static Public Member Functions< / a > |
< a href = "#pub-static-attribs" > Static Public Attributes< / a > |
< a href = "structcutlass_1_1gemm_1_1GemmTraits-members.html" > List of all members< / a > < / div >
< div class = "headertitle" >
< div class = "title" > cutlass::gemm::GemmTraits< GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > Struct Template Reference< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
< p > < code > #include < < a class = "el" href = "gemm__traits_8h_source.html" > gemm_traits.h< / a > > < / code > < / p >
< table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "nested-classes" > < / a >
Classes< / h2 > < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits_1_1MainLoopSharedStorage.html" > MainLoopSharedStorage< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits_1_1Params.html" > Params< / a > < / td > < / tr >
2018-09-20 05:02:08 +08:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Parameters object constructable on the host. < a href = "structcutlass_1_1gemm_1_1GemmTraits_1_1Params.html#details" > More...< / a > < br / > < / td > < / tr >
2018-05-17 02:44:56 +08:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > union   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "unioncutlass_1_1gemm_1_1GemmTraits_1_1SharedStorage.html" > SharedStorage< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The storage in shared memory. < a href = "unioncutlass_1_1gemm_1_1GemmTraits_1_1SharedStorage.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pub-types" > < / a >
Public Types< / h2 > < / td > < / tr >
2018-09-20 05:02:08 +08:00
< tr class = "memitem:aa6214a0ad09d155ed79feadc6647b989" > < td class = "memItemLeft" align = "right" valign = "top" > typedef < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#aa6214a0ad09d155ed79feadc6647b989" > This_< / a > < / td > < / tr >
< tr class = "memdesc:aa6214a0ad09d155ed79feadc6647b989" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > This traits. < a href = "#aa6214a0ad09d155ed79feadc6647b989" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:aa6214a0ad09d155ed79feadc6647b989" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a28c32832f0353f00e93e867373cf6cae" > < td class = "memItemLeft" align = "right" valign = "top" > typedef < a class = "el" href = "structcutlass_1_1gemm_1_1Gemm.html" > cutlass::gemm::Gemm< / a > < < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#aa6214a0ad09d155ed79feadc6647b989" > This_< / a > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a28c32832f0353f00e93e867373cf6cae" > KernelClass< / a > < / td > < / tr >
< tr class = "memdesc:a28c32832f0353f00e93e867373cf6cae" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The struct that consumes this Traits. < a href = "#a28c32832f0353f00e93e867373cf6cae" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a28c32832f0353f00e93e867373cf6cae" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-05-17 02:44:56 +08:00
< tr class = "memitem:a4efe5d156abca056ef8b5334fb574dd5" > < td class = "memItemLeft" align = "right" valign = "top" > typedef GemmConfig_  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a4efe5d156abca056ef8b5334fb574dd5" > GemmConfig< / a > < / td > < / tr >
< tr class = "memdesc:a4efe5d156abca056ef8b5334fb574dd5" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The configuration. < a href = "#a4efe5d156abca056ef8b5334fb574dd5" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a4efe5d156abca056ef8b5334fb574dd5" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-09-20 05:02:08 +08:00
< tr class = "memitem:a97d7ee63e5d180410b370f095648f367" > < td class = "memItemLeft" align = "right" valign = "top" > typedef < a class = "el" href = "structcutlass_1_1gemm_1_1GemmConfig.html#a9dd9c3efc3dfd9b5c6acd12236697399" > GemmConfig::OutputTile< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a97d7ee63e5d180410b370f095648f367" > OutputTile< / a > < / td > < / tr >
2018-05-17 02:44:56 +08:00
< tr class = "memdesc:a97d7ee63e5d180410b370f095648f367" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The output tile. < a href = "#a97d7ee63e5d180410b370f095648f367" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a97d7ee63e5d180410b370f095648f367" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a9cd6c3fddfb4315eb52b672900462c47" > < td class = "memItemLeft" align = "right" valign = "top" > typedef GlobalLoadStreamA_  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a9cd6c3fddfb4315eb52b672900462c47" > GlobalLoadStreamA< / a > < / td > < / tr >
< tr class = "memdesc:a9cd6c3fddfb4315eb52b672900462c47" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The stream to load A from global memory to shared memory. < a href = "#a9cd6c3fddfb4315eb52b672900462c47" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a9cd6c3fddfb4315eb52b672900462c47" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a96d64bdc48db4971798b620d6b49b3f6" > < td class = "memItemLeft" align = "right" valign = "top" > typedef GlobalLoadStreamA_::Scalar  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a96d64bdc48db4971798b620d6b49b3f6" > ScalarA< / a > < / td > < / tr >
< tr class = "memdesc:a96d64bdc48db4971798b620d6b49b3f6" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The scalar for A. < a href = "#a96d64bdc48db4971798b620d6b49b3f6" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a96d64bdc48db4971798b620d6b49b3f6" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ac393b07e780629fc8254fc22cc6f815b" > < td class = "memItemLeft" align = "right" valign = "top" > typedef GlobalLoadStreamB_  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#ac393b07e780629fc8254fc22cc6f815b" > GlobalLoadStreamB< / a > < / td > < / tr >
< tr class = "memdesc:ac393b07e780629fc8254fc22cc6f815b" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The stream to load B from global memory to shared memory. < a href = "#ac393b07e780629fc8254fc22cc6f815b" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ac393b07e780629fc8254fc22cc6f815b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:aa0e8fd28f5247764dfb7843f7670c698" > < td class = "memItemLeft" align = "right" valign = "top" > typedef GlobalLoadStreamB_::Scalar  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#aa0e8fd28f5247764dfb7843f7670c698" > ScalarB< / a > < / td > < / tr >
< tr class = "memdesc:aa0e8fd28f5247764dfb7843f7670c698" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The scalar for B. < a href = "#aa0e8fd28f5247764dfb7843f7670c698" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:aa0e8fd28f5247764dfb7843f7670c698" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ae01371eb31b88fa83c4926564cecafdc" > < td class = "memItemLeft" align = "right" valign = "top" > typedef SharedLoadStreamA_  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#ae01371eb31b88fa83c4926564cecafdc" > SharedLoadStreamA< / a > < / td > < / tr >
< tr class = "memdesc:ae01371eb31b88fa83c4926564cecafdc" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The iterator for A to load from shared memory. < a href = "#ae01371eb31b88fa83c4926564cecafdc" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ae01371eb31b88fa83c4926564cecafdc" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:acaeb27063a444e2a3b93f3cb70e3c290" > < td class = "memItemLeft" align = "right" valign = "top" > typedef SharedLoadStreamB_  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#acaeb27063a444e2a3b93f3cb70e3c290" > SharedLoadStreamB< / a > < / td > < / tr >
< tr class = "memdesc:acaeb27063a444e2a3b93f3cb70e3c290" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The iterator for B to load from shared memory. < a href = "#acaeb27063a444e2a3b93f3cb70e3c290" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:acaeb27063a444e2a3b93f3cb70e3c290" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-09-20 05:02:08 +08:00
< tr class = "memitem:af810544e956b04830c5be7ce41d3b45c" > < td class = "memItemLeft" align = "right" valign = "top" > typedef < a class = "el" href = "structcutlass_1_1gemm_1_1GemmConfig.html#aedb95febe4a0b2943e233c95c36a22cd" > GemmConfig::MultiplyAdd< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#af810544e956b04830c5be7ce41d3b45c" > MultiplyAdd< / a > < / td > < / tr >
2018-05-17 02:44:56 +08:00
< tr class = "memdesc:af810544e956b04830c5be7ce41d3b45c" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The multiply-add functor. < a href = "#af810544e956b04830c5be7ce41d3b45c" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:af810544e956b04830c5be7ce41d3b45c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a424f1ac14e1e7ad37428edd0cf13e7fe" > < td class = "memItemLeft" align = "right" valign = "top" > typedef Epilogue_  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a424f1ac14e1e7ad37428edd0cf13e7fe" > Epilogue< / a > < / td > < / tr >
< tr class = "memdesc:a424f1ac14e1e7ad37428edd0cf13e7fe" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The epilogue. < a href = "#a424f1ac14e1e7ad37428edd0cf13e7fe" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a424f1ac14e1e7ad37428edd0cf13e7fe" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a8f78d4a68817760099081523aa7fd443" > < td class = "memItemLeft" align = "right" valign = "top" > typedef Epilogue::ScalarC  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a8f78d4a68817760099081523aa7fd443" > ScalarC< / a > < / td > < / tr >
< tr class = "memdesc:a8f78d4a68817760099081523aa7fd443" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The scalars in the epilogue. < a href = "#a8f78d4a68817760099081523aa7fd443" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a8f78d4a68817760099081523aa7fd443" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a3129be75ee087603170f8367e10e070e" > < td class = "memItemLeft" align = "right" valign = "top" > typedef Epilogue::ScalarD  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a3129be75ee087603170f8367e10e070e" > ScalarD< / a > < / td > < / tr >
< tr class = "separator:a3129be75ee087603170f8367e10e070e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a50672b5fa67d858aeff8f254cf28e941" > < td class = "memItemLeft" align = "right" valign = "top" > typedef BlockSwizzle_  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a50672b5fa67d858aeff8f254cf28e941" > BlockSwizzle< / a > < / td > < / tr >
< tr class = "memdesc:a50672b5fa67d858aeff8f254cf28e941" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The block swizzle to reorganize the grid. < a href = "#a50672b5fa67d858aeff8f254cf28e941" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a50672b5fa67d858aeff8f254cf28e941" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ae67227cecbe84f5c8497d9a7ff82b367" > < td class = "memItemLeft" align = "right" valign = "top" > typedef Index_  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#ae67227cecbe84f5c8497d9a7ff82b367" > Index< / a > < / td > < / tr >
< tr class = "memdesc:ae67227cecbe84f5c8497d9a7ff82b367" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The index. < a href = "#ae67227cecbe84f5c8497d9a7ff82b367" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ae67227cecbe84f5c8497d9a7ff82b367" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ae1cf7988c9cff79a2c3252aaf91fc165" > < td class = "memItemLeft" align = "right" valign = "top" > typedef ClearAccumulators_  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#ae1cf7988c9cff79a2c3252aaf91fc165" > ClearAccumulators< / a > < / td > < / tr >
< tr class = "memdesc:ae1cf7988c9cff79a2c3252aaf91fc165" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Clear the accumulators. < a href = "#ae1cf7988c9cff79a2c3252aaf91fc165" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ae1cf7988c9cff79a2c3252aaf91fc165" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-09-20 05:02:08 +08:00
< tr class = "memitem:a367aa0bd4be33d90ffe752274c728ef8" > < td class = "memItemLeft" align = "right" valign = "top" > typedef < a class = "el" href = "structcutlass_1_1gemm_1_1GlobalLoadStreamPair.html" > GlobalLoadStreamPair< / a > < < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a9cd6c3fddfb4315eb52b672900462c47" > GlobalLoadStreamA< / a > , < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#ac393b07e780629fc8254fc22cc6f815b" > GlobalLoadStreamB< / a > , < a class = "el" href = "structcutlass_1_1gemm_1_1GemmConfig.html#a600746def904eeca46d7f92a4b223b46" > GemmConfig::kResidueInProlog< / a > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a367aa0bd4be33d90ffe752274c728ef8" > GlobalLoadStream< / a > < / td > < / tr >
< tr class = "memdesc:a367aa0bd4be33d90ffe752274c728ef8" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Assemble the global load streams for A/B. < a href = "#a367aa0bd4be33d90ffe752274c728ef8" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a367aa0bd4be33d90ffe752274c728ef8" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:abfecd4a57dfbf82e8fa74a50e01fc4ee" > < td class = "memItemLeft" align = "right" valign = "top" > typedef < a class = "el" href = "structcutlass_1_1gemm_1_1GlobalLoadStreamPair.html#a5eef540f82acea5d9cb12965707ba158" > GlobalLoadStream::ThreadblockTileStorage< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#abfecd4a57dfbf82e8fa74a50e01fc4ee" > ThreadblockTileStorage< / a > < / td > < / tr >
< tr class = "memdesc:abfecd4a57dfbf82e8fa74a50e01fc4ee" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Memory needed to store the threadblock-scoped GEMM tile. < a href = "#abfecd4a57dfbf82e8fa74a50e01fc4ee" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:abfecd4a57dfbf82e8fa74a50e01fc4ee" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a7864969e774c0f7155951e1ab599ed17" > < td class = "memItemLeft" align = "right" valign = "top" > typedef < a class = "el" href = "structcutlass_1_1gemm_1_1SharedStreamPair.html" > SharedStreamPair< / a > < < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#ae01371eb31b88fa83c4926564cecafdc" > SharedLoadStreamA< / a > , < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#acaeb27063a444e2a3b93f3cb70e3c290" > SharedLoadStreamB< / a > >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a7864969e774c0f7155951e1ab599ed17" > SharedStream< / a > < / td > < / tr >
< tr class = "memdesc:a7864969e774c0f7155951e1ab599ed17" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Assemble the shared load streams for A/B. < a href = "#a7864969e774c0f7155951e1ab599ed17" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a7864969e774c0f7155951e1ab599ed17" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-05-17 02:44:56 +08:00
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pub-static-methods" > < / a >
Static Public Member Functions< / h2 > < / td > < / tr >
< tr class = "memitem:a475463c1e3af71598e22da8956900ebe" > < td class = "memItemLeft" align = "right" valign = "top" > static CUTLASS_DEVICE void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a475463c1e3af71598e22da8956900ebe" > shared_load_fence< / a > (bool in_loop)< / td > < / tr >
< tr class = "memdesc:a475463c1e3af71598e22da8956900ebe" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The memory fence for shared loads. < a href = "#a475463c1e3af71598e22da8956900ebe" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a475463c1e3af71598e22da8956900ebe" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ac3c840a3d90c0da43301761af83c2c9f" > < td class = "memItemLeft" align = "right" valign = "top" > static CUTLASS_DEVICE void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#ac3c840a3d90c0da43301761af83c2c9f" > shared_store_fence< / a > (bool in_loop)< / td > < / tr >
< tr class = "memdesc:ac3c840a3d90c0da43301761af83c2c9f" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The memory fence for shared stores. < a href = "#ac3c840a3d90c0da43301761af83c2c9f" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ac3c840a3d90c0da43301761af83c2c9f" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pub-static-attribs" > < / a >
Static Public Attributes< / h2 > < / td > < / tr >
< tr class = "memitem:ac5bb5931a707ed7672f69267753ba41b" > < td class = "memItemLeft" align = "right" valign = "top" > static < a class = "el" href = "structcutlass_1_1MatrixLayout.html#a97ef07af21b122c1804245b0c7784d2b" > MatrixLayout::Kind< / a > const  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#ac5bb5931a707ed7672f69267753ba41b" > kLayoutA< / a > = GlobalLoadStreamA::kLayout< / td > < / tr >
< tr class = "memdesc:ac5bb5931a707ed7672f69267753ba41b" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The layout of A. < a href = "#ac5bb5931a707ed7672f69267753ba41b" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ac5bb5931a707ed7672f69267753ba41b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a078e8d9cfa1b182e1b96a2cc8c54b684" > < td class = "memItemLeft" align = "right" valign = "top" > static < a class = "el" href = "structcutlass_1_1MatrixLayout.html#a97ef07af21b122c1804245b0c7784d2b" > MatrixLayout::Kind< / a > const  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a078e8d9cfa1b182e1b96a2cc8c54b684" > kLayoutB< / a > = GlobalLoadStreamB::kLayout< / td > < / tr >
< tr class = "memdesc:a078e8d9cfa1b182e1b96a2cc8c54b684" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The layout of B. < a href = "#a078e8d9cfa1b182e1b96a2cc8c54b684" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a078e8d9cfa1b182e1b96a2cc8c54b684" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table >
< h2 class = "groupheader" > Member Typedef Documentation< / h2 >
< a id = "a50672b5fa67d858aeff8f254cf28e941" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a50672b5fa67d858aeff8f254cf28e941" > ◆ < / a > < / span > BlockSwizzle< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
< td class = "memname" > typedef BlockSwizzle_ < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a50672b5fa67d858aeff8f254cf28e941" > BlockSwizzle< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "ae1cf7988c9cff79a2c3252aaf91fc165" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ae1cf7988c9cff79a2c3252aaf91fc165" > ◆ < / a > < / span > ClearAccumulators< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
< td class = "memname" > typedef ClearAccumulators_ < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#ae1cf7988c9cff79a2c3252aaf91fc165" > ClearAccumulators< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a424f1ac14e1e7ad37428edd0cf13e7fe" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a424f1ac14e1e7ad37428edd0cf13e7fe" > ◆ < / a > < / span > Epilogue< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
< td class = "memname" > typedef Epilogue_ < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a424f1ac14e1e7ad37428edd0cf13e7fe" > Epilogue< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a4efe5d156abca056ef8b5334fb574dd5" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a4efe5d156abca056ef8b5334fb574dd5" > ◆ < / a > < / span > GemmConfig< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
< td class = "memname" > typedef GemmConfig_ < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a4efe5d156abca056ef8b5334fb574dd5" > GemmConfig< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2018-09-20 05:02:08 +08:00
< / div >
< / div >
< a id = "a367aa0bd4be33d90ffe752274c728ef8" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a367aa0bd4be33d90ffe752274c728ef8" > ◆ < / a > < / span > GlobalLoadStream< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > typedef < a class = "el" href = "structcutlass_1_1gemm_1_1GlobalLoadStreamPair.html" > GlobalLoadStreamPair< / a > < < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a9cd6c3fddfb4315eb52b672900462c47" > GlobalLoadStreamA< / a > , < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#ac393b07e780629fc8254fc22cc6f815b" > GlobalLoadStreamB< / a > , < a class = "el" href = "structcutlass_1_1gemm_1_1GemmConfig.html#a600746def904eeca46d7f92a4b223b46" > GemmConfig::kResidueInProlog< / a > > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a367aa0bd4be33d90ffe752274c728ef8" > GlobalLoadStream< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2018-05-17 02:44:56 +08:00
< / div >
< / div >
< a id = "a9cd6c3fddfb4315eb52b672900462c47" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a9cd6c3fddfb4315eb52b672900462c47" > ◆ < / a > < / span > GlobalLoadStreamA< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
< td class = "memname" > typedef GlobalLoadStreamA_ < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a9cd6c3fddfb4315eb52b672900462c47" > GlobalLoadStreamA< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "ac393b07e780629fc8254fc22cc6f815b" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ac393b07e780629fc8254fc22cc6f815b" > ◆ < / a > < / span > GlobalLoadStreamB< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
< td class = "memname" > typedef GlobalLoadStreamB_ < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#ac393b07e780629fc8254fc22cc6f815b" > GlobalLoadStreamB< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "ae67227cecbe84f5c8497d9a7ff82b367" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ae67227cecbe84f5c8497d9a7ff82b367" > ◆ < / a > < / span > Index< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
< td class = "memname" > typedef Index_ < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#ae67227cecbe84f5c8497d9a7ff82b367" > Index< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2018-09-20 05:02:08 +08:00
< / div >
< / div >
< a id = "a28c32832f0353f00e93e867373cf6cae" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a28c32832f0353f00e93e867373cf6cae" > ◆ < / a > < / span > KernelClass< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > typedef < a class = "el" href = "structcutlass_1_1gemm_1_1Gemm.html" > cutlass::gemm::Gemm< / a > < < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#aa6214a0ad09d155ed79feadc6647b989" > This_< / a > > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a28c32832f0353f00e93e867373cf6cae" > KernelClass< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2018-05-17 02:44:56 +08:00
< / div >
< / div >
< a id = "af810544e956b04830c5be7ce41d3b45c" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#af810544e956b04830c5be7ce41d3b45c" > ◆ < / a > < / span > MultiplyAdd< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
2018-09-20 05:02:08 +08:00
< td class = "memname" > typedef < a class = "el" href = "structcutlass_1_1gemm_1_1GemmConfig.html#aedb95febe4a0b2943e233c95c36a22cd" > GemmConfig::MultiplyAdd< / a > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#af810544e956b04830c5be7ce41d3b45c" > MultiplyAdd< / a > < / td >
2018-05-17 02:44:56 +08:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a97d7ee63e5d180410b370f095648f367" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a97d7ee63e5d180410b370f095648f367" > ◆ < / a > < / span > OutputTile< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
2018-09-20 05:02:08 +08:00
< td class = "memname" > typedef < a class = "el" href = "structcutlass_1_1gemm_1_1GemmConfig.html#a9dd9c3efc3dfd9b5c6acd12236697399" > GemmConfig::OutputTile< / a > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a97d7ee63e5d180410b370f095648f367" > OutputTile< / a > < / td >
2018-05-17 02:44:56 +08:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a96d64bdc48db4971798b620d6b49b3f6" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a96d64bdc48db4971798b620d6b49b3f6" > ◆ < / a > < / span > ScalarA< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
< td class = "memname" > typedef GlobalLoadStreamA_::Scalar < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a96d64bdc48db4971798b620d6b49b3f6" > ScalarA< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "aa0e8fd28f5247764dfb7843f7670c698" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aa0e8fd28f5247764dfb7843f7670c698" > ◆ < / a > < / span > ScalarB< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
< td class = "memname" > typedef GlobalLoadStreamB_::Scalar < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#aa0e8fd28f5247764dfb7843f7670c698" > ScalarB< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a8f78d4a68817760099081523aa7fd443" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a8f78d4a68817760099081523aa7fd443" > ◆ < / a > < / span > ScalarC< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
< td class = "memname" > typedef Epilogue::ScalarC < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a8f78d4a68817760099081523aa7fd443" > ScalarC< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a3129be75ee087603170f8367e10e070e" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a3129be75ee087603170f8367e10e070e" > ◆ < / a > < / span > ScalarD< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
< td class = "memname" > typedef Epilogue::ScalarD < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a3129be75ee087603170f8367e10e070e" > ScalarD< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "ae01371eb31b88fa83c4926564cecafdc" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ae01371eb31b88fa83c4926564cecafdc" > ◆ < / a > < / span > SharedLoadStreamA< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
< td class = "memname" > typedef SharedLoadStreamA_ < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#ae01371eb31b88fa83c4926564cecafdc" > SharedLoadStreamA< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "acaeb27063a444e2a3b93f3cb70e3c290" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#acaeb27063a444e2a3b93f3cb70e3c290" > ◆ < / a > < / span > SharedLoadStreamB< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
< td class = "memname" > typedef SharedLoadStreamB_ < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#acaeb27063a444e2a3b93f3cb70e3c290" > SharedLoadStreamB< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
2018-09-20 05:02:08 +08:00
< a id = "a7864969e774c0f7155951e1ab599ed17" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a7864969e774c0f7155951e1ab599ed17" > ◆ < / a > < / span > SharedStream< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > typedef < a class = "el" href = "structcutlass_1_1gemm_1_1SharedStreamPair.html" > SharedStreamPair< / a > < < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#ae01371eb31b88fa83c4926564cecafdc" > SharedLoadStreamA< / a > , < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#acaeb27063a444e2a3b93f3cb70e3c290" > SharedLoadStreamB< / a > > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#a7864969e774c0f7155951e1ab599ed17" > SharedStream< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "aa6214a0ad09d155ed79feadc6647b989" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aa6214a0ad09d155ed79feadc6647b989" > ◆ < / a > < / span > This_< / h2 >
2018-05-17 02:44:56 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
2018-09-20 05:02:08 +08:00
< td class = "memname" > typedef < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_> < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#aa6214a0ad09d155ed79feadc6647b989" > This_< / a > < / td >
2018-05-17 02:44:56 +08:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
2018-09-20 05:02:08 +08:00
< a id = "abfecd4a57dfbf82e8fa74a50e01fc4ee" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#abfecd4a57dfbf82e8fa74a50e01fc4ee" > ◆ < / a > < / span > ThreadblockTileStorage< / h2 >
2018-05-17 02:44:56 +08:00
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "memname" >
< tr >
2018-09-20 05:02:08 +08:00
< td class = "memname" > typedef < a class = "el" href = "structcutlass_1_1gemm_1_1GlobalLoadStreamPair.html#a5eef540f82acea5d9cb12965707ba158" > GlobalLoadStream::ThreadblockTileStorage< / a > < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::< a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html#abfecd4a57dfbf82e8fa74a50e01fc4ee" > ThreadblockTileStorage< / a > < / td >
2018-05-17 02:44:56 +08:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< h2 class = "groupheader" > Member Function Documentation< / h2 >
< a id = "a475463c1e3af71598e22da8956900ebe" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a475463c1e3af71598e22da8956900ebe" > ◆ < / a > < / span > shared_load_fence()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > static CUTLASS_DEVICE void < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::shared_load_fence < / td >
< td > (< / td >
< td class = "paramtype" > bool  < / td >
< td class = "paramname" > < em > in_loop< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < span class = "mlabel" > static< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "ac3c840a3d90c0da43301761af83c2c9f" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ac3c840a3d90c0da43301761af83c2c9f" > ◆ < / a > < / span > shared_store_fence()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > static CUTLASS_DEVICE void < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::shared_store_fence < / td >
< td > (< / td >
< td class = "paramtype" > bool  < / td >
< td class = "paramname" > < em > in_loop< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < span class = "mlabel" > static< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< h2 class = "groupheader" > Member Data Documentation< / h2 >
< a id = "ac5bb5931a707ed7672f69267753ba41b" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ac5bb5931a707ed7672f69267753ba41b" > ◆ < / a > < / span > kLayoutA< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "structcutlass_1_1MatrixLayout.html#a97ef07af21b122c1804245b0c7784d2b" > MatrixLayout::Kind< / a > const < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::kLayoutA = GlobalLoadStreamA::kLayout< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > static< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "a078e8d9cfa1b182e1b96a2cc8c54b684" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a078e8d9cfa1b182e1b96a2cc8c54b684" > ◆ < / a > < / span > kLayoutB< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
2018-09-20 05:02:08 +08:00
template< typename GemmConfig_, typename GlobalLoadStreamA_, typename GlobalLoadStreamB_, typename SharedLoadStreamA_, typename SharedLoadStreamB_, typename Epilogue_, typename BlockSwizzle_ = IdentityBlockSwizzle, typename Index_ = int, typename ClearAccumulators_ = ClearAccumulators< typename GemmConfig_::Accumulators::Element> > < / div >
2018-05-17 02:44:56 +08:00
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "structcutlass_1_1MatrixLayout.html#a97ef07af21b122c1804245b0c7784d2b" > MatrixLayout::Kind< / a > const < a class = "el" href = "structcutlass_1_1gemm_1_1GemmTraits.html" > cutlass::gemm::GemmTraits< / a > < GemmConfig_, GlobalLoadStreamA_, GlobalLoadStreamB_, SharedLoadStreamA_, SharedLoadStreamB_, Epilogue_, BlockSwizzle_, Index_, ClearAccumulators_ > ::kLayoutB = GlobalLoadStreamB::kLayout< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > static< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< hr / > The documentation for this struct was generated from the following file:< ul >
< li > < a class = "el" href = "gemm__traits_8h_source.html" > gemm_traits.h< / a > < / li >
< / ul >
< / div > <!-- contents -->
<!-- start footer part -->
< hr class = "footer" / > < address class = "footer" > < small >
2018-09-20 05:02:08 +08:00
Generated on Wed Sep 19 2018 13:58:52 for Cutlass by   < a href = "http://www.doxygen.org/index.html" >
2018-05-17 02:44:56 +08:00
< img class = "footer" src = "doxygen.png" alt = "doxygen" / >
< / a > 1.8.14
< / small > < / address >
< / body >
< / html >