/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-7.1.0/include/ck_tile/ops/gemm/kernel/gemm_multi_d_kernel.hpp Source File#
gemm_multi_d_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
Definition: gemm_multi_d_kernel.hpp:84
static constexpr index_t NumDTensor
Definition: gemm_multi_d_kernel.hpp:131
static constexpr index_t NumATensor
ALayout and ADataType are expected to be scalars, not a tuple.
Definition: gemm_multi_d_kernel.hpp:129
static CK_TILE_HOST auto IsSupportedArgument(const typename UniversalGemmKernel::KernelArgs &kargs) -> bool
Definition: gemm_multi_d_kernel.hpp:175
static CK_TILE_HOST auto MaxOccupancyGridSize(const stream_config &s) -> dim3
Definition: gemm_multi_d_kernel.hpp:143
remove_cvref_t< typename EpiloguePipeline::DsLayout > DsLayout
Definition: gemm_multi_d_kernel.hpp:98
remove_cvref_t< typename EpiloguePipeline::DsDataType > DsDataType
Definition: gemm_multi_d_kernel.hpp:104
remove_cvref_t< typename EpiloguePipeline::ODataType > EDataType
Definition: gemm_multi_d_kernel.hpp:103
static constexpr CK_TILE_HOST auto MakeKernelArgs(const GemmMultiDHostArgs< NumDTensor > &hostArgs) -> typename UniversalGemmKernel::KernelArgs
Definition: gemm_multi_d_kernel.hpp:154
UniversalGemmKernel< TilePartitioner_, GemmPipeline_, EpiloguePipeline_ > UniversalGemmKernel
Inject the UniversalGemmKernel base class to support execution of all necessary functions.
Definition: gemm_multi_d_kernel.hpp:88
remove_cvref_t< TilePartitioner_ > TilePartitioner
Definition: gemm_multi_d_kernel.hpp:90
static constexpr CK_TILE_HOST auto GridSize(index_t M, index_t N, index_t KBatch) -> dim3
Definition: gemm_multi_d_kernel.hpp:138
static constexpr index_t NumBTensor
Definition: gemm_multi_d_kernel.hpp:130
static CK_TILE_HOST auto GetName() -> const std::string
Definition: gemm_multi_d_kernel.hpp:133
remove_cvref_t< typename GemmPipeline::BDataType > BDataType
Definition: gemm_multi_d_kernel.hpp:102
remove_cvref_t< GemmPipeline_ > GemmPipeline
Definition: gemm_multi_d_kernel.hpp:91
remove_cvref_t< typename GemmPipeline::BLayout > BLayout
Definition: gemm_multi_d_kernel.hpp:96
CK_TILE_DEVICE auto operator()(typename UniversalGemmKernel::KernelArgs kargs) const -> void
Definition: gemm_multi_d_kernel.hpp:180
remove_cvref_t< typename GemmPipeline::CLayout > ELayout
Definition: gemm_multi_d_kernel.hpp:97
static constexpr CK_TILE_HOST auto BlockSize() -> dim3
Definition: gemm_multi_d_kernel.hpp:148
remove_cvref_t< EpiloguePipeline_ > EpiloguePipeline
Definition: gemm_multi_d_kernel.hpp:92
remove_cvref_t< typename GemmPipeline::ALayout > ALayout
Specify the layout configurations for A, B, E and D.
Definition: gemm_multi_d_kernel.hpp:95
remove_cvref_t< typename GemmPipeline::ADataType > ADataType
Specify the data type configurations for A, B, E and D.
Definition: gemm_multi_d_kernel.hpp:101
The MultiD GEMM kernel host arguments.
Definition: gemm_multi_d_kernel.hpp:30
CK_TILE_HOST GemmMultiDHostArgs(const void *a_ptr_, const void *b_ptr_, const std::array< const void *, NumDTensor > &ds_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_, const std::array< index_t, NumDTensor > &stride_Ds_, index_t stride_E_)
Definition: gemm_multi_d_kernel.hpp:32
const std::array< const void *, NumDTensor > ds_ptr
Definition: gemm_multi_d_kernel.hpp:61
CK_TILE_HOST GemmMultiDHostArgs()=default
const std::array< index_t, NumDTensor > stride_Ds
Definition: gemm_multi_d_kernel.hpp:72
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:240
static constexpr CK_TILE_HOST auto GridSize(index_t M, index_t N, index_t KBatch)
Definition: universal_gemm_kernel.hpp:247
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:258
static CK_TILE_HOST bool IsSupportedArgument(const KernelArgs &kargs)
Definition: universal_gemm_kernel.hpp:342
static constexpr CK_TILE_HOST auto BlockSize()
Definition: universal_gemm_kernel.hpp:269
static constexpr CK_TILE_HOST KernelArgs MakeKernelArgs(const UniversalGemmHostArgs< NumATensor, NumBTensor, NumDTensor > &hostArgs)
Definition: universal_gemm_kernel.hpp:272
Definition: stream_config.hpp:30