DevicePermute< NumDim, InDataType, OutDataType, ElementwiseOperation > Struct Template Reference

DevicePermute&lt; NumDim, InDataType, OutDataType, ElementwiseOperation &gt; Struct Template Reference#

Composable Kernel: ck::tensor_operation::device::DevicePermute< NumDim, InDataType, OutDataType, ElementwiseOperation > Struct Template Reference
ck::tensor_operation::device::DevicePermute< NumDim, InDataType, OutDataType, ElementwiseOperation > Struct Template Referenceabstract

#include <device_permute.hpp>

Inheritance diagram for ck::tensor_operation::device::DevicePermute< NumDim, InDataType, OutDataType, ElementwiseOperation >:
ck::tensor_operation::device::BaseOperator ck::tensor_operation::device::DevicePermuteImpl< NumDim, InDataType, OutDataType, ElementwiseOperation, BlockSize, NPerBlock, HPerBlock, WPerBlock, InBlockLdsExtraW, InBlockTransferThreadClusterLengths, InBlockTransferThreadClusterArrangeOrder, SrcVectorDim, DstVectorDim, SrcScalarPerVector, DstScalarPerVector >

Public Types

using Lengths = std::array<index_t, NumDim>
using Strides = Lengths

Public Member Functions

virtual std::unique_ptr< BaseArgumentMakeArgumentPointer (const Lengths &in_lengths, const Strides &in_strides, const Lengths &out_lengths, const Strides &out_strides, const void *in_dev_buffer, void *out_dev_buffer, ElementwiseOperation elementwise_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 Typedef Documentation

◆ Lengths

template<index_t NumDim, typename InDataType, typename OutDataType, typename ElementwiseOperation>
using ck::tensor_operation::device::DevicePermute< NumDim, InDataType, OutDataType, ElementwiseOperation >::Lengths = std::array<index_t, NumDim>

◆ Strides

template<index_t NumDim, typename InDataType, typename OutDataType, typename ElementwiseOperation>
using ck::tensor_operation::device::DevicePermute< NumDim, InDataType, OutDataType, ElementwiseOperation >::Strides = Lengths

Member Function Documentation

◆ MakeArgumentPointer()

template<index_t NumDim, typename InDataType, typename OutDataType, typename ElementwiseOperation>
virtual std::unique_ptr< BaseArgument > ck::tensor_operation::device::DevicePermute< NumDim, InDataType, OutDataType, ElementwiseOperation >::MakeArgumentPointer ( const Lengths & in_lengths,
const Strides & in_strides,
const Lengths & out_lengths,
const Strides & out_strides,
const void * in_dev_buffer,
void * out_dev_buffer,
ElementwiseOperation elementwise_op )
pure virtual

◆ MakeInvokerPointer()


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