FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ > Struct Template Reference

FusedMoeGemmKernel&lt; Partitioner_, Pipeline_, Epilogue_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ > Struct Template Reference
ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ > Struct Template Reference

#include <fused_moegemm_kernel.hpp>

Classes

struct  t2s
struct  t2s< float >
struct  t2s< fp16_t >
struct  t2s< bf16_t >
struct  t2s< fp8_t >
struct  t2s< bf8_t >
struct  t2s< int8_t >
struct  FusedMoeGemmKargs

Public Types

using Partitioner = remove_cvref_t<Partitioner_>
using Pipeline = remove_cvref_t<Pipeline_>
using Epilogue = remove_cvref_t<Epilogue_>
using BlockShape = typename Pipeline::BlockShape
using ADataType = typename Pipeline::Problem::ADataType
using GDataType = typename Pipeline::Problem::GDataType
using DDataType = typename Pipeline::Problem::DDataType
using AccDataType = typename Pipeline::Problem::AccDataType
using ODataType = typename Pipeline::Problem::ODataType
using AScaleDataType = typename Pipeline::Problem::AScaleDataType
using GScaleDataType = typename Pipeline::Problem::GScaleDataType
using DScaleDataType = typename Pipeline::Problem::DScaleDataType
using YSmoothScaleDataType = typename Pipeline::Problem::YSmoothScaleDataType
using TopkWeightDataType = typename Pipeline::Problem::TopkWeightDataType
using IndexDataType = typename Pipeline::Problem::IndexDataType
using YDataType = typename Pipeline::Problem::YDataType
using Traits = typename Pipeline::Problem::Traits
using Kargs = FusedMoeGemmKargs
using Hargs = FusedMoeGemmHostArgs

Public Member Functions

CK_TILE_DEVICE void operator() (Kargs kargs) const

Static Public Member Functions

static CK_TILE_HOST std::string GetName ()
static CK_TILE_HOST constexpr Kargs MakeKargs (const Hargs &hargs)
static CK_TILE_HOST constexpr auto GridSize (const Hargs &hargs)
static CK_TILE_HOST constexpr auto BlockSize ()
static CK_TILE_HOST_DEVICE constexpr index_t GetSmemSize ()

Static Public Attributes

static constexpr index_t kBlockSize = BlockShape::BlockSize
static constexpr bool UseUK = true
static constexpr bool IsGateOnly = Traits::IsGateOnly
static constexpr bool UseSmoothQuant = Traits::UseSmoothQuant
static constexpr bool PadHiddenSize = Traits::PadHiddenSize
static constexpr bool PadIntermediateSize = Traits::PadIntermediateSize

Member Typedef Documentation

◆ AccDataType

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::AccDataType = typename Pipeline::Problem::AccDataType

◆ ADataType

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::ADataType = typename Pipeline::Problem::ADataType

◆ AScaleDataType

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::AScaleDataType = typename Pipeline::Problem::AScaleDataType

◆ BlockShape

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::BlockShape = typename Pipeline::BlockShape

◆ DDataType

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::DDataType = typename Pipeline::Problem::DDataType

◆ DScaleDataType

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::DScaleDataType = typename Pipeline::Problem::DScaleDataType

◆ Epilogue

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::Epilogue = remove_cvref_t<Epilogue_>

◆ GDataType

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::GDataType = typename Pipeline::Problem::GDataType

◆ GScaleDataType

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::GScaleDataType = typename Pipeline::Problem::GScaleDataType

◆ Hargs

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::Hargs = FusedMoeGemmHostArgs

◆ IndexDataType

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::IndexDataType = typename Pipeline::Problem::IndexDataType

◆ Kargs

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::Kargs = FusedMoeGemmKargs

◆ ODataType

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::ODataType = typename Pipeline::Problem::ODataType

◆ Partitioner

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::Partitioner = remove_cvref_t<Partitioner_>

◆ Pipeline

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::Pipeline = remove_cvref_t<Pipeline_>

◆ TopkWeightDataType

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::TopkWeightDataType = typename Pipeline::Problem::TopkWeightDataType

◆ Traits

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::Traits = typename Pipeline::Problem::Traits

◆ YDataType

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::YDataType = typename Pipeline::Problem::YDataType

◆ YSmoothScaleDataType

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
using ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::YSmoothScaleDataType = typename Pipeline::Problem::YSmoothScaleDataType

Member Function Documentation

◆ BlockSize()

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
CK_TILE_HOST constexpr auto ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::BlockSize ( )
inlinestaticconstexpr

◆ GetName()

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
CK_TILE_HOST std::string ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::GetName ( )
inlinestatic

◆ GetSmemSize()

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
CK_TILE_HOST_DEVICE constexpr index_t ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::GetSmemSize ( )
inlinestaticconstexpr

◆ GridSize()

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
CK_TILE_HOST constexpr auto ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::GridSize ( const Hargs & hargs)
inlinestaticconstexpr

◆ MakeKargs()

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
CK_TILE_HOST constexpr Kargs ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::MakeKargs ( const Hargs & hargs)
inlinestaticconstexpr

◆ operator()()

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
CK_TILE_DEVICE void ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::operator() ( Kargs kargs) const
inline

Member Data Documentation

◆ IsGateOnly

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
bool ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::IsGateOnly = Traits::IsGateOnly
staticconstexpr

◆ kBlockSize

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
index_t ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::kBlockSize = BlockShape::BlockSize
staticconstexpr

◆ PadHiddenSize

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
bool ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::PadHiddenSize = Traits::PadHiddenSize
staticconstexpr

◆ PadIntermediateSize

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
bool ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::PadIntermediateSize = Traits::PadIntermediateSize
staticconstexpr

◆ UseSmoothQuant

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
bool ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::UseSmoothQuant = Traits::UseSmoothQuant
staticconstexpr

◆ UseUK

template<typename Partitioner_, typename Pipeline_, typename Epilogue_>
bool ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::UseUK = true
staticconstexpr

The documentation for this struct was generated from the following file: