BlockToCTileMap_3DGrid_KSplit< MPerBlock, NPerBlock > Struct Template Reference#
ck::BlockToCTileMap_3DGrid_KSplit< MPerBlock, NPerBlock > Struct Template Reference
Simple tile mapping which creates 3D grid of block of threads. More...
#include <block_to_ctile_map.hpp>
Public Member Functions | |
| __host__ __device__ | BlockToCTileMap_3DGrid_KSplit ()=default |
| __host__ __device__ constexpr auto | CalculateGridSize (index_t M, index_t N, index_t k_split) const |
| template<typename TopIdx> | |
| __device__ constexpr auto | CalculateBottomIndex (const TopIdx &) const |
| template<typename CTileIdx, typename CTileDim> | |
| __host__ __device__ bool | ValidCTileIndex (const CTileIdx &, const CTileDim &) const |
| template<typename CGridDesc_M_N> | |
| __host__ constexpr bool | CheckValidity (const CGridDesc_M_N &) const |
Detailed Description
template<index_t MPerBlock, index_t NPerBlock>
struct ck::BlockToCTileMap_3DGrid_KSplit< MPerBlock, NPerBlock >
struct ck::BlockToCTileMap_3DGrid_KSplit< MPerBlock, NPerBlock >
Simple tile mapping which creates 3D grid of block of threads.
Description
This Block-to-C-tile-map creates a 3D grid (n_blocks, m_blocks, z_blocks) of thread blocks. The first 2D are regular 2D tiles created by division of output GEMM dimenions by corresponding tile size. The third dimension (Z) is a k-split dimension, which denotes the number of blocks we use to divide work on GEMM K dimension onto.
- Template Parameters
-
MPerBlock Output block tile size in M dimension. NPerBlock Output block tile size in N dimension.
Constructor & Destructor Documentation
◆ BlockToCTileMap_3DGrid_KSplit()
|
default |
Member Function Documentation
◆ CalculateBottomIndex()
template<typename TopIdx>
|
inlineconstexpr |
◆ CalculateGridSize()
|
inlineconstexpr |
◆ CheckValidity()
template<typename CGridDesc_M_N>
|
inlineconstexpr |
◆ ValidCTileIndex()
template<typename CTileIdx, typename CTileDim>
|
inline |
The documentation for this struct was generated from the following file: