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 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 ()

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: