BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void > Struct Template Reference

BlockToCTileMap_M00_N0_M01Adapt&lt; MPerBlock, NPerBlock, void &gt; Struct Template Reference#

Composable Kernel: ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void > Struct Template Reference
ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void > Struct Template Reference

#include <block_to_ctile_map.hpp>

Public Member Functions

__host__ __device__ constexpr BlockToCTileMap_M00_N0_M01Adapt ()=default
__host__ __device__ constexpr BlockToCTileMap_M00_N0_M01Adapt (const BlockToCTileMap_M00_N0_M01Adapt &)=default
__host__ __device__ constexpr BlockToCTileMap_M00_N0_M01Adapt (BlockToCTileMap_M00_N0_M01Adapt &&)=default
__host__ __device__ constexpr BlockToCTileMap_M00_N0_M01Adaptoperator= (const BlockToCTileMap_M00_N0_M01Adapt &)=default
__host__ __device__ constexpr BlockToCTileMap_M00_N0_M01Adaptoperator= (BlockToCTileMap_M00_N0_M01Adapt &&)=default
__host__ __device__ constexpr BlockToCTileMap_M00_N0_M01Adapt (index_t M, index_t N, index_t M01=8)
template<typename CGridDesc_M_N>
__host__ __device__ constexpr BlockToCTileMap_M00_N0_M01Adapt (const CGridDesc_M_N &c_grid_desc_m_n, index_t M01=8)
template<typename CGridDesc_M_N>
__host__ __device__ constexpr bool CheckValidity (const CGridDesc_M_N &) const
template<typename TopIdx>
__host__ __device__ constexpr auto CalculateBottomIndex (const TopIdx &idx_top) const
template<typename CTileIdx, typename CTileDim>
__host__ __device__ constexpr bool ValidCTileIndex (const CTileIdx &, const CTileDim &) const

Static Public Member Functions

__host__ static __device__ constexpr index_t CalculateGridSize (index_t M, index_t N)
template<typename CGridDesc_M_N>
static __host__ constexpr index_t CalculateGridSize (const CGridDesc_M_N &c_grid_desc_m_n)

Static Public Attributes

static constexpr auto I0 = Number<0>{}
static constexpr auto I1 = Number<1>{}

Constructor & Destructor Documentation

◆ BlockToCTileMap_M00_N0_M01Adapt() [1/5]

template<index_t MPerBlock, index_t NPerBlock>
__host__ __device__ constexpr ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void >::BlockToCTileMap_M00_N0_M01Adapt ( )
constexprdefault

◆ BlockToCTileMap_M00_N0_M01Adapt() [2/5]

template<index_t MPerBlock, index_t NPerBlock>
__host__ __device__ constexpr ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void >::BlockToCTileMap_M00_N0_M01Adapt ( const BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void > & )
constexprdefault

◆ BlockToCTileMap_M00_N0_M01Adapt() [3/5]

template<index_t MPerBlock, index_t NPerBlock>
__host__ __device__ constexpr ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void >::BlockToCTileMap_M00_N0_M01Adapt ( BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void > && )
constexprdefault

◆ BlockToCTileMap_M00_N0_M01Adapt() [4/5]

template<index_t MPerBlock, index_t NPerBlock>
__host__ __device__ constexpr ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void >::BlockToCTileMap_M00_N0_M01Adapt ( index_t M,
index_t N,
index_t M01 = 8 )
inlineconstexpr

◆ BlockToCTileMap_M00_N0_M01Adapt() [5/5]

template<index_t MPerBlock, index_t NPerBlock>
template<typename CGridDesc_M_N>
__host__ __device__ constexpr ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void >::BlockToCTileMap_M00_N0_M01Adapt ( const CGridDesc_M_N & c_grid_desc_m_n,
index_t M01 = 8 )
inlineconstexpr

Member Function Documentation

◆ CalculateBottomIndex()

template<index_t MPerBlock, index_t NPerBlock>
template<typename TopIdx>
__host__ __device__ constexpr auto ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void >::CalculateBottomIndex ( const TopIdx & idx_top) const
inlineconstexpr
                   idxN0

      |<               mtx   N                 >|

        NPerBlock   NPerBlock   NPerBlock   NPerBlock
           N_0         N_1        N_2         N_3
  -   |-----------|-----------|-----------|-----|-----|-
  ^   | -   -  0  |/---->  2  |           |     |     |
      | |   |     /     |     |           |     |     |  M_0  MPerBlock
      | M   |    /|     |     |           |     |     |
      |-0---|---/-|-----|-----|-----------|-----|-----|-
      | 1   |  /  |     |     |  blockid  |     |     |

idxM0 | | | / | V | 5 | | | M_1 MPerBlock | - V 1 | - 3 | | | | |--------—|--------—|--------—|--—|--—|- mtx M | | | | | | | | | | | | M_2 MPerBlock | | | | | | |--------—|--------—|--------—|--—|--—|- | | | | | | | | | | | | M_3 MPerBlock | | | | | | |--------—|--------—|--------—|--—|--—|- V | | | | | |

  • |--------—|--------—|--------—|--—|--—|- M_4 MPerBlock | | | | | | |--------—|--------—|--------—|--—|--—|- Example: assume: M0 = 5 N0 = 4 block_1d_id = 5 M01 = 2

idx_N0 = 1 idx_M0 = 1 M01_adapt = 2 idx_M00 = 0 idx_M01 = 1 idx_N0_M01_local = 5 output {1, 2}

◆ CalculateGridSize() [1/2]

template<index_t MPerBlock, index_t NPerBlock>
template<typename CGridDesc_M_N>
__host__ constexpr index_t ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void >::CalculateGridSize ( const CGridDesc_M_N & c_grid_desc_m_n)
inlinestaticconstexpr

◆ CalculateGridSize() [2/2]

template<index_t MPerBlock, index_t NPerBlock>
__host__ static __device__ constexpr index_t ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void >::CalculateGridSize ( index_t M,
index_t N )
inlinestaticconstexpr

◆ CheckValidity()

template<index_t MPerBlock, index_t NPerBlock>
template<typename CGridDesc_M_N>
__host__ __device__ constexpr bool ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void >::CheckValidity ( const CGridDesc_M_N & ) const
inlineconstexpr

◆ operator=() [1/2]

template<index_t MPerBlock, index_t NPerBlock>
__host__ __device__ constexpr BlockToCTileMap_M00_N0_M01Adapt & ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void >::operator= ( BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void > && )
constexprdefault

◆ operator=() [2/2]

template<index_t MPerBlock, index_t NPerBlock>
__host__ __device__ constexpr BlockToCTileMap_M00_N0_M01Adapt & ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void >::operator= ( const BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void > & )
constexprdefault

◆ ValidCTileIndex()

template<index_t MPerBlock, index_t NPerBlock>
template<typename CTileIdx, typename CTileDim>
__host__ __device__ constexpr bool ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void >::ValidCTileIndex ( const CTileIdx & ,
const CTileDim &  ) const
inlineconstexpr

Member Data Documentation

◆ I0

template<index_t MPerBlock, index_t NPerBlock>
auto ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void >::I0 = Number<0>{}
staticconstexpr

◆ I1

template<index_t MPerBlock, index_t NPerBlock>
auto ck::BlockToCTileMap_M00_N0_M01Adapt< MPerBlock, NPerBlock, void >::I1 = Number<1>{}
staticconstexpr

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