BlockFmhaPipelineQXKSVSCustomPolicy< QLoadOnce_, AsyncCopy_, NumPrefetchK_, NumPrefetchV_ > Struct Template Reference#
Classes |
Public Types |
Static Public Member Functions |
Static Public Attributes |
List of all members
ck_tile::BlockFmhaPipelineQXKSVSCustomPolicy< QLoadOnce_, AsyncCopy_, NumPrefetchK_, NumPrefetchV_ > Struct Template Reference
#include <block_fmha_pipeline_qx_ks_vs_custom_policy.hpp>
Inheritance diagram for ck_tile::BlockFmhaPipelineQXKSVSCustomPolicy< QLoadOnce_, AsyncCopy_, NumPrefetchK_, NumPrefetchV_ >:
Classes | |
| struct | LdsBufferSequence |
| struct | LdsBufferSequence< 3, 3, 4, 4 > |
| struct | LdsBufferSequence< 3, 3, 4, 2 > |
| struct | LdsBufferSequence< 3, 3, 2, 4 > |
| struct | LdsBufferSequence< 3, 3, 3, 3 > |
| struct | LdsBufferSequence< 3, 3, 3, 4 > |
| struct | LdsBufferSequence< 3, 3, 2, 2 > |
Public Types | |
| using | QXPolicy = BlockFmhaPipelineQXCustomPolicy<QLoadOnce_> |
Static Public Member Functions | |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr auto | GetLdsBufferSequence () |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr auto | GetSmemKPackK () |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr auto | GetAlignmentK () |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr auto | GetSmemKPackV () |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr auto | GetAlignmentV () |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr auto | GetAlignmentBias () |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr auto | GetAlignmentO () |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr auto | GetSingleSmemElementSpaceSize () |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr auto | MakeKLdsBlockDescriptor () |
| template<typename Problem, index_t IBuf = 0> | |
| static CK_TILE_HOST_DEVICE constexpr auto | MakeKLdsStoreBlockDescriptor (number< IBuf >=number< 0 >{}) |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr auto | MakeKLdsLoadBlockDescriptor () |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr auto | MakeVLdsBlockDescriptor () |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr ck_tile::index_t | GetSmemSizeKV () |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr ck_tile::index_t | GetSmemSize () |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr std::enable_if_t< std::is_convertible_v< decltype(Problem::kHasDropout), bool >, ck_tile::index_t > | GetSmemSizeDropout (int) |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr ck_tile::index_t | GetSmemSizeDropout (...) |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr auto | MakeKDramTileDistribution () |
| template<typename Problem> | |
| static CK_TILE_DEVICE constexpr auto | MakeVDramTileDistribution () |
| template<typename BlockGemm> | |
| static CK_TILE_HOST_DEVICE constexpr auto | MakeBiasDramTileDistribution () |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr auto | MakeShuffledVRegBlockDescriptor () |
| template<typename Problem> | |
| static CK_TILE_HOST_DEVICE constexpr auto | GetKVBlockGemm () |
Static Public Attributes | |
| static constexpr bool | AsyncCopy = AsyncCopy_ |
| static constexpr index_t | NumPrefetchK = NumPrefetchK_ |
| static constexpr index_t | NumPrefetchV = NumPrefetchK_ |
| static constexpr index_t | NumKVLdsBuffers = max(NumPrefetchK, NumPrefetchV) |
Member Typedef Documentation
◆ QXPolicy
| using ck_tile::BlockFmhaPipelineQXKSVSCustomPolicy< QLoadOnce_, AsyncCopy_, NumPrefetchK_, NumPrefetchV_ >::QXPolicy = BlockFmhaPipelineQXCustomPolicy<QLoadOnce_> |
Member Function Documentation
◆ GetAlignmentBias()
template<typename Problem>
|
inlinestaticconstexpr |
◆ GetAlignmentK()
template<typename Problem>
|
inlinestaticconstexpr |
◆ GetAlignmentO()
template<typename Problem>
|
inlinestaticconstexpr |
◆ GetAlignmentV()
template<typename Problem>
|
inlinestaticconstexpr |
◆ GetKVBlockGemm()
template<typename Problem>
|
inlinestaticconstexpr |
◆ GetLdsBufferSequence()
template<typename Problem>
|
inlinestaticconstexpr |
◆ GetSingleSmemElementSpaceSize()
template<typename Problem>
|
inlinestaticconstexpr |
◆ GetSmemKPackK()
template<typename Problem>
|
inlinestaticconstexpr |
◆ GetSmemKPackV()
template<typename Problem>
|
inlinestaticconstexpr |
◆ GetSmemSize()
template<typename Problem>
|
inlinestaticconstexpr |
◆ GetSmemSizeDropout() [1/2]
template<typename Problem>
|
inlinestaticconstexpr |
◆ GetSmemSizeDropout() [2/2]
template<typename Problem>
|
inlinestaticconstexpr |
◆ GetSmemSizeKV()
template<typename Problem>
|
inlinestaticconstexpr |
◆ MakeBiasDramTileDistribution()
template<typename BlockGemm>
|
inlinestaticconstexpr |
◆ MakeKDramTileDistribution()
template<typename Problem>
|
inlinestaticconstexpr |
◆ MakeKLdsBlockDescriptor()
template<typename Problem>
|
inlinestaticconstexpr |
◆ MakeKLdsLoadBlockDescriptor()
template<typename Problem>
|
inlinestaticconstexpr |
◆ MakeKLdsStoreBlockDescriptor()
template<typename Problem, index_t IBuf = 0>
|
inlinestaticconstexpr |
◆ MakeShuffledVRegBlockDescriptor()
template<typename Problem>
|
inlinestaticconstexpr |
◆ MakeVDramTileDistribution()
template<typename Problem>
|
inlinestaticconstexpr |
◆ MakeVLdsBlockDescriptor()
template<typename Problem>
|
inlinestaticconstexpr |
Member Data Documentation
◆ AsyncCopy
|
staticconstexpr |
◆ NumKVLdsBuffers
|
staticconstexpr |
◆ NumPrefetchK
|
staticconstexpr |
◆ NumPrefetchV
|
staticconstexpr |
The documentation for this struct was generated from the following file: