Argument Struct Reference

Argument Struct Reference#

Composable Kernel: ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument Struct Reference
ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument Struct Reference

#include <device_multiple_reduce_threadwise.hpp>

Inheritance diagram for ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument:
ck::tensor_operation::device::BaseArgument

Public Member Functions

 Argument (const std::array< index_t, NumInputDim > &inLengths, const std::array< index_t, NumInputDim > &inStrides, const std::array< index_t, NumOutputDim > &outLengths, const std::array< std::array< index_t, NumOutputDim >, NumReduction > &outStridesArray, const std::array< int, NumReduceDim > &reduceDims, const std::array< double, NumReduction > &alphas, const std::array< double, NumReduction > &betas, const void *in_dev, const std::array< void *, NumReduction > &out_dev_buffers, const InElementwiseOperationTuple in_elementwise_op_tuple, const AccElementwiseOperationTuple acc_elementwise_op_tuple)
Public Member Functions inherited from ck::tensor_operation::device::BaseArgument
 BaseArgument ()=default
 BaseArgument (const BaseArgument &)=default
BaseArgumentoperator= (const BaseArgument &)=default
virtual ~BaseArgument ()

Public Attributes

std::array< index_t, NumInputDiminLengths_
std::array< index_t, NumInputDiminStrides_
std::array< index_t, NumOutputDimoutLengths_
std::array< std::array< index_t, NumOutputDim >, NumReduction > outStridesArray_
Array< AccDataType, NumReduction > alpha_values_
Array< AccDataType, NumReduction > beta_values_
const InDataType * in_dev_
OutDataTypePointerTuple out_dev_buffers_
InGridDesc_M_K in_grid_desc_m_k
OutGridDesc_M_Tuple out_grid_desc_m_tuple
InElementwiseOperationTuple in_elementwise_op_tuple_
AccElementwiseOperationTuple acc_elementwise_op_tuple_
long_index_t invariant_total_length
long_index_t reduce_total_length
size_t gridSize
Public Attributes inherited from ck::tensor_operation::device::BaseArgument
void * p_workspace_ = nullptr

Constructor & Destructor Documentation

◆ Argument()

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::Argument ( const std::array< index_t, NumInputDim > & inLengths,
const std::array< index_t, NumInputDim > & inStrides,
const std::array< index_t, NumOutputDim > & outLengths,
const std::array< std::array< index_t, NumOutputDim >, NumReduction > & outStridesArray,
const std::array< int, NumReduceDim > & reduceDims,
const std::array< double, NumReduction > & alphas,
const std::array< double, NumReduction > & betas,
const void * in_dev,
const std::array< void *, NumReduction > & out_dev_buffers,
const InElementwiseOperationTuple in_elementwise_op_tuple,
const AccElementwiseOperationTuple acc_elementwise_op_tuple )
inline

Member Data Documentation

◆ acc_elementwise_op_tuple_

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
AccElementwiseOperationTuple ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::acc_elementwise_op_tuple_

◆ alpha_values_

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
Array<AccDataType, NumReduction> ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::alpha_values_

◆ beta_values_

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
Array<AccDataType, NumReduction> ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::beta_values_

◆ gridSize

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
size_t ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::gridSize

◆ in_dev_

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
const InDataType* ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::in_dev_

◆ in_elementwise_op_tuple_

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
InElementwiseOperationTuple ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::in_elementwise_op_tuple_

◆ in_grid_desc_m_k

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
InGridDesc_M_K ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::in_grid_desc_m_k

◆ inLengths_

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
std::array<index_t, NumInputDim> ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::inLengths_

◆ inStrides_

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
std::array<index_t, NumInputDim> ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::inStrides_

◆ invariant_total_length

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
long_index_t ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::invariant_total_length

◆ out_dev_buffers_

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
OutDataTypePointerTuple ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::out_dev_buffers_

◆ out_grid_desc_m_tuple

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
OutGridDesc_M_Tuple ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::out_grid_desc_m_tuple

◆ outLengths_

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
std::array<index_t, NumOutputDim> ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::outLengths_

◆ outStridesArray_

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
std::array<std::array<index_t, NumOutputDim>, NumReduction> ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::outStridesArray_

◆ reduce_total_length

template<index_t NumReduction, typename InDataType, typename AccDataType, typename OutDataTypeTuple, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperationTuple, typename AccElementwiseOperationTuple, bool PropagateNan, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, typename OutDstVectorSizeSeq>
long_index_t ck::tensor_operation::device::DeviceMultipleReduceThreadWise< NumReduction, InDataType, AccDataType, OutDataTypeTuple, Rank, NumReduceDim, ReduceOperation, InElementwiseOperationTuple, AccElementwiseOperationTuple, PropagateNan, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSizeSeq >::Argument::reduce_total_length

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