DeviceGemmMultipleABDSplitKWrapper< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation > Struct Template Reference#
ck::tensor_operation::device::DeviceGemmMultipleABDSplitKWrapper< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation > Struct Template Reference
Wrapper for backward compatibility that allows to use instances of DeviceGemmMultipleABDSplitK in contexts where DeviceGemmMultipleABD is expected. More...
#include <device_gemm_multiple_abd.hpp>
Inheritance diagram for ck::tensor_operation::device::DeviceGemmMultipleABDSplitKWrapper< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation >:
Public Types | |
| using | DeviceOp |
Public Member Functions | |
| DeviceGemmMultipleABDSplitKWrapper (std::unique_ptr< DeviceOp > p_op) | |
| bool | IsSupportedArgument (const BaseArgument *p_arg) override |
| std::unique_ptr< BaseArgument > | 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) override |
| std::unique_ptr< BaseInvoker > | MakeInvokerPointer () override |
| std::string | GetTypeString () const override |
| Public Member Functions inherited from ck::tensor_operation::device::BaseOperator | |
| BaseOperator ()=default | |
| BaseOperator (const BaseOperator &)=default | |
| BaseOperator & | operator= (const BaseOperator &)=default |
| 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() |
| Static Public Attributes inherited from ck::tensor_operation::device::DeviceGemmMultipleABD< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation > | |
| static constexpr index_t | NumATensor = AsDataType::Size() |
| static constexpr index_t | NumBTensor = BsDataType::Size() |
| static constexpr index_t | NumDTensor = DsDataType::Size() |
Detailed Description
template<typename AsLayout, typename BsLayout, typename DsLayout, typename ELayout, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation>
struct ck::tensor_operation::device::DeviceGemmMultipleABDSplitKWrapper< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation >
struct ck::tensor_operation::device::DeviceGemmMultipleABDSplitKWrapper< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation >
Wrapper for backward compatibility that allows to use instances of DeviceGemmMultipleABDSplitK in contexts where DeviceGemmMultipleABD is expected.
- Note
- The main area where it can be used is DeviceOperationInstanceFactory::GetInstances(). The only difference between API of DeviceGemmMultipleABD and DeviceGemmMultipleABDSplitK is that DeviceGemmMultipleABDSplitK::MakeArgumentPointer requires an additional parameter KBatch which is explicitly passed as 1 by this wrapper.
Member Typedef Documentation
◆ DeviceOp
template<typename AsLayout, typename BsLayout, typename DsLayout, typename ELayout, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation>
| using ck::tensor_operation::device::DeviceGemmMultipleABDSplitKWrapper< AsLayout, BsLayout, DsLayout, ELayout, AsDataType, BsDataType, DsDataType, EDataType, AElementwiseOperation, BElementwiseOperation, CDEElementwiseOperation >::DeviceOp |
Initial value:
DeviceGemmMultipleABDSplitK<AsLayout,
BsLayout,
DsLayout,
ELayout,
AsDataType,
BsDataType,
DsDataType,
EDataType,
AElementwiseOperation,
BElementwiseOperation,
CDEElementwiseOperation>
Definition device_gemm_multiple_abd.hpp:78
Constructor & Destructor Documentation
◆ DeviceGemmMultipleABDSplitKWrapper()
template<typename AsLayout, typename BsLayout, typename DsLayout, typename ELayout, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation>
|
inlineexplicit |
Member Function Documentation
◆ GetTypeString()
template<typename AsLayout, typename BsLayout, typename DsLayout, typename ELayout, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation>
|
inlineoverridevirtual |
Reimplemented from ck::tensor_operation::device::BaseOperator.
◆ IsSupportedArgument()
template<typename AsLayout, typename BsLayout, typename DsLayout, typename ELayout, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation>
|
inlineoverridevirtual |
Reimplemented from ck::tensor_operation::device::BaseOperator.
◆ MakeArgumentPointer()
template<typename AsLayout, typename BsLayout, typename DsLayout, typename ELayout, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation>
|
inlineoverridevirtual |
◆ MakeInvokerPointer()
template<typename AsLayout, typename BsLayout, typename DsLayout, typename ELayout, typename AsDataType, typename BsDataType, typename DsDataType, typename EDataType, typename AElementwiseOperation, typename BElementwiseOperation, typename CDEElementwiseOperation>
|
inlineoverridevirtual |
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>
|
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>
|
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>
|
staticconstexpr |
The documentation for this struct was generated from the following file: