Updates for CUTLASS 3.5.0 (#1468)

This commit is contained in:
Vijay Thakkar
2024-04-11 21:33:40 -04:00
committed by GitHub
parent a40e08e9d5
commit 7d49e6c7e2
171 changed files with 7526 additions and 1888 deletions
@@ -73,7 +73,7 @@ template <
int Stages,
typename MathOperatorTag,
conv::IteratorAlgorithm IteratorAlgorithm = IteratorAlgorithm::kOptimized,
conv::StrideSupport StrideSupport = StrideSupport::kStrided
conv::StrideSupport StrideSupport = StrideSupport::kUnity
> struct DefaultConv3dFprop;
/////////////////////////////////////////////////////////////////////////////////////////////////
@@ -94,7 +94,8 @@ template <
typename InstructionShape,
typename EpilogueOutputOp,
typename ThreadblockSwizzle,
typename MathOperatorTag
typename MathOperatorTag,
conv::StrideSupport StrideSupport
>
struct DefaultConv3dFprop <
ElementA,
@@ -113,7 +114,8 @@ struct DefaultConv3dFprop <
ThreadblockSwizzle,
2,
MathOperatorTag,
IteratorAlgorithm::kAnalytic
IteratorAlgorithm::kAnalytic,
StrideSupport
> {
// Define the core components from GEMM
@@ -202,7 +204,8 @@ template <
typename EpilogueOutputOp,
typename ThreadblockSwizzle,
int Stages,
typename MathOperatorTag
typename MathOperatorTag,
conv::StrideSupport StrideSupport
>
struct DefaultConv3dFprop <
ElementA,
@@ -221,7 +224,8 @@ struct DefaultConv3dFprop <
ThreadblockSwizzle,
Stages,
MathOperatorTag,
IteratorAlgorithm::kAnalytic
IteratorAlgorithm::kAnalytic,
StrideSupport
> {
// Define the core components from GEMM
@@ -306,7 +310,8 @@ template <
typename InstructionShape,
typename EpilogueOutputOp,
typename ThreadblockSwizzle,
typename MathOperatorTag
typename MathOperatorTag,
conv::StrideSupport StrideSupport
>
struct DefaultConv3dFprop <
ElementA,
@@ -325,7 +330,8 @@ struct DefaultConv3dFprop <
ThreadblockSwizzle,
2,
MathOperatorTag,
IteratorAlgorithm::kOptimized
IteratorAlgorithm::kOptimized,
StrideSupport
> {
// Define the core components from GEMM
@@ -416,7 +422,8 @@ template <
typename EpilogueOutputOp,
typename ThreadblockSwizzle,
int Stages,
typename MathOperatorTag
typename MathOperatorTag,
conv::StrideSupport StrideSupport
>
struct DefaultConv3dFprop <
ElementA,
@@ -435,7 +442,8 @@ struct DefaultConv3dFprop <
ThreadblockSwizzle,
Stages,
MathOperatorTag,
IteratorAlgorithm::kOptimized
IteratorAlgorithm::kOptimized,
StrideSupport
> {
// Define the core components from GEMM
@@ -492,7 +500,11 @@ struct DefaultConv3dFprop <
WarpMmaTensorOp,
1,
EpilogueOutputOp,
EpilogueOutputOp::kCount
EpilogueOutputOp::kCount,
false,
layout::NoPermute,
StrideSupport,
5
>::Epilogue;
// Define the kernel
@@ -526,7 +538,8 @@ template <
typename EpilogueOutputOp,
typename ThreadblockSwizzle,
int Stages,
typename MathOperatorTag
typename MathOperatorTag,
conv::StrideSupport StrideSupport
>
struct DefaultConv3dFprop <
ElementA,
@@ -545,7 +558,8 @@ struct DefaultConv3dFprop <
ThreadblockSwizzle,
Stages,
MathOperatorTag,
IteratorAlgorithm::kAnalytic
IteratorAlgorithm::kAnalytic,
StrideSupport
> {
// Define the core components from GEMM
@@ -598,7 +612,11 @@ struct DefaultConv3dFprop <
ThreadblockShape,
WarpMmaSimtOp,
EpilogueOutputOp,
EpilogueOutputOp::kCount
EpilogueOutputOp::kCount,
false,
layout::NoPermute,
StrideSupport,
5
>::Epilogue;
// Define the kernel
@@ -632,7 +650,8 @@ template <
typename EpilogueOutputOp,
typename ThreadblockSwizzle,
int Stages,
typename MathOperatorTag
typename MathOperatorTag,
conv::StrideSupport StrideSupport
>
struct DefaultConv3dFprop <
ElementA,
@@ -651,7 +670,8 @@ struct DefaultConv3dFprop <
ThreadblockSwizzle,
Stages,
MathOperatorTag,
IteratorAlgorithm::kOptimized
IteratorAlgorithm::kOptimized,
StrideSupport
> {
// Define the core components from GEMM
@@ -706,7 +726,11 @@ struct DefaultConv3dFprop <
ThreadblockShape,
WarpMmaSimtOp,
EpilogueOutputOp,
EpilogueOutputOp::kCount
EpilogueOutputOp::kCount,
false,
layout::NoPermute,
StrideSupport,
5
>::Epilogue;
// Define the kernel
@@ -738,7 +762,8 @@ template <
typename InstructionShape,
typename EpilogueOutputOp,
typename ThreadblockSwizzle,
typename MathOperatorTag
typename MathOperatorTag,
conv::StrideSupport StrideSupport
>
struct DefaultConv3dFprop <
ElementA,
@@ -757,7 +782,8 @@ struct DefaultConv3dFprop <
ThreadblockSwizzle,
2,
MathOperatorTag,
IteratorAlgorithm::kAnalytic
IteratorAlgorithm::kAnalytic,
StrideSupport
> {
// Define the core components from GEMM
@@ -813,7 +839,11 @@ struct DefaultConv3dFprop <
ThreadblockShape,
WarpMmaSimtOp,
EpilogueOutputOp,
EpilogueOutputOp::kCount
EpilogueOutputOp::kCount,
false,
layout::NoPermute,
StrideSupport,
5
>::Epilogue;
// Define the kernel
@@ -845,7 +875,8 @@ template <
typename InstructionShape,
typename EpilogueOutputOp,
typename ThreadblockSwizzle,
typename MathOperatorTag
typename MathOperatorTag,
conv::StrideSupport StrideSupport
>
struct DefaultConv3dFprop <
ElementA,
@@ -864,7 +895,8 @@ struct DefaultConv3dFprop <
ThreadblockSwizzle,
2,
MathOperatorTag,
IteratorAlgorithm::kOptimized
IteratorAlgorithm::kOptimized,
StrideSupport
> {
// Define the core components from GEMM
@@ -922,7 +954,11 @@ struct DefaultConv3dFprop <
ThreadblockShape,
WarpMmaSimtOp,
EpilogueOutputOp,
EpilogueOutputOp::kCount
EpilogueOutputOp::kCount,
false,
layout::NoPermute,
StrideSupport,
5
>::Epilogue;
// Define the kernel
@@ -933,10 +969,10 @@ struct DefaultConv3dFprop <
conv::Operator::kFprop,
Conv3dProblemSize
>;
};
/////////////////////////////////////////////////////////////////////////////////////////////////
} // namespace kernel
} // namespace conv
} // namespace cutlass