Argument Struct Reference

Argument Struct Reference#

Composable Kernel: ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument Struct Reference
ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument Struct Reference

#include <device_reduce_threadwise.hpp>

Inheritance diagram for ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument:
ck::tensor_operation::device::BaseArgument

Public Member Functions

 Argument (const std::array< index_t, Rank > inLengths, const std::array< index_t, Rank > inStrides, const std::array< index_t, NumDstDim > outLengths, const std::array< index_t, NumDstDim > outStrides, const std::array< int, NumReduceDim > reduceDims, double alpha, double beta, const InDataType *in_dev, OutDataType *out_dev, IndexDataType *out_index_dev, const InElementwiseOperation in_elementwise_op, const AccElementwiseOperation acc_elementwise_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

std::array< index_t, Rank > inLengths_
std::array< index_t, Rank > inStrides_
std::array< index_t, NumDstDimoutLengths_
std::array< index_t, NumDstDimoutStrides_
AccDataType alpha_
AccDataType beta_
const InDataType * in_dev_
OutDataType * out_dev_
IndexDataTypeout_index_dev_
InElementwiseOperation in_elementwise_op_
AccElementwiseOperation acc_elementwise_op_
index_t invariant_lowest_length
index_t reduce_lowest_length
long_index_t invariant_total_length
long_index_t reduce_total_length
int numBlockTileIteration
size_t gridSize
Public Attributes inherited from ck::tensor_operation::device::BaseArgument
void * p_workspace_ = nullptr

Constructor & Destructor Documentation

◆ Argument()

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::Argument ( const std::array< index_t, Rank > inLengths,
const std::array< index_t, Rank > inStrides,
const std::array< index_t, NumDstDim > outLengths,
const std::array< index_t, NumDstDim > outStrides,
const std::array< int, NumReduceDim > reduceDims,
double alpha,
double beta,
const InDataType * in_dev,
OutDataType * out_dev,
IndexDataType * out_index_dev,
const InElementwiseOperation in_elementwise_op,
const AccElementwiseOperation acc_elementwise_op )
inline

Member Data Documentation

◆ acc_elementwise_op_

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
AccElementwiseOperation ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::acc_elementwise_op_

◆ alpha_

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
AccDataType ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::alpha_

◆ beta_

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
AccDataType ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::beta_

◆ gridSize

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
size_t ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::gridSize

◆ in_dev_

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
const InDataType* ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::in_dev_

◆ in_elementwise_op_

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
InElementwiseOperation ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::in_elementwise_op_

◆ inLengths_

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
std::array<index_t, Rank> ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::inLengths_

◆ inStrides_

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
std::array<index_t, Rank> ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::inStrides_

◆ invariant_lowest_length

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
index_t ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::invariant_lowest_length

◆ invariant_total_length

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
long_index_t ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::invariant_total_length

◆ numBlockTileIteration

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
int ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::numBlockTileIteration

◆ out_dev_

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
OutDataType* ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::out_dev_

◆ out_index_dev_

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
IndexDataType* ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::out_index_dev_

◆ outLengths_

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
std::array<index_t, NumDstDim> ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::outLengths_

◆ outStrides_

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
std::array<index_t, NumDstDim> ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::outStrides_

◆ reduce_lowest_length

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
index_t ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::reduce_lowest_length

◆ reduce_total_length

template<typename InDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename AccElementwiseOperation, bool PropagateNan, bool OutputIndex, bool TransformIndexKtoGlobal, bool HaveIndexInputIfOutputIndex, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize>
long_index_t ck::tensor_operation::device::DeviceReduceThreadWise< InDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, AccElementwiseOperation, PropagateNan, OutputIndex, TransformIndexKtoGlobal, HaveIndexInputIfOutputIndex, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize >::Argument::reduce_total_length

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