Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ > Struct Template Reference

Generic2dBlockShape&lt; BlockTile_, WarpPerBlock_, WarpTile_, Vector_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ > Struct Template Reference
ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ > Struct Template Reference

#include <generic_2d_block_shape.hpp>

Static Public Attributes

static constexpr index_t Block_M = BlockTile_::at(number<0>{})
 
static constexpr index_t Block_N = BlockTile_::at(number<1>{})
 
static constexpr index_t WarpPerBlock_M = WarpPerBlock_::at(number<0>{})
 
static constexpr index_t WarpPerBlock_N = WarpPerBlock_::at(number<1>{})
 
static constexpr index_t Warp_M = WarpTile_::at(number<0>{})
 
static constexpr index_t Warp_N = WarpTile_::at(number<1>{})
 
static constexpr index_t Repeat_M = Block_M / (WarpPerBlock_M * Warp_M)
 
static constexpr index_t Repeat_N = Block_N / (WarpPerBlock_N * Warp_N)
 
static constexpr index_t Vector_M = Vector_::at(number<0>{})
 
static constexpr index_t Vector_N = Vector_::at(number<1>{})
 
static constexpr index_t ThreadPerWarp_M = Warp_M / Vector_M
 
static constexpr index_t ThreadPerWarp_N = Warp_N / Vector_N
 
static constexpr index_t ThreadPerBlock_M = Block_M / Repeat_M / Vector_M
 
static constexpr index_t ThreadPerBlock_N = Block_N / Repeat_N / Vector_N
 
static constexpr index_t BlockSize = ThreadPerBlock_M * ThreadPerBlock_N
 

Member Data Documentation

◆ Block_M

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::Block_M = BlockTile_::at(number<0>{})
staticconstexpr

◆ Block_N

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::Block_N = BlockTile_::at(number<1>{})
staticconstexpr

◆ BlockSize

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::BlockSize = ThreadPerBlock_M * ThreadPerBlock_N
staticconstexpr

◆ Repeat_M

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::Repeat_M = Block_M / (WarpPerBlock_M * Warp_M)
staticconstexpr

◆ Repeat_N

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::Repeat_N = Block_N / (WarpPerBlock_N * Warp_N)
staticconstexpr

◆ ThreadPerBlock_M

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::ThreadPerBlock_M = Block_M / Repeat_M / Vector_M
staticconstexpr

◆ ThreadPerBlock_N

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::ThreadPerBlock_N = Block_N / Repeat_N / Vector_N
staticconstexpr

◆ ThreadPerWarp_M

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::ThreadPerWarp_M = Warp_M / Vector_M
staticconstexpr

◆ ThreadPerWarp_N

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::ThreadPerWarp_N = Warp_N / Vector_N
staticconstexpr

◆ Vector_M

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::Vector_M = Vector_::at(number<0>{})
staticconstexpr

◆ Vector_N

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::Vector_N = Vector_::at(number<1>{})
staticconstexpr

◆ Warp_M

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::Warp_M = WarpTile_::at(number<0>{})
staticconstexpr

◆ Warp_N

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::Warp_N = WarpTile_::at(number<1>{})
staticconstexpr

◆ WarpPerBlock_M

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::WarpPerBlock_M = WarpPerBlock_::at(number<0>{})
staticconstexpr

◆ WarpPerBlock_N

template<typename BlockTile_ , typename WarpPerBlock_ , typename WarpTile_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, WarpPerBlock_, WarpTile_, Vector_ >::WarpPerBlock_N = WarpPerBlock_::at(number<1>{})
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/common/generic_2d_block_shape.hpp