block_fmha_bwd_dq_dk_dv_pipeline_selector.hpp Source File

block_fmha_bwd_dq_dk_dv_pipeline_selector.hpp Source File#

Composable Kernel: block_fmha_bwd_dq_dk_dv_pipeline_selector.hpp Source File
block_fmha_bwd_dq_dk_dv_pipeline_selector.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2// Copyright (c) 2025, Advanced Micro Devices, Inc. All rights reserved.
3
4#pragma once
5
6#include "ck_tile/core.hpp"
11
12namespace ck_tile {
13
14template <typename Problem, typename Policy>
16{
17 static constexpr bool has_dpad1 =
18 Problem::Traits::kPadHeadDimQ == 1 || Problem::Traits::kPadHeadDimV == 1;
19 static constexpr bool is_decode = Problem::BlockFmhaShape::kMaxSeqLenQ > 0;
20
21 public:
22 template <typename... TS>
23 using type_ =
24 std::conditional_t<Problem::kUseTrLoad,
25 std::conditional_t<is_decode,
28 std::conditional_t<has_dpad1,
31 using type = std::conditional_t<std::is_same_v<Policy, void>, //
34};
35
36template <typename Problem, typename Policy = void>
38{
39 public:
40 static constexpr const char* name = "auto";
41};
42
43} // namespace ck_tile
Definition block_fmha_bwd_dq_dk_dv_pipeline_selector.hpp:38
static constexpr const char * name
Definition block_fmha_bwd_dq_dk_dv_pipeline_selector.hpp:40
Definition block_fmha_bwd_dq_dk_dv_pipeline_selector.hpp:16
std::conditional_t< Problem::kUseTrLoad, std::conditional_t< is_decode, BlockFmhaBwdDQDKDVPipelineTrLoadQRQTRDOR< TS... >, BlockFmhaBwdDQDKDVPipelineTrLoadKRKTRVR< TS... > >, std::conditional_t< has_dpad1, BlockFmhaBwdDQDKDVPipelineKRKTRVR< TS... >, BlockFmhaBwdDQDKDVPipelineKRKTRVRIGLP< TS... > > > type_
Definition block_fmha_bwd_dq_dk_dv_pipeline_selector.hpp:23
std::conditional_t< std::is_same_v< Policy, void >, type_< Problem >, type_< Problem, Policy > > type
Definition block_fmha_bwd_dq_dk_dv_pipeline_selector.hpp:31
Definition tile/core/algorithm/cluster_descriptor.hpp:13
Definition block_fmha_bwd_dq_dk_dv_pipeline_kr_ktr_vr.hpp:16
Definition block_fmha_bwd_dq_dk_dv_pipeline_kr_ktr_vr_iglp.hpp:16
Definition block_fmha_bwd_dq_dk_dv_pipeline_trload_kr_ktr_vr.hpp:16
Definition block_fmha_bwd_dq_dk_dv_pipeline_trload_qr_qtr_dor.hpp:16