BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ > Struct Template Reference

BlockGemmARegBRegCRegV1&lt; Problem_, Policy_, TransposeC_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ > Struct Template Reference
ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ > Struct Template Reference

#include <block_gemm_areg_breg_creg_v1.hpp>

Public Types

using Problem = remove_cvref_t<Problem_>
using Policy = remove_cvref_t<Policy_>
using Traits = GemmTraits_<Problem, Policy>
using WarpGemm = typename Traits::WarpGemm
using BlockGemmShape = typename Traits::BlockGemmShape
using ADataType = remove_cvref_t<typename Traits::ADataType>
using BDataType = remove_cvref_t<typename Traits::BDataType>
using CDataType = remove_cvref_t<typename Traits::CDataType>

Public Member Functions

template<typename CBlockTensor, typename ABlockTensor, typename BBlockTensor>
CK_TILE_DEVICE void operator() (CBlockTensor &c_block_tensor, const ABlockTensor &a_block_tensor, const BBlockTensor &b_block_tensor) const
template<typename ABlockTensor, typename BBlockTensor>
CK_TILE_DEVICE auto operator() (const ABlockTensor &a_block_tensor, const BBlockTensor &b_block_tensor) const

Static Public Member Functions

static CK_TILE_DEVICE constexpr auto MakeABlockDistributionEncode ()
static CK_TILE_DEVICE constexpr auto MakeBBlockDistributionEncode ()
static CK_TILE_DEVICE constexpr auto MakeCBlockDistributionEncode ()
static CK_TILE_DEVICE constexpr auto MakeCBlockTile ()

Static Public Attributes

static constexpr bool TransposeC = TransposeC_
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 bool UseDefaultScheduler = (Problem::NumWaveGroups != 1)

Member Typedef Documentation

◆ ADataType

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
using ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::ADataType = remove_cvref_t<typename Traits::ADataType>

◆ BDataType

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
using ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::BDataType = remove_cvref_t<typename Traits::BDataType>

◆ BlockGemmShape

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
using ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::BlockGemmShape = typename Traits::BlockGemmShape

◆ CDataType

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
using ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::CDataType = remove_cvref_t<typename Traits::CDataType>

◆ Policy

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
using ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::Policy = remove_cvref_t<Policy_>

◆ Problem

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
using ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::Problem = remove_cvref_t<Problem_>

◆ Traits

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
using ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::Traits = GemmTraits_<Problem, Policy>

◆ WarpGemm

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
using ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::WarpGemm = typename Traits::WarpGemm

Member Function Documentation

◆ MakeABlockDistributionEncode()

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
CK_TILE_DEVICE constexpr auto ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::MakeABlockDistributionEncode ( )
inlinestaticconstexpr

◆ MakeBBlockDistributionEncode()

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
CK_TILE_DEVICE constexpr auto ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::MakeBBlockDistributionEncode ( )
inlinestaticconstexpr

◆ MakeCBlockDistributionEncode()

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
CK_TILE_DEVICE constexpr auto ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::MakeCBlockDistributionEncode ( )
inlinestaticconstexpr

◆ MakeCBlockTile()

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
CK_TILE_DEVICE constexpr auto ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::MakeCBlockTile ( )
inlinestaticconstexpr

◆ operator()() [1/2]

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
template<typename CBlockTensor, typename ABlockTensor, typename BBlockTensor>
CK_TILE_DEVICE void ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::operator() ( CBlockTensor & c_block_tensor,
const ABlockTensor & a_block_tensor,
const BBlockTensor & b_block_tensor ) const
inline

◆ operator()() [2/2]

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
template<typename ABlockTensor, typename BBlockTensor>
CK_TILE_DEVICE auto ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::operator() ( const ABlockTensor & a_block_tensor,
const BBlockTensor & b_block_tensor ) const
inline

Member Data Documentation

◆ KIterPerWarp

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
index_t ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::KIterPerWarp = Traits::KIterPerWarp
staticconstexpr

◆ MIterPerWarp

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
index_t ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::MIterPerWarp = Traits::MIterPerWarp
staticconstexpr

◆ MWarp

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
index_t ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::MWarp = Traits::MWarp
staticconstexpr

◆ NIterPerWarp

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
index_t ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::NIterPerWarp = Traits::NIterPerWarp
staticconstexpr

◆ NWarp

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
index_t ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::NWarp = Traits::NWarp
staticconstexpr

◆ TransposeC

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
bool ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::TransposeC = TransposeC_
staticconstexpr

◆ UseDefaultScheduler

template<typename Problem_, typename Policy_ = BlockGemmARegBRegCRegV1DefaultPolicy, bool TransposeC_ = false>
bool ck_tile::BlockGemmARegBRegCRegV1< Problem_, Policy_, TransposeC_ >::UseDefaultScheduler = (Problem::NumWaveGroups != 1)
staticconstexpr

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