BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ > Struct Template Reference

BlockFlatmmASmemBSmemCRegV1&lt; Problem_, BlockPolicy_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ > Struct Template Reference
ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ > Struct Template Reference

#include <block_flatmm_asmem_bsmem_creg_v1.hpp>

Public Types

using Problem = remove_cvref_t< Problem_ >
 
using BlockPolicy = remove_cvref_t< BlockPolicy_ >
 
using ADataType = remove_cvref_t< typename Problem::ADataType >
 
using BDataType = remove_cvref_t< typename Problem::BDataType >
 
using CDataType = remove_cvref_t< typename Problem::CDataType >
 
using BlockGemmShape = remove_cvref_t< typename Problem::BlockGemmShape >
 
using BlockTile = remove_cvref_t< typename BlockGemmShape::BlockTile >
 
using BlockWarps = remove_cvref_t< typename BlockGemmShape::BlockWarps >
 
using WarpTile = remove_cvref_t< typename BlockGemmShape::WarpTile >
 

Public Member Functions

template<typename CBlockTensor , typename ABlockWindow , typename BFlatBlockTensor >
CK_TILE_DEVICE void operator() (CBlockTensor &c_block_tensor, ABlockWindow &a_warp_windows, BFlatBlockTensor &b_warp_tensor) const
 

Static Public Member Functions

static constexpr CK_TILE_DEVICE auto MakeCBlockTile ()
 

Static Public Attributes

static constexpr auto I0 = number<0>()
 
static constexpr auto I1 = number<1>()
 
static constexpr auto I2 = number<2>()
 
static constexpr auto idxM = I0
 
static constexpr auto idxN = I1
 
static constexpr auto idxK = I2
 
static constexpr index_t kBlockSize = Problem::kBlockSize
 

Member Typedef Documentation

◆ ADataType

template<typename Problem_ , typename BlockPolicy_ >
using ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::ADataType = remove_cvref_t<typename Problem::ADataType>

◆ BDataType

template<typename Problem_ , typename BlockPolicy_ >
using ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::BDataType = remove_cvref_t<typename Problem::BDataType>

◆ BlockGemmShape

template<typename Problem_ , typename BlockPolicy_ >
using ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::BlockGemmShape = remove_cvref_t<typename Problem::BlockGemmShape>

◆ BlockPolicy

template<typename Problem_ , typename BlockPolicy_ >
using ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::BlockPolicy = remove_cvref_t<BlockPolicy_>

◆ BlockTile

template<typename Problem_ , typename BlockPolicy_ >
using ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::BlockTile = remove_cvref_t<typename BlockGemmShape::BlockTile>

◆ BlockWarps

template<typename Problem_ , typename BlockPolicy_ >
using ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::BlockWarps = remove_cvref_t<typename BlockGemmShape::BlockWarps>

◆ CDataType

template<typename Problem_ , typename BlockPolicy_ >
using ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::CDataType = remove_cvref_t<typename Problem::CDataType>

◆ Problem

template<typename Problem_ , typename BlockPolicy_ >
using ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::Problem = remove_cvref_t<Problem_>

◆ WarpTile

template<typename Problem_ , typename BlockPolicy_ >
using ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::WarpTile = remove_cvref_t<typename BlockGemmShape::WarpTile>

Member Function Documentation

◆ MakeCBlockTile()

template<typename Problem_ , typename BlockPolicy_ >
static constexpr CK_TILE_DEVICE auto ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::MakeCBlockTile ( )
inlinestaticconstexpr

◆ operator()()

template<typename Problem_ , typename BlockPolicy_ >
template<typename CBlockTensor , typename ABlockWindow , typename BFlatBlockTensor >
CK_TILE_DEVICE void ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::operator() ( CBlockTensor &  c_block_tensor,
ABlockWindow &  a_warp_windows,
BFlatBlockTensor &  b_warp_tensor 
) const
inline

Member Data Documentation

◆ I0

template<typename Problem_ , typename BlockPolicy_ >
constexpr auto ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::I0 = number<0>()
staticconstexpr

◆ I1

template<typename Problem_ , typename BlockPolicy_ >
constexpr auto ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::I1 = number<1>()
staticconstexpr

◆ I2

template<typename Problem_ , typename BlockPolicy_ >
constexpr auto ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::I2 = number<2>()
staticconstexpr

◆ idxK

template<typename Problem_ , typename BlockPolicy_ >
constexpr auto ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::idxK = I2
staticconstexpr

◆ idxM

template<typename Problem_ , typename BlockPolicy_ >
constexpr auto ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::idxM = I0
staticconstexpr

◆ idxN

template<typename Problem_ , typename BlockPolicy_ >
constexpr auto ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::idxN = I1
staticconstexpr

◆ kBlockSize

template<typename Problem_ , typename BlockPolicy_ >
constexpr index_t ck_tile::BlockFlatmmASmemBSmemCRegV1< Problem_, BlockPolicy_ >::kBlockSize = Problem::kBlockSize
staticconstexpr

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