mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-07-17 09:08:35 +00:00
Fix WMMA conv algorithms hierarchy.
This commit is contained in:
@@ -260,11 +260,6 @@ concept SpecifiesGemmSpecialization = requires {
|
||||
{ T::gemm_specialization } -> std::convertible_to<GemmSpecialization>;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
concept SpecifiesNumPrefetchStages = requires {
|
||||
{ T::num_gemm_k_prefetch_stages } -> SizeType;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
concept SpecifiesNumGroupsToMerge = requires {
|
||||
{ T::num_conv_groups_to_merge } -> SizeType;
|
||||
|
||||
@@ -159,7 +159,7 @@ BwdAlgorithm + SpecifiesWmma
|
||||
│ │
|
||||
│ └─── BwdWmmaAlgorithm
|
||||
│ │
|
||||
│ └─ Requirements: Base + SpecifiesNumPrefetchStages + SpecifiesGemmPipeline + SpecifiesGenericInstance
|
||||
│ └─ Requirements: Base + SpecifiesGemmPipeline + SpecifiesGenericInstance
|
||||
│
|
||||
└─── BwdWmmaV3AlgorithmBase (Based on BwdAlgorithmV3)
|
||||
│
|
||||
@@ -169,7 +169,7 @@ BwdAlgorithm + SpecifiesWmma
|
||||
│
|
||||
├─── BwdWmmaV3Algorithm
|
||||
│ │
|
||||
│ └─ Requirements: Base + SpecifiesTransposeTransfer + SpecifiesGenericInstance
|
||||
│ └─ Requirements: Base + SpecifiesTransposeTransfer
|
||||
│
|
||||
└─── BwdTwoStageWmmaV3Algorithm
|
||||
│
|
||||
|
||||
@@ -108,8 +108,8 @@ concept BwdTwoStageXdlAlgorithm =
|
||||
// BWD weight WMMA algorithm concepts
|
||||
template <auto Value>
|
||||
concept BwdWmmaAlgorithm =
|
||||
BwdWmmaAlgorithmBase<Value> && SpecifiesNumPrefetchStages<decltype(Value)> &&
|
||||
SpecifiesGemmPipeline<decltype(Value)> && SpecifiesGenericInstance<decltype(Value)>;
|
||||
BwdWmmaAlgorithmBase<Value> && SpecifiesGemmPipeline<decltype(Value)> &&
|
||||
SpecifiesGenericInstance<decltype(Value)>;
|
||||
|
||||
template <auto Value>
|
||||
concept BwdMultiDWmmaV3Algorithm =
|
||||
@@ -117,8 +117,7 @@ concept BwdMultiDWmmaV3Algorithm =
|
||||
|
||||
template <auto Value>
|
||||
concept BwdWmmaV3Algorithm =
|
||||
BwdWmmaV3AlgorithmBase<Value> && SpecifiesTransposeTransfer<decltype(Value)> &&
|
||||
SpecifiesGenericInstance<decltype(Value)>;
|
||||
BwdWmmaV3AlgorithmBase<Value> && SpecifiesTransposeTransfer<decltype(Value)>;
|
||||
|
||||
template <auto Value>
|
||||
concept BwdTwoStageWmmaV3Algorithm =
|
||||
|
||||
@@ -19,7 +19,7 @@ constexpr auto SIGNATURE = ckt::ConvSignature{.spatial_dim = 2,
|
||||
.weight = {.config = {.layout = GKYXC}},
|
||||
.output = {.config = {.layout = NGKHW}}};
|
||||
|
||||
constexpr auto ALGORITHM = cku::ConvAlgorithm_DeviceGroupedConvBwdWeight_TwoStage_CShuffle{}
|
||||
constexpr auto ALGORITHM = cku::ConvAlgorithm_DeviceGroupedConvBwdWeight_TwoStage_CShuffle_V3{}
|
||||
.with_thread_block(cku::ThreadBlock_64_32x32x32)
|
||||
.with_gemm_config(cku::GemmParams_Wmma_16x16_2x1_per_wave)
|
||||
.with_transfer(cku::BwdTransfer_4x8x1_4x16x1_v3)
|
||||
|
||||
Reference in New Issue
Block a user