#include <gemm_kernel.hpp>
|
static constexpr CK_TILE_HOST auto | GridSize (index_t M, index_t N, index_t KBatch) |
|
static constexpr CK_TILE_HOST auto | BlockSize () |
|
static constexpr CK_TILE_HOST GemmKernelArgs | MakeKernelArgs (const GemmHostArgs &hostArgs) |
|
static constexpr CK_TILE_HOST_DEVICE index_t | GetSmemSize () |
|
static CK_TILE_HOST bool | IsSupportedArgument (const GemmKernelArgs &kargs) |
|
template<memory_operation_enum DstInMemOp = memory_operation_enum::set> |
static CK_TILE_DEVICE auto | MakeGemmTensorViews (const ADataType *a_ptr, const BDataType *b_ptr, CDataType *c_ptr, const GemmKernelArgs &kargs, const SplitKBatchOffset &splitk_batch_offset) |
|
template<typename TensorView > |
static CK_TILE_DEVICE auto | MakeGemmPadViews (const TensorView &views) |
|
template<typename PadView > |
static CK_TILE_DEVICE auto | MakeGemmTileWindows (const PadView &views, const index_t i_m, const index_t i_n) |
|
template<memory_operation_enum DstInMemOp = memory_operation_enum::set> |
static CK_TILE_DEVICE void | RunGemm (const ADataType *a_ptr, const BDataType *b_ptr, CDataType *c_ptr, void *smem_ptr, const GemmKernelArgs &kargs, const SplitKBatchOffset &splitk_batch_offset, const index_t block_idx_m, const index_t block_idx_n) |
| Runs single GEMM problem cooperatively by whole workgroup. More...
|
|
◆ ADataType
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ ALayout
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ BDataType
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ BLayout
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ CDataType
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ CLayout
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ EpiloguePipeline
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ GemmPipeline
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ TilePartitioner
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ BlockSize()
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ GetSmemSize()
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ GridSize()
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ IsSupportedArgument()
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ MakeGemmPadViews()
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
template<typename TensorView >
◆ MakeGemmTensorViews()
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
template<memory_operation_enum DstInMemOp = memory_operation_enum::set>
◆ MakeGemmTileWindows()
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
template<typename PadView >
◆ MakeKernelArgs()
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ operator()()
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ RunGemm()
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
template<memory_operation_enum DstInMemOp = memory_operation_enum::set>
Runs single GEMM problem cooperatively by whole workgroup.
- Parameters
-
a_ptr | input A pointer |
b_ptr | input B pointer |
c_ptr | output C pointer |
kargs | GEMM kernel arguments |
block_idx_m | The GEMM's output M dimension tile index processed by this workgroup. |
block_idx_n | The GEMM's output N dimension tile index processed by this workgroup. |
- Template Parameters
-
DstInMemOp | Destination memory operation (default: set). |
◆ I0
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ I1
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ I2
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
◆ KernelBlockSize
template<typename TilePartitioner_ , typename GemmPipeline_ , typename EpiloguePipeline_ >
constexpr index_t ck_tile::GemmKernel< TilePartitioner_, GemmPipeline_, EpiloguePipeline_ >::KernelBlockSize = GemmPipeline::BlockSize |
|
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/gemm/kernel/gemm_kernel.hpp