DeviceGroupedGemmSoftmaxGemmPermute< NumDimG, NumDimM, NumDimN, NumDimK, NumDimO, ADataType, B0DataType, B1DataType, CDataType, Acc0BiasDataType, Acc1BiasDataType, AElementwiseOperation, B0ElementwiseOperation, Acc0ElementwiseOperation, B1ElementwiseOperation, CElementwiseOperation, MaskingSpec > Struct Template Reference

DeviceGroupedGemmSoftmaxGemmPermute&lt; NumDimG, NumDimM, NumDimN, NumDimK, NumDimO, ADataType, B0DataType, B1DataType, CDataType, Acc0BiasDataType, Acc1BiasDataType, AElementwiseOperation, B0ElementwiseOperation, Acc0ElementwiseOperation, B1ElementwiseOperation, CElementwiseOperation, MaskingSpec &gt; Struct Template Reference#

Composable Kernel: ck::tensor_operation::device::DeviceGroupedGemmSoftmaxGemmPermute< NumDimG, NumDimM, NumDimN, NumDimK, NumDimO, ADataType, B0DataType, B1DataType, CDataType, Acc0BiasDataType, Acc1BiasDataType, AElementwiseOperation, B0ElementwiseOperation, Acc0ElementwiseOperation, B1ElementwiseOperation, CElementwiseOperation, MaskingSpec > Struct Template Reference
ck::tensor_operation::device::DeviceGroupedGemmSoftmaxGemmPermute< NumDimG, NumDimM, NumDimN, NumDimK, NumDimO, ADataType, B0DataType, B1DataType, CDataType, Acc0BiasDataType, Acc1BiasDataType, AElementwiseOperation, B0ElementwiseOperation, Acc0ElementwiseOperation, B1ElementwiseOperation, CElementwiseOperation, MaskingSpec > Struct Template Referenceabstract

#include <device_grouped_gemm_softmax_gemm_permute.hpp>

Inheritance diagram for ck::tensor_operation::device::DeviceGroupedGemmSoftmaxGemmPermute< NumDimG, NumDimM, NumDimN, NumDimK, NumDimO, ADataType, B0DataType, B1DataType, CDataType, Acc0BiasDataType, Acc1BiasDataType, AElementwiseOperation, B0ElementwiseOperation, Acc0ElementwiseOperation, B1ElementwiseOperation, CElementwiseOperation, MaskingSpec >:
ck::tensor_operation::device::BaseOperator

Classes

struct  ProblemDesc
 

Public Member Functions

virtual std::unique_ptr< BaseArgumentMakeArgumentPointer (std::vector< const void * > p_a_vec, std::vector< const void * > p_b0_vec, std::vector< const void * > p_b1_vec, std::vector< void * > p_c_vec, std::vector< std::vector< const void * >> p_acc0_biases_vec, std::vector< std::vector< const void * >> p_acc1_biases_vec, std::vector< ProblemDesc > problem_desc_vec, AElementwiseOperation a_element_op, B0ElementwiseOperation b0_element_op, Acc0ElementwiseOperation acc0_element_op, B1ElementwiseOperation b1_element_op, CElementwiseOperation c_element_op)=0
 
virtual std::unique_ptr< BaseInvokerMakeInvokerPointer ()=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 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 ()
 

Member Function Documentation

◆ MakeArgumentPointer()

