CUTLASS 2.0 (#62)
CUTLASS 2.0 Substantially refactored for - Better performance, particularly for native Turing Tensor Cores - Robust and durable templates spanning the design space - Encapsulated functionality embodying modern C++11 programming techniques - Optimized containers and data types for efficient, generic, portable device code Updates to: - Quick start guide - Documentation - Utilities - CUTLASS Profiler Native Turing Tensor Cores - Efficient GEMM kernels targeting Turing Tensor Cores - Mixed-precision floating point, 8-bit integer, 4-bit integer, and binarized operands Coverage of existing CUTLASS functionality: - GEMM kernels targeting CUDA and Tensor Cores in NVIDIA GPUs - Volta Tensor Cores through native mma.sync and through WMMA API - Optimizations such as parallel reductions, threadblock rasterization, and intra-threadblock reductions - Batched GEMM operations - Complex-valued GEMMs Note: this commit and all that follow require a host compiler supporting C++11 or greater.
This commit is contained in:
+77
-198
@@ -1,13 +1,9 @@
|
||||
/* The standard CSS for doxygen 1.8.14 */
|
||||
/* The standard CSS for doxygen 1.8.11 */
|
||||
|
||||
body, table, div, p, dl {
|
||||
font: 400 14px/22px Roboto,sans-serif;
|
||||
}
|
||||
|
||||
p.reference, p.definition {
|
||||
font: 400 14px/22px Roboto,sans-serif;
|
||||
}
|
||||
|
||||
/* @group Heading Levels */
|
||||
|
||||
h1.groupheader {
|
||||
@@ -22,8 +18,8 @@ h1.groupheader {
|
||||
}
|
||||
|
||||
h2.groupheader {
|
||||
border-bottom: 1px solid #B2CB87;
|
||||
color: #617B35;
|
||||
border-bottom: 1px solid #A3BA98;
|
||||
color: #526947;
|
||||
font-size: 150%;
|
||||
font-weight: normal;
|
||||
margin-top: 1.75em;
|
||||
@@ -97,8 +93,8 @@ h3.version {
|
||||
}
|
||||
|
||||
div.qindex, div.navtab{
|
||||
background-color: #F2F6EB;
|
||||
border: 1px solid #C4D7A3;
|
||||
background-color: #F0F3EE;
|
||||
border: 1px solid #B9CAB0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@@ -114,13 +110,13 @@ div.navtab {
|
||||
/* @group Link Styling */
|
||||
|
||||
a {
|
||||
color: #6F8C3D;
|
||||
color: #5E7851;
|
||||
font-weight: normal;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.contents a:visited {
|
||||
color: #80A246;
|
||||
color: #6D8B5D;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
@@ -133,9 +129,9 @@ a.qindex {
|
||||
|
||||
a.qindexHL {
|
||||
font-weight: bold;
|
||||
background-color: #BFD49C;
|
||||
background-color: #B3C6AA;
|
||||
color: #ffffff;
|
||||
border: 1px double #B1CA86;
|
||||
border: 1px double #A2B997;
|
||||
}
|
||||
|
||||
.contents a.qindexHL:visited {
|
||||
@@ -177,10 +173,10 @@ pre.fragment {
|
||||
}
|
||||
|
||||
div.fragment {
|
||||
padding: 0px;
|
||||
padding: 4px 6px;
|
||||
margin: 4px 8px 4px 2px;
|
||||
background-color: #FCFDFB;
|
||||
border: 1px solid #D9E5C4;
|
||||
background-color: #FCFDFC;
|
||||
border: 1px solid #D2DDCD;
|
||||
}
|
||||
|
||||
div.line {
|
||||
@@ -236,15 +232,6 @@ span.lineno a:hover {
|
||||
background-color: #C8C8C8;
|
||||
}
|
||||
|
||||
.lineno {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
div.ah, span.ah {
|
||||
background-color: black;
|
||||
font-weight: bold;
|
||||
@@ -296,9 +283,9 @@ div.contents {
|
||||
}
|
||||
|
||||
td.indexkey {
|
||||
background-color: #F2F6EB;
|
||||
background-color: #F0F3EE;
|
||||
font-weight: bold;
|
||||
border: 1px solid #D9E5C4;
|
||||
border: 1px solid #D2DDCD;
|
||||
margin: 2px 0px 2px 0;
|
||||
padding: 2px 10px;
|
||||
white-space: nowrap;
|
||||
@@ -306,14 +293,14 @@ td.indexkey {
|
||||
}
|
||||
|
||||
td.indexvalue {
|
||||
background-color: #F2F6EB;
|
||||
border: 1px solid #D9E5C4;
|
||||
background-color: #F0F3EE;
|
||||
border: 1px solid #D2DDCD;
|
||||
padding: 2px 10px;
|
||||
margin: 2px 0px;
|
||||
}
|
||||
|
||||
tr.memlist {
|
||||
background-color: #F4F7EE;
|
||||
background-color: #F2F5F0;
|
||||
}
|
||||
|
||||
p.formulaDsp {
|
||||
@@ -396,8 +383,8 @@ span.vhdllogic {
|
||||
}
|
||||
|
||||
blockquote {
|
||||
background-color: #F9FBF7;
|
||||
border-left: 2px solid #BFD49C;
|
||||
background-color: #F9FAF8;
|
||||
border-left: 2px solid #B3C6AA;
|
||||
margin: 0 24px 0 4px;
|
||||
padding: 0 12px 0 16px;
|
||||
}
|
||||
@@ -430,18 +417,18 @@ td.tiny {
|
||||
.dirtab {
|
||||
padding: 4px;
|
||||
border-collapse: collapse;
|
||||
border: 1px solid #C4D7A3;
|
||||
border: 1px solid #B9CAB0;
|
||||
}
|
||||
|
||||
th.dirtab {
|
||||
background: #F2F6EB;
|
||||
background: #F0F3EE;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
hr {
|
||||
height: 0px;
|
||||
border: none;
|
||||
border-top: 1px solid #87AA4A;
|
||||
border-top: 1px solid #729262;
|
||||
}
|
||||
|
||||
hr.footer {
|
||||
@@ -476,7 +463,7 @@ table.memberdecls {
|
||||
.mdescLeft, .mdescRight,
|
||||
.memItemLeft, .memItemRight,
|
||||
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
|
||||
background-color: #FBFCF9;
|
||||
background-color: #FAFBFA;
|
||||
border: none;
|
||||
margin: 4px;
|
||||
padding: 1px 0 0 8px;
|
||||
@@ -503,7 +490,7 @@ table.memberdecls {
|
||||
}
|
||||
|
||||
.memTemplParams {
|
||||
color: #80A246;
|
||||
color: #6D8B5D;
|
||||
white-space: nowrap;
|
||||
font-size: 80%;
|
||||
}
|
||||
@@ -514,39 +501,16 @@ table.memberdecls {
|
||||
|
||||
/* Styles for detailed member documentation */
|
||||
|
||||
.memtitle {
|
||||
padding: 8px;
|
||||
border-top: 1px solid #C7D9A8;
|
||||
border-left: 1px solid #C7D9A8;
|
||||
border-right: 1px solid #C7D9A8;
|
||||
border-top-right-radius: 4px;
|
||||
border-top-left-radius: 4px;
|
||||
margin-bottom: -1px;
|
||||
background-image: url('nav_f.png');
|
||||
background-repeat: repeat-x;
|
||||
background-color: #ECF2E2;
|
||||
line-height: 1.25;
|
||||
font-weight: 300;
|
||||
float:left;
|
||||
}
|
||||
|
||||
.permalink
|
||||
{
|
||||
font-size: 65%;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.memtemplate {
|
||||
font-size: 80%;
|
||||
color: #80A246;
|
||||
color: #6D8B5D;
|
||||
font-weight: normal;
|
||||
margin-left: 9px;
|
||||
}
|
||||
|
||||
.memnav {
|
||||
background-color: #F2F6EB;
|
||||
border: 1px solid #C4D7A3;
|
||||
background-color: #F0F3EE;
|
||||
border: 1px solid #B9CAB0;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
margin-right: 15px;
|
||||
@@ -575,7 +539,7 @@ table.memberdecls {
|
||||
}
|
||||
|
||||
.memname {
|
||||
font-weight: 400;
|
||||
font-weight: bold;
|
||||
margin-left: 6px;
|
||||
}
|
||||
|
||||
@@ -584,37 +548,37 @@ table.memberdecls {
|
||||
}
|
||||
|
||||
.memproto, dl.reflist dt {
|
||||
border-top: 1px solid #C7D9A8;
|
||||
border-left: 1px solid #C7D9A8;
|
||||
border-right: 1px solid #C7D9A8;
|
||||
border-top: 1px solid #BCCDB4;
|
||||
border-left: 1px solid #BCCDB4;
|
||||
border-right: 1px solid #BCCDB4;
|
||||
padding: 6px 0px 6px 0px;
|
||||
color: #435525;
|
||||
color: #394931;
|
||||
font-weight: bold;
|
||||
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
|
||||
background-color: #EAF1DF;
|
||||
background-image:url('nav_f.png');
|
||||
background-repeat:repeat-x;
|
||||
background-color: #E9EEE6;
|
||||
/* opera specific markup */
|
||||
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
||||
border-top-right-radius: 4px;
|
||||
border-top-left-radius: 4px;
|
||||
/* firefox specific markup */
|
||||
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
|
||||
-moz-border-radius-topright: 4px;
|
||||
-moz-border-radius-topleft: 4px;
|
||||
/* webkit specific markup */
|
||||
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
||||
-webkit-border-top-right-radius: 4px;
|
||||
-webkit-border-top-left-radius: 4px;
|
||||
|
||||
}
|
||||
|
||||
.overload {
|
||||
font-family: "courier new",courier,monospace;
|
||||
font-size: 65%;
|
||||
}
|
||||
|
||||
.memdoc, dl.reflist dd {
|
||||
border-bottom: 1px solid #C7D9A8;
|
||||
border-left: 1px solid #C7D9A8;
|
||||
border-right: 1px solid #C7D9A8;
|
||||
border-bottom: 1px solid #BCCDB4;
|
||||
border-left: 1px solid #BCCDB4;
|
||||
border-right: 1px solid #BCCDB4;
|
||||
padding: 6px 10px 2px 10px;
|
||||
background-color: #FCFDFB;
|
||||
background-color: #FCFDFC;
|
||||
border-top-width: 0;
|
||||
background-image:url('nav_g.png');
|
||||
background-repeat:repeat-x;
|
||||
@@ -701,11 +665,11 @@ span.mlabels {
|
||||
}
|
||||
|
||||
span.mlabel {
|
||||
background-color: #A4C172;
|
||||
border-top:1px solid #90B453;
|
||||
border-left:1px solid #90B453;
|
||||
border-right:1px solid #D9E5C4;
|
||||
border-bottom:1px solid #D9E5C4;
|
||||
background-color: #93AD86;
|
||||
border-top:1px solid #7B9C6B;
|
||||
border-left:1px solid #7B9C6B;
|
||||
border-right:1px solid #D2DDCD;
|
||||
border-bottom:1px solid #D2DDCD;
|
||||
text-shadow: none;
|
||||
color: white;
|
||||
margin-right: 4px;
|
||||
@@ -724,8 +688,8 @@ span.mlabel {
|
||||
|
||||
div.directory {
|
||||
margin: 10px 0px;
|
||||
border-top: 1px solid #BFD49C;
|
||||
border-bottom: 1px solid #BFD49C;
|
||||
border-top: 1px solid #B3C6AA;
|
||||
border-bottom: 1px solid #B3C6AA;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@@ -763,7 +727,7 @@ div.directory {
|
||||
|
||||
.directory tr.even {
|
||||
padding-left: 6px;
|
||||
background-color: #F9FBF7;
|
||||
background-color: #F9FAF8;
|
||||
}
|
||||
|
||||
.directory img {
|
||||
@@ -781,11 +745,11 @@ div.directory {
|
||||
cursor: pointer;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
color: #6F8C3D;
|
||||
color: #5E7851;
|
||||
}
|
||||
|
||||
.arrow {
|
||||
color: #BFD49C;
|
||||
color: #B3C6AA;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
@@ -805,7 +769,7 @@ div.directory {
|
||||
height: 14px;
|
||||
width: 16px;
|
||||
display: inline-block;
|
||||
background-color: #A4C172;
|
||||
background-color: #93AD86;
|
||||
color: white;
|
||||
text-align: center;
|
||||
border-radius: 4px;
|
||||
@@ -870,7 +834,7 @@ div.dynheader {
|
||||
|
||||
address {
|
||||
font-style: normal;
|
||||
color: #4D612A;
|
||||
color: #415438;
|
||||
}
|
||||
|
||||
table.doxtable caption {
|
||||
@@ -884,12 +848,12 @@ table.doxtable {
|
||||
}
|
||||
|
||||
table.doxtable td, table.doxtable th {
|
||||
border: 1px solid #52682D;
|
||||
border: 1px solid #45593C;
|
||||
padding: 3px 7px 2px;
|
||||
}
|
||||
|
||||
table.doxtable th {
|
||||
background-color: #657F37;
|
||||
background-color: #556D49;
|
||||
color: #FFFFFF;
|
||||
font-size: 110%;
|
||||
padding-bottom: 4px;
|
||||
@@ -899,7 +863,7 @@ table.doxtable th {
|
||||
table.fieldtable {
|
||||
/*width: 100%;*/
|
||||
margin-bottom: 10px;
|
||||
border: 1px solid #C7D9A8;
|
||||
border: 1px solid #BCCDB4;
|
||||
border-spacing: 0px;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
@@ -915,8 +879,8 @@ table.fieldtable {
|
||||
|
||||
.fieldtable td.fieldtype, .fieldtable td.fieldname {
|
||||
white-space: nowrap;
|
||||
border-right: 1px solid #C7D9A8;
|
||||
border-bottom: 1px solid #C7D9A8;
|
||||
border-right: 1px solid #BCCDB4;
|
||||
border-bottom: 1px solid #BCCDB4;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
@@ -925,7 +889,7 @@ table.fieldtable {
|
||||
}
|
||||
|
||||
.fieldtable td.fielddoc {
|
||||
border-bottom: 1px solid #C7D9A8;
|
||||
border-bottom: 1px solid #BCCDB4;
|
||||
/*width: 100%;*/
|
||||
}
|
||||
|
||||
@@ -944,20 +908,19 @@ table.fieldtable {
|
||||
.fieldtable th {
|
||||
background-image:url('nav_f.png');
|
||||
background-repeat:repeat-x;
|
||||
background-color: #ECF2E2;
|
||||
background-color: #E9EEE6;
|
||||
font-size: 90%;
|
||||
color: #435525;
|
||||
color: #394931;
|
||||
padding-bottom: 4px;
|
||||
padding-top: 5px;
|
||||
text-align:left;
|
||||
font-weight: 400;
|
||||
-moz-border-radius-topleft: 4px;
|
||||
-moz-border-radius-topright: 4px;
|
||||
-webkit-border-top-left-radius: 4px;
|
||||
-webkit-border-top-right-radius: 4px;
|
||||
border-top-left-radius: 4px;
|
||||
border-top-right-radius: 4px;
|
||||
border-bottom: 1px solid #C7D9A8;
|
||||
border-bottom: 1px solid #BCCDB4;
|
||||
}
|
||||
|
||||
|
||||
@@ -979,8 +942,8 @@ table.fieldtable {
|
||||
background-position: 0 -5px;
|
||||
height:30px;
|
||||
line-height:30px;
|
||||
color:#B3CC8A;
|
||||
border:solid 1px #D8E4C2;
|
||||
color:#A5BB9A;
|
||||
border:solid 1px #D0DCCB;
|
||||
overflow:hidden;
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
@@ -995,7 +958,7 @@ table.fieldtable {
|
||||
background-image:url('bc_s.png');
|
||||
background-repeat:no-repeat;
|
||||
background-position:right;
|
||||
color:#627C36;
|
||||
color:#536B48;
|
||||
}
|
||||
|
||||
.navpath li.navelem a
|
||||
@@ -1004,7 +967,7 @@ table.fieldtable {
|
||||
display:block;
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
color: #4A5D28;
|
||||
color: #3E5035;
|
||||
font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
|
||||
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
|
||||
text-decoration: none;
|
||||
@@ -1012,7 +975,7 @@ table.fieldtable {
|
||||
|
||||
.navpath li.navelem a:hover
|
||||
{
|
||||
color:#9EBD68;
|
||||
color:#8BA87D;
|
||||
}
|
||||
|
||||
.navpath li.footer
|
||||
@@ -1024,7 +987,7 @@ table.fieldtable {
|
||||
background-image:none;
|
||||
background-repeat:no-repeat;
|
||||
background-position:right;
|
||||
color:#627C36;
|
||||
color:#536B48;
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
@@ -1071,9 +1034,9 @@ div.header
|
||||
{
|
||||
background-image:url('nav_h.png');
|
||||
background-repeat:repeat-x;
|
||||
background-color: #FBFCF9;
|
||||
background-color: #FAFBFA;
|
||||
margin: 0px;
|
||||
border-bottom: 1px solid #D9E5C4;
|
||||
border-bottom: 1px solid #D2DDCD;
|
||||
}
|
||||
|
||||
div.headertitle
|
||||
@@ -1197,7 +1160,7 @@ dl.section dd {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
width: 100%;
|
||||
border-bottom: 1px solid #90B453;
|
||||
border-bottom: 1px solid #7B9C6B;
|
||||
}
|
||||
|
||||
.image
|
||||
@@ -1215,11 +1178,6 @@ dl.section dd {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.plantumlgraph
|
||||
{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.diagraph
|
||||
{
|
||||
text-align: center;
|
||||
@@ -1232,7 +1190,7 @@ dl.section dd {
|
||||
|
||||
div.zoom
|
||||
{
|
||||
border: 1px solid #B7CE90;
|
||||
border: 1px solid #AABFA0;
|
||||
}
|
||||
|
||||
dl.citelist {
|
||||
@@ -1240,7 +1198,7 @@ dl.citelist {
|
||||
}
|
||||
|
||||
dl.citelist dt {
|
||||
color:#5D7533;
|
||||
color:#4E6443;
|
||||
float:left;
|
||||
font-weight:bold;
|
||||
margin-right:10px;
|
||||
@@ -1254,8 +1212,8 @@ dl.citelist dd {
|
||||
|
||||
div.toc {
|
||||
padding: 14px 25px;
|
||||
background-color: #F8FAF4;
|
||||
border: 1px solid #E6EED8;
|
||||
background-color: #F7F9F6;
|
||||
border: 1px solid #E1E8DE;
|
||||
border-radius: 7px 7px 7px 7px;
|
||||
float: right;
|
||||
height: auto;
|
||||
@@ -1273,7 +1231,7 @@ div.toc li {
|
||||
|
||||
div.toc h3 {
|
||||
font: bold 12px/1.2 Arial,FreeSans,sans-serif;
|
||||
color: #80A246;
|
||||
color: #6D8B5D;
|
||||
border-bottom: 0 none;
|
||||
margin: 0;
|
||||
}
|
||||
@@ -1515,82 +1473,3 @@ tr.heading h2 {
|
||||
}
|
||||
}
|
||||
|
||||
/* @group Markdown */
|
||||
|
||||
/*
|
||||
table.markdownTable {
|
||||
border-collapse:collapse;
|
||||
margin-top: 4px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
table.markdownTable td, table.markdownTable th {
|
||||
border: 1px solid #52682D;
|
||||
padding: 3px 7px 2px;
|
||||
}
|
||||
|
||||
table.markdownTableHead tr {
|
||||
}
|
||||
|
||||
table.markdownTableBodyLeft td, table.markdownTable th {
|
||||
border: 1px solid #52682D;
|
||||
padding: 3px 7px 2px;
|
||||
}
|
||||
|
||||
th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone {
|
||||
background-color: #657F37;
|
||||
color: #FFFFFF;
|
||||
font-size: 110%;
|
||||
padding-bottom: 4px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
th.markdownTableHeadLeft {
|
||||
text-align: left
|
||||
}
|
||||
|
||||
th.markdownTableHeadRight {
|
||||
text-align: right
|
||||
}
|
||||
|
||||
th.markdownTableHeadCenter {
|
||||
text-align: center
|
||||
}
|
||||
*/
|
||||
|
||||
table.markdownTable {
|
||||
border-collapse:collapse;
|
||||
margin-top: 4px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
table.markdownTable td, table.markdownTable th {
|
||||
border: 1px solid #52682D;
|
||||
padding: 3px 7px 2px;
|
||||
}
|
||||
|
||||
table.markdownTable tr {
|
||||
}
|
||||
|
||||
th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
|
||||
background-color: #374F7F;
|
||||
color: #FFFFFF;
|
||||
font-size: 110%;
|
||||
padding-bottom: 4px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
th.markdownTableHeadLeft, td.markdownTableBodyLeft {
|
||||
text-align: left
|
||||
}
|
||||
|
||||
th.markdownTableHeadRight, td.markdownTableBodyRight {
|
||||
text-align: right
|
||||
}
|
||||
|
||||
th.markdownTableHeadCenter, td.markdownTableBodyCenter {
|
||||
text-align: center
|
||||
}
|
||||
|
||||
|
||||
/* @end */
|
||||
|
||||
Reference in New Issue
Block a user