Remove unsupported use of c++20 concept. (#2719)

Downstream libraries aren't migrated to c++20 yet, so replace a use of c++20 concept with equivalent SFINAE logic. The template checks for both the existence and the truthiness of the static member variable.
This commit is contained in:
John Shumway
2025-08-24 21:29:23 -07:00
committed by GitHub
parent d6e49c5fde
commit c71d7ddd74
2 changed files with 21 additions and 3 deletions

View File

@@ -40,7 +40,7 @@ struct FmhaBwdDQDKDVKernel
static constexpr ck_tile::index_t kBlockSize = FmhaPipeline::kBlockSize;
static constexpr ck_tile::index_t kBlockPerCu = FmhaPipeline::kBlockPerCu;
static constexpr bool kUseQrQtrDorPipeline =
ck_tile::fmha_bwd_qr_qtr_dor_pipeline_c<FmhaPipeline>;
ck_tile::fmha_bwd_qr_qtr_dor_pipeline<FmhaPipeline>::value;
static_assert(!kUseQrQtrDorPipeline || !std::is_same_v<QGradEpiloguePipeline_, void>,
"QrQtrDorPipeline needs QGradEpiloguePipeline");