template<index_t NumDimG, index_t NumDimM, index_t NumDimN, index_t NumDimK, index_t NumDimO, typename ADataType , typename B0DataType , typename B1DataType , typename CDataType , typename Acc0BiasDataType , typename Acc1BiasDataType , typename AElementwiseOperation , typename B0ElementwiseOperation , typename Acc0ElementwiseOperation , typename B1ElementwiseOperation , typename CElementwiseOperation , MaskingSpecialization MaskingSpec>
virtual std::unique_ptr<BaseArgument> ck::tensor_operation::device::DeviceGroupedGemmSoftmaxGemmPermute< NumDimG, NumDimM, NumDimN, NumDimK, NumDimO, ADataType, B0DataType, B1DataType, CDataType, Acc0BiasDataType, Acc1BiasDataType, AElementwiseOperation, B0ElementwiseOperation, Acc0ElementwiseOperation, B1ElementwiseOperation, CElementwiseOperation, MaskingSpec >::MakeArgumentPointer ( std::vector< const void * >  p_a_vec,
std::vector< const void * >  p_b0_vec,
std::vector< const void * >  p_b1_vec,
std::vector< void * >  p_c_vec,
std::vector< std::vector< const void * >>  p_acc0_biases_vec,
std::vector< std::vector< const void * >>  p_acc1_biases_vec,
std::vector< ProblemDesc problem_desc_vec,
AElementwiseOperation  a_element_op,
B0ElementwiseOperation  b0_element_op,
Acc0ElementwiseOperation  acc0_element_op,
B1ElementwiseOperation  b1_element_op,
CElementwiseOperation  c_element_op 
)
pure virtual

◆ MakeInvokerPointer()

template<index_t NumDimG, index_t NumDimM, index_t NumDimN, index_t NumDimK, index_t NumDimO, typename ADataType , typename B0DataType , typename B1DataType , typename CDataType , typename Acc0BiasDataType , typename Acc1BiasDataType , typename AElementwiseOperation , typename B0ElementwiseOperation , typename Acc0ElementwiseOperation , typename B1ElementwiseOperation , typename CElementwiseOperation , MaskingSpecialization MaskingSpec>
virtual std::unique_ptr<BaseInvoker> ck::tensor_operation::device::DeviceGroupedGemmSoftmaxGemmPermute< NumDimG, NumDimM, NumDimN, NumDimK, NumDimO, ADataType, B0DataType, B1DataType, CDataType, Acc0BiasDataType, Acc1BiasDataType, AElementwiseOperation, B0ElementwiseOperation, Acc0ElementwiseOperation, B1ElementwiseOperation, CElementwiseOperation, MaskingSpec >::MakeInvokerPointer ( )
pure virtual

Implemented in ck::tensor_operation::device::DeviceGroupedGemmSoftmaxGemmPermute_Xdl_CShuffle< NumDimG, NumDimM, NumDimN, NumDimK, NumDimO, ADataType, BDataType, B1DataType, CDataType, Acc0BiasDataType, Acc1BiasDataType, GemmAccDataType, CShuffleDataType, AElementwiseOperation, BElementwiseOperation, AccElementwiseOperation, B1ElementwiseOperation, CElementwiseOperation, GemmSpec, ASpec, BSpec, B1Spec, CSpec, NumGemmKPrefetchStage, BlockSize, MPerBlock, NPerBlock, KPerBlock, Gemm1NPerBlock, Gemm1KPerBlock, AK1, BK1, B1K1, MPerXDL, NPerXDL, MXdlPerWave, NXdlPerWave, Gemm1NXdlPerWave, ABlockTransferThreadClusterLengths_AK0_M_AK1, ABlockTransferThreadClusterArrangeOrder, ABlockTransferSrcAccessOrder, ABlockTransferSrcVectorDim, ABlockTransferSrcScalarPerVector, ABlockTransferDstScalarPerVector_AK1, ABlockLdsExtraM, BBlockTransferThreadClusterLengths_BK0_N_BK1, BBlockTransferThreadClusterArrangeOrder, BBlockTransferSrcAccessOrder, BBlockTransferSrcVectorDim, BBlockTransferSrcScalarPerVector, BBlockTransferDstScalarPerVector_BK1, BBlockLdsExtraN, B1BlockTransferThreadClusterLengths_BK0_N_BK1, B1BlockTransferThreadClusterArrangeOrder, B1BlockTransferSrcAccessOrder, B1BlockTransferSrcVectorDim, B1BlockTransferSrcScalarPerVector, B1BlockTransferDstScalarPerVector_BK1, B1BlockLdsExtraN, CShuffleMXdlPerWavePerShuffle, CShuffleNXdlPerWavePerShuffle, CShuffleBlockTransferClusterLengths_MBlock_MPerBlock_NBlock_NPerBlock, CShuffleBlockTransferScalarPerVector_NPerBlock, MaskingSpec, LoopSched >.


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