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  FusedMoeGemmKargs
 
struct  t2s
 
struct  t2s< bf16_t >
 
struct  t2s< bf8_t >
 
struct  t2s< float >
 
struct  t2s< fp16_t >
 
struct  t2s< fp8_t >
 
struct  t2s< int8_t >
 

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 constexpr CK_TILE_HOST Kargs MakeKargs (const Hargs &hargs)
 
static constexpr CK_TILE_HOST auto GridSize (const Hargs &hargs)
 
static constexpr CK_TILE_HOST auto BlockSize ()
 
static constexpr CK_TILE_HOST_DEVICE index_t GetSmemSize ()
 

Static Public Attributes

static constexpr index_t BlockSize_ = 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_ >
static constexpr CK_TILE_HOST auto ck_tile::FusedMoeGemmKernel< Partitioner_, Pipeline_, Epilogue_ >::BlockSize ( )
inlinestaticconstexpr

◆ GetName()

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

◆ GetSmemSize()

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

◆ GridSize()

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

◆ MakeKargs()

template<typename Partitioner_ , typename Pipeline_ , typename Epilogue_ >
static constexpr CK_TILE_HOST 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

◆ BlockSize_

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

◆ IsGateOnly

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

◆ PadHiddenSize

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

◆ PadIntermediateSize

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

◆ UseSmoothQuant

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

◆ UseUK

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

The documentation for this struct was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck_tile/ops/fused_moe/kernel/fused_moegemm_kernel.hpp