DeviceContractionMultipleD< NumDimM, NumDimN, NumDimK, ADataType, BDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation, ComputeDataType > Struct Template Reference

DeviceContractionMultipleD&lt; NumDimM, NumDimN, NumDimK, ADataType, BDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation, ComputeDataType &gt; Struct Template Reference#

Composable Kernel: ck::tensor_operation::device::DeviceContractionMultipleD< NumDimM, NumDimN, NumDimK, ADataType, BDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation, ComputeDataType > Struct Template Reference
ck::tensor_operation::device::DeviceContractionMultipleD< NumDimM, NumDimN, NumDimK, ADataType, BDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation, ComputeDataType > Struct Template Referenceabstract

#include <device_contraction_multiple_d.hpp>

Inheritance diagram for ck::tensor_operation::device::DeviceContractionMultipleD< NumDimM, NumDimN, NumDimK, ADataType, BDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation, ComputeDataType >:
ck::tensor_operation::device::BaseOperator

Public Member Functions

virtual std::unique_ptr< BaseArgumentMakeArgumentPointer (const void *p_a, const void *p_b, std::array< const void *, NumDTensor > p_ds, void *p_e, const std::vector< index_t > &a_ms_ns_lengths, const std::vector< index_t > &a_ms_ks_strides, const std::vector< index_t > &b_ns_ks_lengths, const std::vector< index_t > &b_ns_ks_strides, const std::array< std::vector< index_t >, NumDTensor > &ds_ms_ns_lengths, const std::array< std::vector< index_t >, NumDTensor > &ds_ms_ns_strides, const std::vector< index_t > &e_ms_ns_lengths, const std::vector< index_t > &e_ms_ns_strides, 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 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 NumDTensor = DsDataType::Size()

Member Function Documentation

◆ MakeArgumentPointer()

template<index_t NumDimM, index_t NumDimN, index_t NumDimK, typename ADataType, typename BDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation, typename ComputeDataType = ADataType>
virtual std::unique_ptr< BaseArgument > ck::tensor_operation::device::DeviceContractionMultipleD< NumDimM, NumDimN, NumDimK, ADataType, BDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation, ComputeDataType >::MakeArgumentPointer ( const void * p_a,
const void * p_b,
std::array< const void *, NumDTensor > p_ds,
void * p_e,
const std::vector< index_t > & a_ms_ns_lengths,
const std::vector< index_t > & a_ms_ks_strides,
const std::vector< index_t > & b_ns_ks_lengths,
const std::vector< index_t > & b_ns_ks_strides,
const std::array< std::vector< index_t >, NumDTensor > & ds_ms_ns_lengths,
const std::array< std::vector< index_t >, NumDTensor > & ds_ms_ns_strides,
const std::vector< index_t > & e_ms_ns_lengths,
const std::vector< index_t > & e_ms_ns_strides,
AElementwiseOperation a_element_op,
BElementwiseOperation b_element_op,
CDEElementwiseOperation cde_element_op )
pure virtual

◆ MakeInvokerPointer()

template<index_t NumDimM, index_t NumDimN, index_t NumDimK, typename ADataType, typename BDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation, typename ComputeDataType = ADataType>
virtual std::unique_ptr< BaseInvoker > ck::tensor_operation::device::DeviceContractionMultipleD< NumDimM, NumDimN, NumDimK, ADataType, BDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation, ComputeDataType >::MakeInvokerPointer ( )
pure virtual

Member Data Documentation

◆ NumDTensor

template<index_t NumDimM, index_t NumDimN, index_t NumDimK, typename ADataType, typename BDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation, typename ComputeDataType = ADataType>
index_t ck::tensor_operation::device::DeviceContractionMultipleD< NumDimM, NumDimN, NumDimK, ADataType, BDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation, ComputeDataType >::NumDTensor = DsDataType::Size()
staticconstexpr

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