Invoker Struct Reference#
ck::tensor_operation::device::DeviceGemm_Wmma_CShuffleV3_Common< GridwiseGemm, AsDataType, BsDataType, DsDataType, EDataType, MPerBlock, NPerBlock, KPerBlock, BlockSize, AK1, BK1, GemmSpec, CDEShuffleBlockTransferScalarPerVectors, BlkGemmPipeSched, BlkGemmPipelineVer, ComputeTypeA, ComputeTypeB >::Invoker Struct Reference
Helper structure responsible for kernel invocation. More...
#include <device_gemm_wmma_cshuffle_v3_common.hpp>
Inheritance diagram for ck::tensor_operation::device::DeviceGemm_Wmma_CShuffleV3_Common< GridwiseGemm, AsDataType, BsDataType, DsDataType, EDataType, MPerBlock, NPerBlock, KPerBlock, BlockSize, AK1, BK1, GemmSpec, CDEShuffleBlockTransferScalarPerVectors, BlkGemmPipeSched, BlkGemmPipelineVer, ComputeTypeA, ComputeTypeB >::Invoker:
Public Member Functions | |
| float | Run (const Argument &arg, const StreamConfig &stream_config=StreamConfig{}) |
| This function issues GPU kernel execution. | |
| float | Run (const BaseArgument *p_arg, const StreamConfig &stream_config=StreamConfig{}) override |
| Public Member Functions inherited from ck::tensor_operation::device::BaseInvoker | |
| BaseInvoker ()=default | |
| BaseInvoker (const BaseInvoker &)=default | |
| BaseInvoker & | operator= (const BaseInvoker &)=default |
| virtual | ~BaseInvoker () |
Detailed Description
template<typename GridwiseGemm, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, index_t MPerBlock, index_t NPerBlock, index_t KPerBlock, index_t BlockSize, index_t AK1, index_t BK1, GemmSpecialization GemmSpec, typename CDEShuffleBlockTransferScalarPerVectors, BlockGemmPipelineScheduler BlkGemmPipeSched, BlockGemmPipelineVersion BlkGemmPipelineVer, typename ComputeTypeA, typename ComputeTypeB>
struct ck::tensor_operation::device::DeviceGemm_Wmma_CShuffleV3_Common< GridwiseGemm, AsDataType, BsDataType, DsDataType, EDataType, MPerBlock, NPerBlock, KPerBlock, BlockSize, AK1, BK1, GemmSpec, CDEShuffleBlockTransferScalarPerVectors, BlkGemmPipeSched, BlkGemmPipelineVer, ComputeTypeA, ComputeTypeB >::Invoker
struct ck::tensor_operation::device::DeviceGemm_Wmma_CShuffleV3_Common< GridwiseGemm, AsDataType, BsDataType, DsDataType, EDataType, MPerBlock, NPerBlock, KPerBlock, BlockSize, AK1, BK1, GemmSpec, CDEShuffleBlockTransferScalarPerVectors, BlkGemmPipeSched, BlkGemmPipelineVer, ComputeTypeA, ComputeTypeB >::Invoker
Helper structure responsible for kernel invocation.
Invoker class is responsible for preparation and invocation of actual GPU
kernel function. It usually determines the launched grid size prepares kernel arguments as well as perform specific kernel configuration selection based on runtime arguments.
- Note
- If appropriately configured it may measure kernel execution time.
Member Function Documentation
◆ Run() [1/2]
template<typename GridwiseGemm, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, index_t MPerBlock, index_t NPerBlock, index_t KPerBlock, index_t BlockSize, index_t AK1, index_t BK1, GemmSpecialization GemmSpec, typename CDEShuffleBlockTransferScalarPerVectors, BlockGemmPipelineScheduler BlkGemmPipeSched, BlockGemmPipelineVersion BlkGemmPipelineVer, typename ComputeTypeA, typename ComputeTypeB>
|
inline |
This function issues GPU kernel execution.
- Parameters
-
arg The GPU kernel arguments. stream_config The HIP stream configuration helper structure.
- Returns
- The kernel's average execution time (if time measurement is enabled).
◆ Run() [2/2]
template<typename GridwiseGemm, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, index_t MPerBlock, index_t NPerBlock, index_t KPerBlock, index_t BlockSize, index_t AK1, index_t BK1, GemmSpecialization GemmSpec, typename CDEShuffleBlockTransferScalarPerVectors, BlockGemmPipelineScheduler BlkGemmPipeSched, BlockGemmPipelineVersion BlkGemmPipelineVer, typename ComputeTypeA, typename ComputeTypeB>
|
inlineoverridevirtual |
Reimplemented from ck::tensor_operation::device::BaseInvoker.
The documentation for this struct was generated from the following file: