#include <fmha_fwd_splitkv_combine_kernel.hpp>
|
| static CK_TILE_HOST std::string | GetName () |
| template<bool Cond = !kIsGroupMode> |
| static CK_TILE_HOST constexpr std::enable_if_t< Cond, Kargs > | MakeKargs (const void *lse_acc_ptr, const void *o_acc_ptr, void *lse_ptr, void *o_ptr, ck_tile::index_t batch, ck_tile::index_t seqlen_q, ck_tile::index_t hdim_v, ck_tile::index_t num_splits, float scale_o, ck_tile::index_t row_stride_o_acc, ck_tile::index_t row_stride_o, ck_tile::index_t nhead_stride_lse_acc, ck_tile::index_t nhead_stride_o_acc, ck_tile::index_t nhead_stride_lse, ck_tile::index_t nhead_stride_o, ck_tile::index_t batch_stride_lse_acc, ck_tile::index_t batch_stride_o_acc, ck_tile::index_t batch_stride_lse, ck_tile::index_t batch_stride_o, ck_tile::index_t split_stride_lse_acc, ck_tile::index_t split_stride_o_acc) |
| template<bool Cond = kIsGroupMode> |
| static CK_TILE_HOST constexpr std::enable_if_t< Cond, Kargs > | MakeKargs (const void *lse_acc_ptr, const void *o_acc_ptr, void *lse_ptr, void *o_ptr, ck_tile::index_t batch, const void *seqstart_q_ptr, ck_tile::index_t hdim_v, ck_tile::index_t num_splits, float scale_o, ck_tile::index_t row_stride_o_acc, ck_tile::index_t row_stride_o, ck_tile::index_t nhead_stride_lse_acc, ck_tile::index_t nhead_stride_o_acc, ck_tile::index_t nhead_stride_lse, ck_tile::index_t nhead_stride_o, ck_tile::index_t split_stride_lse_acc, ck_tile::index_t split_stride_o_acc) |
| static CK_TILE_HOST constexpr auto | GridSize (ck_tile::index_t batch_size, ck_tile::index_t nhead, ck_tile::index_t max_seqlen_q, ck_tile::index_t hdim_v) |
| static CK_TILE_DEVICE constexpr auto | GetTileIndex (const Kargs &kargs) |
| static CK_TILE_HOST dim3 | BlockSize () |
| static CK_TILE_HOST_DEVICE constexpr ck_tile::index_t | GetSmemSize () |
◆ EpiloguePipeline
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ FmhaPipeline
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ Kargs
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ LSEDataType
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ OaccDataType
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ ODataType
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ BlockSize()
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ GetName()
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ GetSmemSize()
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ GetTileIndex()
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ GridSize()
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ MakeKargs() [1/2]
template<typename FmhaPipeline_, typename EpiloguePipeline_>
template<bool Cond = !kIsGroupMode>
| CK_TILE_HOST constexpr std::enable_if_t< Cond, Kargs > ck_tile::FmhaFwdSplitKVCombineKernel< FmhaPipeline_, EpiloguePipeline_ >::MakeKargs |
( |
const void * | lse_acc_ptr, |
|
|
const void * | o_acc_ptr, |
|
|
void * | lse_ptr, |
|
|
void * | o_ptr, |
|
|
ck_tile::index_t | batch, |
|
|
ck_tile::index_t | seqlen_q, |
|
|
ck_tile::index_t | hdim_v, |
|
|
ck_tile::index_t | num_splits, |
|
|
float | scale_o, |
|
|
ck_tile::index_t | row_stride_o_acc, |
|
|
ck_tile::index_t | row_stride_o, |
|
|
ck_tile::index_t | nhead_stride_lse_acc, |
|
|
ck_tile::index_t | nhead_stride_o_acc, |
|
|
ck_tile::index_t | nhead_stride_lse, |
|
|
ck_tile::index_t | nhead_stride_o, |
|
|
ck_tile::index_t | batch_stride_lse_acc, |
|
|
ck_tile::index_t | batch_stride_o_acc, |
|
|
ck_tile::index_t | batch_stride_lse, |
|
|
ck_tile::index_t | batch_stride_o, |
|
|
ck_tile::index_t | split_stride_lse_acc, |
|
|
ck_tile::index_t | split_stride_o_acc ) |
|
inlinestaticconstexpr |
◆ MakeKargs() [2/2]
template<typename FmhaPipeline_, typename EpiloguePipeline_>
template<bool Cond = kIsGroupMode>
| CK_TILE_HOST constexpr std::enable_if_t< Cond, Kargs > ck_tile::FmhaFwdSplitKVCombineKernel< FmhaPipeline_, EpiloguePipeline_ >::MakeKargs |
( |
const void * | lse_acc_ptr, |
|
|
const void * | o_acc_ptr, |
|
|
void * | lse_ptr, |
|
|
void * | o_ptr, |
|
|
ck_tile::index_t | batch, |
|
|
const void * | seqstart_q_ptr, |
|
|
ck_tile::index_t | hdim_v, |
|
|
ck_tile::index_t | num_splits, |
|
|
float | scale_o, |
|
|
ck_tile::index_t | row_stride_o_acc, |
|
|
ck_tile::index_t | row_stride_o, |
|
|
ck_tile::index_t | nhead_stride_lse_acc, |
|
|
ck_tile::index_t | nhead_stride_o_acc, |
|
|
ck_tile::index_t | nhead_stride_lse, |
|
|
ck_tile::index_t | nhead_stride_o, |
|
|
ck_tile::index_t | split_stride_lse_acc, |
|
|
ck_tile::index_t | split_stride_o_acc ) |
|
inlinestaticconstexpr |
◆ operator()()
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ kBlockPerCu
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ kBlockPerCuInput
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ kBlockSize
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ kDoFp8StaticQuant
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ kIsGroupMode
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ kNumWarps
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ kPadHeadDimV
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ kPadSeqLenQ
template<typename FmhaPipeline_, typename EpiloguePipeline_>
◆ kStoreLSE
template<typename FmhaPipeline_, typename EpiloguePipeline_>
The documentation for this struct was generated from the following file: