/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/gemm/kernel/gemm_kernel.hpp Source File#
gemm_kernel.hpp
Go to the documentation of this file.
Definition: cluster_descriptor.hpp:13
remove_cv_t< std::remove_reference_t< T > > remove_cvref_t
Definition: type_traits.hpp:21
typename detail::detector< nonesuch, void, Op, Args... >::value_t is_detected
Definition: type_traits.hpp:67
CK_TILE_HOST GemmHostArgs()=default
CK_TILE_HOST GemmHostArgs(const void *a_ptr_, const void *b_ptr_, void *e_ptr_, index_t k_batch_, index_t M_, index_t N_, index_t K_, index_t stride_A_, index_t stride_B_, index_t stride_E_)
Definition: gemm_kernel.hpp:31
Definition: gemm_kernel.hpp:79
remove_cvref_t< typename EpiloguePipeline::ODataType > EDataType
Definition: gemm_kernel.hpp:97
static constexpr CK_TILE_HOST auto BlockSize() -> dim3
Definition: gemm_kernel.hpp:133
UniversalGemmKernel< TilePartitioner_, GemmPipeline_, EpiloguePipeline_ > UniversalGemmKernel
Inject the UniversalGemmKernel base class to support execution of all necessary functions.
Definition: gemm_kernel.hpp:83
remove_cvref_t< typename GemmPipeline::ADataType > ADataType
Specify the data type configurations for A, B, E and D.
Definition: gemm_kernel.hpp:95
remove_cvref_t< typename GemmPipeline::CLayout > ELayout
Definition: gemm_kernel.hpp:92
static constexpr CK_TILE_HOST auto MakeKernelArgs(const GemmHostArgs &hostArgs) -> typename UniversalGemmKernel::KernelArgs
Definition: gemm_kernel.hpp:138
static constexpr CK_TILE_HOST auto GridSize(index_t M, index_t N, index_t KBatch) -> dim3
Definition: gemm_kernel.hpp:123
remove_cvref_t< typename GemmPipeline::ALayout > ALayout
Specify the layout configurations for A, B, E and D.
Definition: gemm_kernel.hpp:90
remove_cvref_t< typename GemmPipeline::BDataType > BDataType
Definition: gemm_kernel.hpp:96
CK_TILE_DEVICE auto operator()(typename UniversalGemmKernel::KernelArgs kargs) const -> void
Definition: gemm_kernel.hpp:165
static constexpr index_t NumATensor
ALayout and ADataType are expected to be scalars, not a tuple.
Definition: gemm_kernel.hpp:114
static CK_TILE_HOST auto MaxOccupancyGridSize(const stream_config &s) -> dim3
Definition: gemm_kernel.hpp:128
static CK_TILE_HOST auto IsSupportedArgument(const typename UniversalGemmKernel::KernelArgs &kargs) -> bool
Definition: gemm_kernel.hpp:160
remove_cvref_t< GemmPipeline_ > GemmPipeline
Definition: gemm_kernel.hpp:86
remove_cvref_t< typename GemmPipeline::BLayout > BLayout
Definition: gemm_kernel.hpp:91
static CK_TILE_HOST auto GetName() -> const std::string
Definition: gemm_kernel.hpp:118
remove_cvref_t< TilePartitioner_ > TilePartitioner
Definition: gemm_kernel.hpp:85
remove_cvref_t< EpiloguePipeline_ > EpiloguePipeline
Definition: gemm_kernel.hpp:87
The Universal GEMM kernel host arguments.
Definition: universal_gemm_kernel.hpp:32
The GEMM kernel device arguments.
Definition: universal_gemm_kernel.hpp:86
static CK_TILE_HOST const std::string GetName()
Definition: universal_gemm_kernel.hpp:257
static constexpr CK_TILE_HOST auto GridSize(index_t M, index_t N, index_t KBatch)
Definition: universal_gemm_kernel.hpp:264
static CK_TILE_HOST auto BlockSize()
Definition: universal_gemm_kernel.hpp:287
static CK_TILE_HOST auto MaxOccupancyGridSize(const stream_config &s) -> dim3
Get the maximum occupancy grid size for the persistent kernel on the current device.
Definition: universal_gemm_kernel.hpp:275
static CK_TILE_HOST bool IsSupportedArgument(const KernelArgs &kargs)
Definition: universal_gemm_kernel.hpp:370
static constexpr CK_TILE_HOST KernelArgs MakeKernelArgs(const UniversalGemmHostArgs< NumATensor, NumBTensor, NumDTensor > &hostArgs)
Definition: universal_gemm_kernel.hpp:300
static constexpr index_t kBlockSize
Definition: universal_gemm_kernel.hpp:199
Definition: stream_config.hpp:30