DeviceElementwise< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim > Struct Template Reference

DeviceElementwise&lt; InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim &gt; Struct Template Reference#

Composable Kernel: ck::tensor_operation::device::DeviceElementwise< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim > Struct Template Reference
ck::tensor_operation::device::DeviceElementwise< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim > Struct Template Referenceabstract

#include <device_elementwise.hpp>

Inheritance diagram for ck::tensor_operation::device::DeviceElementwise< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim >:
ck::tensor_operation::device::BaseOperator ck::tensor_operation::device::BaseOperator ck::tensor_operation::device::DeviceElementwiseImpl< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq >

Public Member Functions

virtual std::unique_ptr< BaseArgumentMakeArgumentPointer (const std::array< index_t, NumDim > lengths, const std::array< std::array< index_t, NumDim >, NumInput > inStridesArray, const std::array< std::array< index_t, NumDim >, NumOutput > outStridesArray, const std::array< const void *, NumInput > in_dev_buffers, const std::array< void *, NumOutput > out_dev_buffers, ElementwiseOperation elementwise_op)=0
virtual std::unique_ptr< BaseInvokerMakeInvokerPointer ()=0
virtual std::unique_ptr< BaseArgumentMakeArgumentPointer (const std::array< index_t, NumDim > lengths, const std::array< std::array< index_t, NumDim >, NumInput > inStridesArray, const std::array< std::array< index_t, NumDim >, NumOutput > outStridesArray, const std::array< const void *, NumInput > in_dev_buffers, const std::array< void *, NumOutput > out_dev_buffers, ElementwiseOperation elementwise_op, UnaryOperation unary_op, Scale scale_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 int NumInput = InDataTypeTuple::Size()
static constexpr int NumOutput = OutDataTypeTuple::Size()

Detailed Description

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim>
struct ck::tensor_operation::device::DeviceElementwise< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim >
Note
This structure is deprecated (left for backwards compatibility). Please use DeviceElementwise from device_elementwise.hpp.

Member Function Documentation

◆ MakeArgumentPointer() [1/2]

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim>
virtual std::unique_ptr< BaseArgument > ck::tensor_operation::device::DeviceElementwise< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim >::MakeArgumentPointer ( const std::array< index_t, NumDim > lengths,
const std::array< std::array< index_t, NumDim >, NumInput > inStridesArray,
const std::array< std::array< index_t, NumDim >, NumOutput > outStridesArray,
const std::array< const void *, NumInput > in_dev_buffers,
const std::array< void *, NumOutput > out_dev_buffers,
ElementwiseOperation elementwise_op )
pure virtual

◆ MakeArgumentPointer() [2/2]

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim>
virtual std::unique_ptr< BaseArgument > ck::tensor_operation::device::DeviceElementwise< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim >::MakeArgumentPointer ( const std::array< index_t, NumDim > lengths,
const std::array< std::array< index_t, NumDim >, NumInput > inStridesArray,
const std::array< std::array< index_t, NumDim >, NumOutput > outStridesArray,
const std::array< const void *, NumInput > in_dev_buffers,
const std::array< void *, NumOutput > out_dev_buffers,
ElementwiseOperation elementwise_op,
UnaryOperation unary_op,
Scale scale_op )
pure virtual

◆ MakeInvokerPointer() [1/2]

◆ MakeInvokerPointer() [2/2]

Member Data Documentation

◆ NumInput

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim>
constexpr int ck::tensor_operation::device::DeviceElementwise< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim >::NumInput = InDataTypeTuple::Size()
staticconstexpr

◆ NumOutput

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim>
constexpr int ck::tensor_operation::device::DeviceElementwise< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim >::NumOutput = OutDataTypeTuple::Size()
staticconstexpr

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