Argument Struct Reference

Argument Struct Reference#

Composable Kernel: ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument Struct Reference
ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument Struct Reference

#include <device_reduce_threadwise_multi_d.hpp>

Inheritance diagram for ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::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< std::array< index_t, NumDstDim >, NumDTensor > DsLengths, const std::array< std::array< index_t, NumDstDim >, NumDTensor > DsStrides, const std::array< index_t, NumDstDim > outLengths, const std::array< index_t, NumDstDim > outStrides, const std::array< int, NumReduceDim > reduceDims, const InDataType *in_dev, const std::array< const void *, NumDTensor > ds_dev, OutDataType *out_dev, const InElementwiseOperation in_elementwise_op, const OutElementwiseOperation out_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< std::array< index_t, NumDstDim >, NumDTensorDsLengths_
std::array< std::array< index_t, NumDstDim >, NumDTensorDsStrides_
std::array< index_t, NumDstDimoutLengths_
std::array< index_t, NumDstDimoutStrides_
const InDataType * in_dev_
OutDataType * out_dev_
DsGridPointer p_ds_grid_
InElementwiseOperation in_elementwise_op_
OutElementwiseOperation out_elementwise_op_
DsGridDesc_M ds_grid_desc_m_
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 DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::Argument ( const std::array< index_t, Rank > inLengths,
const std::array< index_t, Rank > inStrides,
const std::array< std::array< index_t, NumDstDim >, NumDTensor > DsLengths,
const std::array< std::array< index_t, NumDstDim >, NumDTensor > DsStrides,
const std::array< index_t, NumDstDim > outLengths,
const std::array< index_t, NumDstDim > outStrides,
const std::array< int, NumReduceDim > reduceDims,
const InDataType * in_dev,
const std::array< const void *, NumDTensor > ds_dev,
OutDataType * out_dev,
const InElementwiseOperation in_elementwise_op,
const OutElementwiseOperation out_elementwise_op )
inline

Member Data Documentation

◆ ds_grid_desc_m_

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
DsGridDesc_M ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::ds_grid_desc_m_

◆ DsLengths_

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
std::array<std::array<index_t, NumDstDim>, NumDTensor> ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::DsLengths_

◆ DsStrides_

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
std::array<std::array<index_t, NumDstDim>, NumDTensor> ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::DsStrides_

◆ gridSize

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
size_t ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::gridSize

◆ in_dev_

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
const InDataType* ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::in_dev_

◆ in_elementwise_op_

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
InElementwiseOperation ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::in_elementwise_op_

◆ inLengths_

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
std::array<index_t, Rank> ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::inLengths_

◆ inStrides_

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
std::array<index_t, Rank> ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::inStrides_

◆ invariant_lowest_length

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
index_t ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::invariant_lowest_length

◆ invariant_total_length

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
long_index_t ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::invariant_total_length

◆ numBlockTileIteration

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
int ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::numBlockTileIteration

◆ out_dev_

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
OutDataType* ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::out_dev_

◆ out_elementwise_op_

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
OutElementwiseOperation ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::out_elementwise_op_

◆ outLengths_

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
std::array<index_t, NumDstDim> ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::outLengths_

◆ outStrides_

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
std::array<index_t, NumDstDim> ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::outStrides_

◆ p_ds_grid_

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
DsGridPointer ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::p_ds_grid_

◆ reduce_lowest_length

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
index_t ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::reduce_lowest_length

◆ reduce_total_length

template<typename InDataType, typename DsDataType, typename AccDataType, typename OutDataType, index_t Rank, index_t NumReduceDim, typename ReduceOperation, typename InElementwiseOperation, typename OutElementwiseOperation, index_t BlockSize, index_t MThreadSliceSize, index_t KThreadSliceSize, index_t InSrcVectorDim, index_t InSrcVectorSize, index_t OutDstVectorSize, typename DsVectorSizeSequence>
long_index_t ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::Argument::reduce_total_length

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