AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ > Struct Template Reference#
Public Types |
Public Member Functions |
Static Public Member Functions |
Static Public Attributes |
List of all members
ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ > Struct Template Reference
#include <block_universal_gemm_as_aquant_bs_cr.hpp>
Inheritance diagram for ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >:
Public Types | |
| using | Traits = GemmTraits_<Problem_, Policy_> |
| using | ADataType = remove_cvref_t<typename Traits::ADataType> |
| using | AQDataType = remove_cvref_t<typename Traits::AQDataType> |
| using | BDataType = remove_cvref_t<typename Traits::BDataType> |
| using | ComputeDataType = remove_cvref_t<typename Traits::ComputeDataType> |
| using | CDataType = remove_cvref_t<typename Traits::CDataType> |
| using | Base = BlockGemmAQuantBase<Problem_> |
| using | Loader = remove_cvref_t<InterleavedPKTypeLoader<ComputeDataType, UnaryOpSize_>> |
| using | WarpGemm = remove_cvref_t<typename Traits::WarpGemm> |
| using | AWarpDstr = typename WarpGemm::AWarpDstr |
| using | BWarpDstr = typename WarpGemm::BWarpDstr |
| using | CWarpDstr = typename WarpGemm::CWarpDstr |
| using | AWarpTensor = typename WarpGemm::AWarpTensor |
| using | BWarpTensor = typename WarpGemm::BWarpTensor |
| using | CWarpTensor = typename WarpGemm::CWarpTensor |
| using | I0 = number<0> |
| using | I1 = number<1> |
| Public Types inherited from ck_tile::BlockGemmAQuantBase< Problem_ > | |
| using | AQDataType |
| using | ComputeDataType |
Public Member Functions | |
| template<typename ASmemBlockWindow, typename BSmemBlockWindow> | |
| CK_TILE_DEVICE void | LocalPrefetch (const ASmemBlockWindow &a_block_window, const BSmemBlockWindow &b_block_window) |
| template<typename CBlockTensor, typename AQBlockTensor, typename ASmemBlockWindow, typename BSmemBlockWindow> | |
| CK_TILE_DEVICE void | operator() (CBlockTensor &c_block_tensor, AQBlockTensor &aq_block_tensor, const ASmemBlockWindow &a_block_window, const BSmemBlockWindow &b_block_window) |
Static Public Member Functions | |
| static CK_TILE_DEVICE constexpr auto | MakeABlockDistributionEncode () |
| static CK_TILE_DEVICE constexpr auto | MakeBBlockDistributionEncode () |
| static CK_TILE_DEVICE constexpr auto | MakeCBlockTile () |
| Static Public Member Functions inherited from ck_tile::BlockGemmAQuantBase< Problem_ > | |
| static CK_TILE_DEVICE float | cvt_scale_to_fp32 (T scale) |
Static Public Attributes | |
| static constexpr index_t | KIterPerWarp = Traits::KIterPerWarp |
| static constexpr index_t | MIterPerWarp = Traits::MIterPerWarp |
| static constexpr index_t | NIterPerWarp = Traits::NIterPerWarp |
| static constexpr index_t | MWarp = Traits::MWarp |
| static constexpr index_t | NWarp = Traits::NWarp |
| static constexpr auto | Scheduler = Traits::Scheduler |
| static constexpr auto | a_warp_y_lengths |
| static constexpr auto | b_warp_y_lengths |
| static constexpr auto | c_warp_y_lengths |
| static constexpr auto | a_warp_y_index_zeros = uniform_sequence_gen_t<AWarpDstr::NDimY, 0>{} |
| static constexpr auto | b_warp_y_index_zeros = uniform_sequence_gen_t<BWarpDstr::NDimY, 0>{} |
| static constexpr auto | c_warp_y_index_zeros = uniform_sequence_gen_t<CWarpDstr::NDimY, 0>{} |
| static constexpr index_t | APackedSize |
| static constexpr index_t | BPackedSize |
Member Typedef Documentation
◆ ADataType
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::ADataType = remove_cvref_t<typename Traits::ADataType> |
◆ AQDataType
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::AQDataType = remove_cvref_t<typename Traits::AQDataType> |
◆ AWarpDstr
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::AWarpDstr = typename WarpGemm::AWarpDstr |
◆ AWarpTensor
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::AWarpTensor = typename WarpGemm::AWarpTensor |
◆ Base
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::Base = BlockGemmAQuantBase<Problem_> |
◆ BDataType
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::BDataType = remove_cvref_t<typename Traits::BDataType> |
◆ BWarpDstr
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::BWarpDstr = typename WarpGemm::BWarpDstr |
◆ BWarpTensor
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::BWarpTensor = typename WarpGemm::BWarpTensor |
◆ CDataType
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::CDataType = remove_cvref_t<typename Traits::CDataType> |
◆ ComputeDataType
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::ComputeDataType = remove_cvref_t<typename Traits::ComputeDataType> |
◆ CWarpDstr
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::CWarpDstr = typename WarpGemm::CWarpDstr |
◆ CWarpTensor
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::CWarpTensor = typename WarpGemm::CWarpTensor |
◆ I0
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::I0 = number<0> |
◆ I1
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::I1 = number<1> |
◆ Loader
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::Loader = remove_cvref_t<InterleavedPKTypeLoader<ComputeDataType, UnaryOpSize_>> |
◆ Traits
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::Traits = GemmTraits_<Problem_, Policy_> |
◆ WarpGemm
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
| using ck_tile::AQuantBlockUniversalGemmAsBsCr< Problem_, Policy_, UnaryOpSize_ >::WarpGemm = remove_cvref_t<typename Traits::WarpGemm> |
Member Function Documentation
◆ LocalPrefetch()
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
template<typename ASmemBlockWindow, typename BSmemBlockWindow>
|
inline |
◆ MakeABlockDistributionEncode()
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
inlinestaticconstexpr |
◆ MakeBBlockDistributionEncode()
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
inlinestaticconstexpr |
◆ MakeCBlockTile()
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
inlinestaticconstexpr |
◆ operator()()
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
template<typename CBlockTensor, typename AQBlockTensor, typename ASmemBlockWindow, typename BSmemBlockWindow>
|
inline |
Member Data Documentation
◆ a_warp_y_index_zeros
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
staticconstexpr |
◆ a_warp_y_lengths
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
staticconstexpr |
Initial value:
=
to_sequence(AWarpDstr{}.get_ys_to_d_descriptor().get_lengths())
CK_TILE_HOST_DEVICE constexpr auto to_sequence(tuple< number< Is >... >)
Definition tile/core/container/sequence.hpp:1055
typename WarpGemm::AWarpDstr AWarpDstr
Definition block_universal_gemm_as_bs_cr.hpp:109
◆ APackedSize
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
staticconstexpr |
Initial value:
=
ck_tile::numeric_traits<remove_cvref_t<ADataType>>::PackedSize
Definition tile/core/numeric/numeric.hpp:81
◆ b_warp_y_index_zeros
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
staticconstexpr |
◆ b_warp_y_lengths
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
staticconstexpr |
Initial value:
=
to_sequence(BWarpDstr{}.get_ys_to_d_descriptor().get_lengths())
typename WarpGemm::BWarpDstr BWarpDstr
Definition block_universal_gemm_as_bs_cr.hpp:110
◆ BPackedSize
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
staticconstexpr |
Initial value:
=
ck_tile::numeric_traits<remove_cvref_t<BDataType>>::PackedSize
◆ c_warp_y_index_zeros
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
staticconstexpr |
◆ c_warp_y_lengths
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
staticconstexpr |
Initial value:
=
to_sequence(CWarpDstr{}.get_ys_to_d_descriptor().get_lengths())
typename WarpGemm::CWarpDstr CWarpDstr
Definition block_universal_gemm_as_bs_cr.hpp:111
◆ KIterPerWarp
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
staticconstexpr |
◆ MIterPerWarp
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
staticconstexpr |
◆ MWarp
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
staticconstexpr |
◆ NIterPerWarp
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
staticconstexpr |
◆ NWarp
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
staticconstexpr |
◆ Scheduler
template<typename Problem_, typename Policy_ = BlockGemmASmemBSmemCRegV1DefaultPolicy, index_t UnaryOpSize_ = 8>
|
staticconstexpr |
The documentation for this struct was generated from the following file: