Argument Struct Reference

Argument Struct Reference#

Composable Kernel: ck::tensor_operation::device::DeviceElementwiseImpl< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq >::Argument Struct Reference
ck::tensor_operation::device::DeviceElementwiseImpl< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq >::Argument Struct Reference

#include <device_elementwise_dynamic_vector_dims_impl.hpp>

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

Public Member Functions

 Argument (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)
 Argument (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)
Public Member Functions inherited from ck::tensor_operation::device::BaseArgument
 BaseArgument ()=default
 BaseArgument (const BaseArgument &)=default
BaseArgumentoperator= (const BaseArgument &)=default
virtual ~BaseArgument ()

Public Attributes

InDataTypePointerTuple in_dev_buffers_
OutDataTypePointerTuple out_dev_buffers_
std::array< index_t, NumDim > lengths_
std::array< std::array< index_t, NumDim >, NumInputinStridesArray_
std::array< std::array< index_t, NumDim >, NumOutputoutStridesArray_
ElementwiseOperation elementwise_op_
UnaryOperation unary_op_
Scale scale_op_
index_t blockSize_
Public Attributes inherited from ck::tensor_operation::device::BaseArgument
void * p_workspace_ = nullptr

Constructor & Destructor Documentation

◆ Argument() [1/2]

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq>
ck::tensor_operation::device::DeviceElementwiseImpl< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq >::Argument::Argument ( 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 )
inline

◆ Argument() [2/2]

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq>
ck::tensor_operation::device::DeviceElementwiseImpl< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq >::Argument::Argument ( 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 )
inline

Member Data Documentation

◆ blockSize_

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq>
index_t ck::tensor_operation::device::DeviceElementwiseImpl< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq >::Argument::blockSize_

◆ elementwise_op_

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq>
ElementwiseOperation ck::tensor_operation::device::DeviceElementwiseImpl< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq >::Argument::elementwise_op_

◆ in_dev_buffers_

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq>
InDataTypePointerTuple ck::tensor_operation::device::DeviceElementwiseImpl< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq >::Argument::in_dev_buffers_

◆ inStridesArray_

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq>
std::array< std::array< index_t, NumDim >, NumInput > ck::tensor_operation::device::DeviceElementwiseImpl< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq >::Argument::inStridesArray_

◆ lengths_

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq>
std::array< index_t, NumDim > ck::tensor_operation::device::DeviceElementwiseImpl< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq >::Argument::lengths_

◆ out_dev_buffers_

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq>
OutDataTypePointerTuple ck::tensor_operation::device::DeviceElementwiseImpl< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq >::Argument::out_dev_buffers_

◆ outStridesArray_

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq>
std::array< std::array< index_t, NumDim >, NumOutput > ck::tensor_operation::device::DeviceElementwiseImpl< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq >::Argument::outStridesArray_

◆ scale_op_

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq>
Scale ck::tensor_operation::device::DeviceElementwiseImpl< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq >::Argument::scale_op_

◆ unary_op_

template<typename InDataTypeTuple, typename OutDataTypeTuple, typename ElementwiseOperation, index_t NumDim, index_t BlockSize, index_t M0PerBlock, index_t M1PerBlock, index_t M0PerThread, index_t M1PerThread, typename ThreadClusterArrangeOrder, typename InScalarPerVectorSeq, typename OutScalarPerVectorSeq>
UnaryOperation ck::tensor_operation::device::DeviceElementwiseImpl< InDataTypeTuple, OutDataTypeTuple, ElementwiseOperation, NumDim, BlockSize, M0PerBlock, M1PerBlock, M0PerThread, M1PerThread, ThreadClusterArrangeOrder, InScalarPerVectorSeq, OutScalarPerVectorSeq >::Argument::unary_op_

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