Generic2dBlockShape< BlockTile_, ThreadPerBlock_, Vector_ > Struct Template Reference

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

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

#include <generic_2d_block_shape.hpp>

Static Public Member Functions

template<bool isHostWave32>
static constexpr index_t GetWarpPerBlock_M ()
 
template<bool isHostWave32>
static constexpr index_t GetWarpPerBlock_N ()
 
template<bool isHostWave32>
static constexpr index_t GetBlockSize ()
 

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 ThreadPerBlock_M = ThreadPerBlock_::at(number<0>{})
 
static constexpr index_t ThreadPerBlock_N = ThreadPerBlock_::at(number<1>{})
 
static constexpr index_t Vector_M = Vector_::at(number<0>{})
 
static constexpr index_t Vector_N = Vector_::at(number<1>{})
 
static constexpr index_t WarpPerBlock_M = GetWarpPerBlock_M<false>()
 
static constexpr index_t WarpPerBlock_N = GetWarpPerBlock_N<false>()
 
static constexpr index_t BlockSize = WarpPerBlock_M * WarpPerBlock_N * get_warp_size()
 
static constexpr index_t Warp_M = ThreadPerBlock_M / WarpPerBlock_M * Vector_M
 
static constexpr index_t Warp_N = ThreadPerBlock_N / WarpPerBlock_N * Vector_N
 
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 ThreadPerWarp_M = Warp_M / Vector_M
 
static constexpr index_t ThreadPerWarp_N = Warp_N / Vector_N
 

Member Function Documentation

◆ GetBlockSize()

template<typename BlockTile_ , typename ThreadPerBlock_ , typename Vector_ >
template<bool isHostWave32>
static constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, ThreadPerBlock_, Vector_ >::GetBlockSize ( )
inlinestaticconstexpr

◆ GetWarpPerBlock_M()

template<typename BlockTile_ , typename ThreadPerBlock_ , typename Vector_ >
template<bool isHostWave32>
static constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, ThreadPerBlock_, Vector_ >::GetWarpPerBlock_M ( )
inlinestaticconstexpr

◆ GetWarpPerBlock_N()

template<typename BlockTile_ , typename ThreadPerBlock_ , typename Vector_ >
template<bool isHostWave32>
static constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, ThreadPerBlock_, Vector_ >::GetWarpPerBlock_N ( )
inlinestaticconstexpr

Member Data Documentation

◆ Block_M

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

◆ Block_N

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

◆ BlockSize

template<typename BlockTile_ , typename ThreadPerBlock_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, ThreadPerBlock_, Vector_ >::BlockSize = WarpPerBlock_M * WarpPerBlock_N * get_warp_size()
staticconstexpr

◆ Repeat_M

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

◆ Repeat_N

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

◆ ThreadPerBlock_M

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

◆ ThreadPerBlock_N

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

◆ ThreadPerWarp_M

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

◆ ThreadPerWarp_N

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

◆ Vector_M

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

◆ Vector_N

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

◆ Warp_M

template<typename BlockTile_ , typename ThreadPerBlock_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, ThreadPerBlock_, Vector_ >::Warp_M = ThreadPerBlock_M / WarpPerBlock_M * Vector_M
staticconstexpr

◆ Warp_N

template<typename BlockTile_ , typename ThreadPerBlock_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, ThreadPerBlock_, Vector_ >::Warp_N = ThreadPerBlock_N / WarpPerBlock_N * Vector_N
staticconstexpr

◆ WarpPerBlock_M

template<typename BlockTile_ , typename ThreadPerBlock_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, ThreadPerBlock_, Vector_ >::WarpPerBlock_M = GetWarpPerBlock_M<false>()
staticconstexpr

◆ WarpPerBlock_N

template<typename BlockTile_ , typename ThreadPerBlock_ , typename Vector_ >
constexpr index_t ck_tile::Generic2dBlockShape< BlockTile_, ThreadPerBlock_, Vector_ >::WarpPerBlock_N = GetWarpPerBlock_N<false>()
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/develop/include/ck_tile/ops/common/generic_2d_block_shape.hpp