mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-07-08 08:07:06 +00:00
Add static check verifying a/b transpose feature support
This commit is contained in:
@@ -677,26 +677,43 @@ struct UniversalGemmPipelineAgBgCrPolicy
|
||||
Problem::UseStructuredSparsity,
|
||||
wg_attr_num_access>;
|
||||
|
||||
using BlockGemmPolicy = BlockGemmASmemBSmemCRegV1CustomPolicy<typename Problem::ADataType,
|
||||
typename Problem::BDataType,
|
||||
typename Problem::CDataType,
|
||||
BlockWarps,
|
||||
WarpGemm>;
|
||||
|
||||
if constexpr(Problem::SkipALds == false && Problem::SkipBLds == false)
|
||||
{
|
||||
using BlockGemmPolicy =
|
||||
BlockGemmASmemBSmemCRegV1CustomPolicy<typename Problem::ADataType,
|
||||
typename Problem::BDataType,
|
||||
typename Problem::CDataType,
|
||||
BlockWarps,
|
||||
WarpGemm>;
|
||||
return BlockUniversalGemmAsBsCr<Problem, BlockGemmPolicy>{};
|
||||
}
|
||||
else if constexpr(Problem::SkipALds == false && Problem::SkipBLds == true)
|
||||
{
|
||||
using BlockGemmPolicy =
|
||||
BlockGemmASmemBRegCRegV1CustomPolicy<typename Problem::ADataType,
|
||||
typename Problem::BDataType,
|
||||
typename Problem::CDataType,
|
||||
BlockWarps,
|
||||
WarpGemm>;
|
||||
return BlockUniversalGemmAsBrCr<Problem, BlockGemmPolicy>{};
|
||||
}
|
||||
else if constexpr(Problem::SkipALds == true && Problem::SkipBLds == false)
|
||||
{
|
||||
using BlockGemmPolicy =
|
||||
BlockGemmARegBSmemCRegV1CustomPolicy<typename Problem::ADataType,
|
||||
typename Problem::BDataType,
|
||||
typename Problem::CDataType,
|
||||
BlockWarps,
|
||||
WarpGemm>;
|
||||
return BlockUniversalGemmArBsCr<Problem, BlockGemmPolicy>{};
|
||||
}
|
||||
else
|
||||
{
|
||||
using BlockGemmPolicy = BlockGemmARegBRegCRegV1CustomPolicy<typename Problem::ADataType,
|
||||
typename Problem::BDataType,
|
||||
typename Problem::CDataType,
|
||||
BlockWarps,
|
||||
WarpGemm>;
|
||||
return BlockUniversalGemmArBrCr<Problem, BlockGemmPolicy>{};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ using KernelTypesMem = ::testing::Types<
|
||||
std::tuple< Col, Col, Row, F16, F16, F32, F16, I256, I256, I64, I32, I32, I16, Interwave, Mem, std::false_type, std::false_type>,
|
||||
std::tuple< Col, Col, Row, F8, F8, F32, F16, I256, I256, I64, I32, I32, I16, Intrawave, Mem, std::false_type, std::false_type>,
|
||||
std::tuple< Col, Col, Row, F8, F8, F32, F16, I256, I256, I64, I32, I32, I16, Interwave, Mem, std::false_type, std::false_type>,
|
||||
// SkipALds/SkipBLds
|
||||
// SkipALds/SkipBLds
|
||||
std::tuple< Row, Col, Row, F16, F16, F32, F16, I256, I256, I64, I32, I32, I16, Interwave, Mem, std::false_type, std::true_type>,
|
||||
std::tuple< Row, Col, Row, F16, F16, F32, F16, I256, I256, I64, I32, I32, I16, Interwave, Mem, std::true_type, std::false_type>,
|
||||
std::tuple< Row, Col, Row, F16, F16, F32, F16, I256, I256, I64, I32, I32, I16, Interwave, Mem, std::true_type, std::true_type>,
|
||||
|
||||
Reference in New Issue
Block a user