GemmTile2DPartitioner< BlockGemmShapeType > Struct Template Reference#
Public Types |
Public Member Functions |
Static Public Member Functions |
Static Public Attributes |
List of all members
ck_tile::GemmTile2DPartitioner< BlockGemmShapeType > Struct Template Reference
Class providing 2D workgroup index mapping into 2D output GEMM C-tile space. More...
#include <gemm_tile_partitioner.hpp>
Public Types | |
| using | BlockGemmShape = remove_cvref_t<BlockGemmShapeType> |
Public Member Functions | |
| CK_TILE_HOST_DEVICE | GemmTile2DPartitioner () noexcept=delete |
| CK_TILE_HOST_DEVICE | GemmTile2DPartitioner (index_t M, index_t N) noexcept |
Static Public Member Functions | |
| static CK_TILE_HOST auto | GridSize (index_t M, index_t N) noexcept(noexcept(MPerBlock !=0 &&NPerBlock !=0)) -> dim3 |
| Calculates GEMM kernel grid size. | |
| static CK_TILE_HOST_DEVICE auto | GetLoopNum (index_t K) noexcept -> index_t |
| Calculate number of loop iterations over GEMM's K dimension. | |
| static CK_TILE_DEVICE auto | GetOutputTileIndex (index_t blockIdx, index_t blockIdy) noexcept -> const tuple< index_t, index_t > |
| The function returns 2D output tile space. | |
Static Public Attributes | |
| static constexpr index_t | MPerBlock = BlockGemmShape::kM |
| static constexpr index_t | NPerBlock = BlockGemmShape::kN |
| static constexpr index_t | KPerBlock = BlockGemmShape::kK |
Detailed Description
template<typename BlockGemmShapeType>
struct ck_tile::GemmTile2DPartitioner< BlockGemmShapeType >
struct ck_tile::GemmTile2DPartitioner< BlockGemmShapeType >
Class providing 2D workgroup index mapping into 2D output GEMM C-tile space.
Member Typedef Documentation
◆ BlockGemmShape
template<typename BlockGemmShapeType>
| using ck_tile::GemmTile2DPartitioner< BlockGemmShapeType >::BlockGemmShape = remove_cvref_t<BlockGemmShapeType> |
Constructor & Destructor Documentation
◆ GemmTile2DPartitioner() [1/2]
template<typename BlockGemmShapeType>
|
deletenoexcept |
◆ GemmTile2DPartitioner() [2/2]
template<typename BlockGemmShapeType>
|
noexcept |
Member Function Documentation
◆ GetLoopNum()
template<typename BlockGemmShapeType>
|
inlinestaticnoexcept |
Calculate number of loop iterations over GEMM's K dimension.
- Parameters
-
K GEMM's K dimension.
- Returns
- index_t The number of loop iterations over K dimension.
◆ GetOutputTileIndex()
template<typename BlockGemmShapeType>
|
inlinestaticnoexcept |
The function returns 2D output tile space.
- Parameters
-
[in] blockIdx is blockIdx.x [in] blockIdy is blockIdx.y
- Returns
- Returns the output tile indexes.
Calculate workgroup 2D index mapping into 2D output C-tile space.
- Parameters
-
blockIdx WGP's X index. blockIdy WGP's Y index.
- Returns
- const tuple<index_t, index_t> Tuple containing 2D output C-tile index.
◆ GridSize()
template<typename BlockGemmShapeType>
|
inlinestaticnoexcept |
Calculates GEMM kernel grid size.
- Parameters
-
M GEMM's M dimension. N GEMM's N dimension.
- Returns
- dim3 Structure holding grid's X,Y and Z dimensions.
Member Data Documentation
◆ KPerBlock
template<typename BlockGemmShapeType>
|
staticconstexpr |
◆ MPerBlock
template<typename BlockGemmShapeType>
|
staticconstexpr |
◆ NPerBlock
template<typename BlockGemmShapeType>
|
staticconstexpr |
The documentation for this struct was generated from the following file: