DeviceGroupedGemmMultiABD< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation > Struct Template Reference

DeviceGroupedGemmMultiABD&lt; AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation &gt; Struct Template Reference#

Composable Kernel: ck::tensor_operation::device::DeviceGroupedGemmMultiABD< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation > Struct Template Reference
ck::tensor_operation::device::DeviceGroupedGemmMultiABD< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation > Struct Template Referenceabstract

#include <device_grouped_gemm_multi_abd.hpp>

Inheritance diagram for ck::tensor_operation::device::DeviceGroupedGemmMultiABD< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation >:
ck::tensor_operation::device::BaseOperator ck::tensor_operation::device::DeviceGroupedGemmMultiABDFixedNK< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation > ck::tensor_operation::device::DeviceGroupedGemm_Xdl_Multi_ABD_Fixed_NK< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, AccDataType, CShuffleDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation, GemmSpec, NumPrefetch, BlockSize, MPerBlock, NPerBlock, KPerBlock, AK1, BK1, MPerXDL, NPerXDL, MXdlPerWave, NXdlPerWave, ABlockTransferThreadClusterLengths_AK0_M_AK1, ABlockTransferThreadClusterArrangeOrder, ABlockTransferSrcAccessOrder, ABlockTransferSrcVectorDim, ABlockTransferSrcScalarPerVector, ABlockTransferDstScalarPerVector_AK1, ABlockLdsExtraM, BBlockTransferThreadClusterLengths_BK0_N_BK1, BBlockTransferThreadClusterArrangeOrder, BBlockTransferSrcAccessOrder, BBlockTransferSrcVectorDim, BBlockTransferSrcScalarPerVector, BBlockTransferDstScalarPerVector_BK1, BBlockLdsExtraN, CShuffleMXdlPerWavePerShuffle, CShuffleNXdlPerWavePerShuffle, CDEBlockTransferClusterLengths_MBlock_MPerBlock_NBlock_NPerBlock, CDEBlockTransferScalarPerVector_NPerBlock, ComputeType, LoopSched >

Public Member Functions

virtual std::unique_ptr< BaseArgumentMakeArgumentPointer (std::vector< std::array< const void *, NumATensor > > &p_as, std::vector< std::array< const void *, NumBTensor > > &p_bs, std::vector< std::array< const void *, NumDTensor > > &p_ds, std::vector< void * > &p_e, std::vector< GemmMultiABDDesc > &gemm_desc, AElementwiseOperation a_element_op=AElementwiseOperation{}, BElementwiseOperation b_element_op=BElementwiseOperation{}, CDEElementwiseOperation c_element_op=CDEElementwiseOperation{})=0
virtual std::unique_ptr< BaseInvokerMakeInvokerPointer ()=0
virtual void SetElementwiseOps (BaseArgument *p_arg, AElementwiseOperation a_element_op, BElementwiseOperation b_element_op, CDEElementwiseOperation cde_element_op) const =0
Public Member Functions inherited from ck::tensor_operation::device::BaseOperator
 BaseOperator ()=default
 BaseOperator (const BaseOperator &)=default
BaseOperatoroperator= (const BaseOperator &)=default
virtual bool IsSupportedArgument (const BaseArgument *)
virtual std::string GetTypeString () const
virtual std::string GetInstanceString () const
virtual std::string GetTypeIdName () const
virtual std::optional< std::string > GetObjectName () const
virtual std::optional< std::string > GetTemplateInfo () const
virtual std::string GetTypeIdHashCode () const
virtual size_t GetWorkSpaceSize (const BaseArgument *) const
virtual void SetWorkSpacePointer (BaseArgument *p_arg, void *p_workspace, const StreamConfig &=StreamConfig{}) const
virtual ~BaseOperator ()

Static Public Attributes

static constexpr index_t NumATensor = AsDataType::Size()
static constexpr index_t NumBTensor = BsDataType::Size()
static constexpr index_t NumDTensor = DsDataType::Size()

Member Function Documentation

◆ MakeArgumentPointer()

template<typename AsLayout, typename BsLayout, typename DsLayout, typename ELayout, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation>
virtual std::unique_ptr< BaseArgument > ck::tensor_operation::device::DeviceGroupedGemmMultiABD< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation >::MakeArgumentPointer ( std::vector< std::array< const void *, NumATensor > > & p_as,
std::vector< std::array< const void *, NumBTensor > > & p_bs,
std::vector< std::array< const void *, NumDTensor > > & p_ds,
std::vector< void * > & p_e,
std::vector< GemmMultiABDDesc > & gemm_desc,
AElementwiseOperation a_element_op = AElementwiseOperation{},
BElementwiseOperation b_element_op = BElementwiseOperation{},
CDEElementwiseOperation c_element_op = CDEElementwiseOperation{} )
pure virtual

◆ MakeInvokerPointer()

template<typename AsLayout, typename BsLayout, typename DsLayout, typename ELayout, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation>
virtual std::unique_ptr< BaseInvoker > ck::tensor_operation::device::DeviceGroupedGemmMultiABD< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation >::MakeInvokerPointer ( )
pure virtual

◆ SetElementwiseOps()

template<typename AsLayout, typename BsLayout, typename DsLayout, typename ELayout, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation>
virtual void ck::tensor_operation::device::DeviceGroupedGemmMultiABD< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation >::SetElementwiseOps ( BaseArgument * p_arg,
AElementwiseOperation a_element_op,
BElementwiseOperation b_element_op,
CDEElementwiseOperation cde_element_op ) const
pure virtual

Member Data Documentation

◆ NumATensor

template<typename AsLayout, typename BsLayout, typename DsLayout, typename ELayout, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation>
index_t ck::tensor_operation::device::DeviceGroupedGemmMultiABD< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation >::NumATensor = AsDataType::Size()
staticconstexpr

◆ NumBTensor

template<typename AsLayout, typename BsLayout, typename DsLayout, typename ELayout, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation>
index_t ck::tensor_operation::device::DeviceGroupedGemmMultiABD< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation >::NumBTensor = BsDataType::Size()
staticconstexpr

◆ NumDTensor

template<typename AsLayout, typename BsLayout, typename DsLayout, typename ELayout, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation>
index_t ck::tensor_operation::device::DeviceGroupedGemmMultiABD< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation >::NumDTensor = DsDataType::Size()
staticconstexpr

The documentation for this struct was generated from the following file: