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

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

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

#include <device_gemm_multiple_abd.hpp>

Inheritance diagram for ck::tensor_operation::device::DeviceGemmMultipleABD< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation >:
ck::tensor_operation::device::BaseOperator

Public Member Functions

virtual std::unique_ptr< BaseArgumentMakeArgumentPointer (std::array< const void *, NumATensor > p_as, std::array< const void *, NumBTensor > p_bs, std::array< const void *, NumDTensor > p_ds, void *p_e, ck::index_t M, ck::index_t N, ck::index_t K, std::array< ck::index_t, NumATensor > StrideAs, std::array< ck::index_t, NumBTensor > StrideBs, std::array< ck::index_t, NumDTensor > StrideDs, ck::index_t StrideE, AElementwiseOperation a_element_op, BElementwiseOperation b_element_op, CDEElementwiseOperation cde_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 ()
 

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::DeviceGemmMultipleABD< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation >::MakeArgumentPointer ( std::array< const void *, NumATensor p_as,
std::array< const void *, NumBTensor p_bs,
std::array< const void *, NumDTensor p_ds,
void *  p_e,
ck::index_t  M,
ck::index_t  N,
ck::index_t  K,
std::array< ck::index_t, NumATensor StrideAs,
std::array< ck::index_t, NumBTensor StrideBs,
std::array< ck::index_t, NumDTensor StrideDs,
ck::index_t  StrideE,
AElementwiseOperation  a_element_op,
BElementwiseOperation  b_element_op,
CDEElementwiseOperation  cde_element_op 
)
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::DeviceGemmMultipleABD< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation >::MakeInvokerPointer ( )
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 >
constexpr index_t ck::tensor_operation::device::DeviceGemmMultipleABD< 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 >
constexpr index_t ck::tensor_operation::device::DeviceGemmMultipleABD< 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 >
constexpr index_t ck::tensor_operation::device::DeviceGemmMultipleABD< 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:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck/tensor_operation/gpu/device/device_gemm_multiple_abd.hpp