gemm_bquant_pipeline_ag_bg_cr_v3.hpp Source File#
gemm_bquant_pipeline_ag_bg_cr_v3.hpp
Go to the documentation of this file.
124 static constexpr index_t GetVectorSizeA() { return Policy::template GetVectorSizeA<Problem>(); }
125 static constexpr index_t GetVectorSizeB() { return Policy::template GetVectorSizeB<Problem>(); }
126 static constexpr index_t GetVectorSizeC() { return Policy::template GetVectorSizeC<Problem>(); }
Definition tile/core/algorithm/cluster_descriptor.hpp:13
remove_cv_t< std::remove_reference_t< T > > remove_cvref_t
Definition type_traits.hpp:21
constant< b > bool_constant
Definition tile/core/numeric/integral_constant.hpp:43
CK_TILE_DEVICE void tile_elementwise_inout(const InOutElementFunc &inout_element_func, InOutDstrTensors &... inout_dstr_tensors)
Definition tile_elementwise.hpp:23
auto concat(const Ts &... xs) -> std::enable_if_t<!AllConvertibleToStringView< Ts... >, std::string >
Definition concat.hpp:43
CK_TILE_DEVICE void transpose_tile2d(OutTensor &out, const InTensor &in)
Definition transpose_tile.hpp:195
CK_TILE_HOST_DEVICE constexpr auto make_static_distributed_tensor(const StaticTileDistribution &)
Definition static_distributed_tensor.hpp:142
CK_TILE_HOST_DEVICE constexpr auto make_static_tile_distribution(StaticTileDistributionEncoding_)
Definition tile_distribution.hpp:480
GemmPipelineScheduler
Definition gemm_pipeline_ag_bg_cr_scheduler.hpp:14
@ Intrawave
Definition gemm_pipeline_ag_bg_cr_scheduler.hpp:16
CK_TILE_HOST_DEVICE constexpr details::return_type< D, Ts... > make_array(Ts &&... ts)
Definition tile/core/container/array.hpp:242
CK_TILE_DEVICE auto operator()(const ADramBlockWindowTmp &a_dram_block_window_tmp, const AElementFunction &a_element_func, const BDramBlockWindowTmp &b_dram_block_window_tmp, const BElementFunction &b_element_func, const BQDramBlockWindowTmp &bq_dram_block_window_tmp, index_t num_loop, void *p_smem) const
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:236
PipelineImplBase Base
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:227
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:221
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:85
static constexpr auto TailNum
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:142
static constexpr index_t GetSmemPackB()
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:133
remove_cvref_t< typename Problem::BlockGemmShape > BlockGemmShape
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:93
static constexpr index_t GetVectorSizeC()
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:126
remove_cvref_t< typename Problem::BQLayout > BQLayout
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:110
remove_cvref_t< typename Problem::CDataType > CDataType
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:92
remove_cvref_t< typename Problem::ALayout > ALayout
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:109
number< 1 > I1
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:98
static constexpr bool kPadM
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:135
remove_cvref_t< typename Problem::BQDataType > BQDataType
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:91
static CK_TILE_HOST_DEVICE constexpr index_t GetSmemSize()
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:161
static constexpr index_t GetVectorSizeBQ()
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:127
static CK_TILE_HOST const std::string GetName()
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:147
static constexpr index_t GetSmemPackA()
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:132
remove_cvref_t< typename Problem::QuantGroupSize > QuantGroupSize
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:94
static constexpr index_t GetVectorSizeB()
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:125
GemmBQuantPipelineAgBgCrImplBase< Problem, Policy > PipelineImplBase
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:87
remove_cvref_t< typename Problem::BLayout > BLayout
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:111
static constexpr index_t BQPackedSize
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:106
remove_cvref_t< typename Problem::BDataType > BDataType
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:90
BaseGemmPipelineAgBgCrCompV3< Problem > Base
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:86
number< 0 > I0
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:97
remove_cvref_t< decltype(Policy::template GetBlockGemm< Problem >())> BlockGemm
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:114
CK_TILE_DEVICE auto operator()(const ADramBlockWindowTmp &a_dram_block_window_tmp, const BDramBlockWindowTmp &b_dram_block_window_tmp, const BQDramBlockWindowTmp &bq_dram_block_window_tmp, index_t num_loop, bool has_hot_loop, TailNumber tail_number, void *p_smem) const
Runtime pipeline dispatch operator for grouped GEMM kernels.
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:499
static constexpr bool kPadN
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:136
number< 2 > I2
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:99
static CK_TILE_HOST std::string Print()
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:166
CK_TILE_DEVICE auto operator()(const ADramBlockWindowTmp &a_dram_block_window_tmp, const BDramBlockWindowTmp &b_dram_block_window_tmp, const BQDramBlockWindowTmp &bq_dram_block_window_tmp, index_t num_loop, void *p_smem) const
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:463
static constexpr bool kPadK
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:137
remove_cvref_t< typename Problem::ADataType > ADataType
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:89
static constexpr index_t PrefetchStages
Definition gemm_pipeline_ag_bg_cr_comp_v3.hpp:19
static constexpr index_t BPackedSize
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:103
static constexpr bool HasHotLoop
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:141
static constexpr index_t NPerBlock
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:118
remove_cvref_t< typename Problem::CLayout > CLayout
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:112
static constexpr auto Scheduler
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:143
static constexpr bool DoubleSmemBuffer
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:139
static constexpr index_t KPerBlockBQ
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:122
static constexpr index_t NPerBlockBQ
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:121
static constexpr index_t GetVectorSizeA()
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:124
static constexpr index_t BlockSize
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:116
static constexpr index_t KPerBlock
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:119
static constexpr index_t APackedSize
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:101
static constexpr index_t MPerBlock
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:117
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:25
static CK_TILE_HOST_DEVICE auto TailHandler(const RunFunction &run_func, bool has_hot_loop, TailNumber tail_number)
Definition gemm_bquant_pipeline_ag_bg_cr_v3.hpp:28
Definition gemm_pipeline_ag_bg_cr_comp_v3.hpp:18
static constexpr index_t PrefetchStages
Definition gemm_pipeline_ag_bg_cr_comp_v3.hpp:19
static CK_TILE_HOST_DEVICE auto TailHandler(const RunFunction &run_func, bool has_hot_loop, TailNumber tail_number)
Definition gemm_pipeline_ag_bg_cr_comp_v3.hpp:50
Definition gemm_bquant_pipeline_ag_bg_cr_base.hpp:14
static constexpr index_t KPerBlock
Definition gemm_bquant_pipeline_ag_bg_cr_base.hpp:27
static constexpr index_t KPerBlockBQ
Definition gemm_bquant_pipeline_ag_bg_cr_base.hpp:30
static constexpr index_t NPerBlockBQ
Definition gemm_bquant_pipeline_ag_bg_cr_base.hpp:29
static constexpr index_t NPerBlock
Definition gemm_bquant_pipeline_ag_bg_cr_base.hpp:26
CK_TILE_DEVICE constexpr auto GetBQDramLoadWindow(const BQDramBlockWindowTmp &bq_dram_block_window_tmp) const
Definition gemm_bquant_pipeline_ag_bg_cr_base.hpp:43
typename Base::BDataType BDataType
Definition gemm_bquant_pipeline_ag_bg_cr_base.hpp:18
static constexpr index_t MPerBlock
Definition gemm_bquant_pipeline_ag_bg_cr_base.hpp:25
CK_TILE_DEVICE constexpr auto GetBWindows(const BDramBlockWindowTmp &b_dram_block_window_tmp, const BLdsTensorView &b_lds_block_view, const BLdsLoadTileDistr &, const array< index_t, 2 > &offset={0, 0}) const
Definition gemm_pipeline_ag_bg_cr_base.hpp:225
CK_TILE_DEVICE auto GetABLdsTensorViews(void *p_smem) const
Definition gemm_pipeline_ag_bg_cr_base.hpp:83
CK_TILE_DEVICE void LocalPrefill(DstTileWindow &lds_tile_window, const SrcBlockTile &src_block_tile, const ElementFunction &element_func) const
Definition gemm_pipeline_ag_bg_cr_base.hpp:57
CK_TILE_DEVICE constexpr auto GetAWindows(const ADramBlockWindowTmp &a_dram_block_window_tmp, const ALdsTensorView &a_lds_block_view, const ALdsLoadTileDistr &, const array< index_t, 2 > &offset={0, 0}) const
Definition gemm_pipeline_ag_bg_cr_base.hpp:190
CK_TILE_DEVICE void GlobalPrefetch(DstBlockTile &dst_block_tile, SrcTileWindow &dram_tile_window, const DramTileWindowStep &dram_tile_window_step) const
Definition gemm_pipeline_ag_bg_cr_base.hpp:39
Definition tile/core/numeric/integral_constant.hpp:30
Definition tile/core/numeric/numeric.hpp:81