DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence > Struct Template Reference

DeviceReduceThreadWiseMultiD&lt; InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence &gt; Struct Template Reference#

Composable Kernel: ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence > Struct Template Reference
ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence > Struct Template 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 >:
ck::tensor_operation::device::DeviceReduceMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation > ck::tensor_operation::device::BaseOperator

Classes

struct  Argument
struct  Invoker

Public Types

using IndexDataType = int32_t
using InGridDesc_M_K = decltype(MakeSrc2dDescriptor({}, {}))
using OutGridDesc_M = decltype(MakeDst1dDescriptor({}, {}))
using DsGridDesc_M = decltype(MakeDsDescriptor({}, {}))
using GridwiseReduce
using DsGridPointer = typename GridwiseReduce::DsGridPointer

Public Member Functions

bool IsSupportedArgument (const BaseArgument *p_arg) override
std::unique_ptr< BaseArgumentMakeArgumentPointer (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 void *in_dev, const std::array< const void *, NumDTensor > ds_dev, void *out_dev, const InElementwiseOperation in_elementwise_op, const OutElementwiseOperation out_elementwise_op) override
std::unique_ptr< BaseInvokerMakeInvokerPointer () override
std::string GetTypeString () const override
Public Member Functions inherited from ck::tensor_operation::device::DeviceReduceMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation >
virtual std::unique_ptr< BaseArgumentMakeArgumentPointer (const std::array< index_t, Rank > inLengths, const std::array< index_t, Rank > inStrides, const std::array< std::array< index_t, NumOutDim >, NumDTensor > DsLengths, const std::array< std::array< index_t, NumOutDim >, NumDTensor > DsStrides, const std::array< index_t, NumOutDim > outLengths, const std::array< index_t, NumOutDim > outStrides, const std::array< int, NumReduceDim > reduceDims, const void *in_dev, const std::array< const void *, NumDTensor > ds_dev, void *out_dev, const InElementwiseOperation in_elementwise_op, const OutElementwiseOperation out_elementwise_op)=0
Public Member Functions inherited from ck::tensor_operation::device::BaseOperator
 BaseOperator ()=default
 BaseOperator (const BaseOperator &)=default
BaseOperatoroperator= (const BaseOperator &)=default
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 Member Functions

static auto MakeSrc2dDescriptor (const std::array< index_t, Rank > &inLengths, const std::array< index_t, Rank > &inStrides)
static auto MakeDst1dDescriptor (const std::array< index_t, NumDstDim > &outLengths, const std::array< index_t, NumDstDim > &outStrides)
static auto MakeDsDescriptor (const std::array< std::array< index_t, NumDstDim >, NumDTensor > DsLengths, std::array< std::array< index_t, NumDstDim >, NumDTensor > DsStrides)

Static Public Attributes

static constexpr index_t NumInvariantDim = Rank - NumReduceDim
static constexpr index_t NumDTensor = DsDataType::Size()
static constexpr index_t NumSrcDim = Rank
static constexpr index_t NumDstDim = (NumInvariantDim == 0) ? 1 : NumInvariantDim
static constexpr bool reduceAllDim = (NumInvariantDim == 0)
static constexpr index_t M_BlockTileSize = BlockSize * MThreadSliceSize
static constexpr index_t K_BlockTileSize = 1 * KThreadSliceSize
Static Public Attributes inherited from ck::tensor_operation::device::DeviceReduceMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation >
static constexpr index_t NumOutDim = (Rank - NumReduceDim == 0) ? 1 : Rank - NumReduceDim
static constexpr index_t NumDTensor = DsDataType::Size()

Member Typedef Documentation

◆ DsGridDesc_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>
using ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::DsGridDesc_M = decltype(MakeDsDescriptor({}, {}))

◆ DsGridPointer

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>
using ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::DsGridPointer = typename GridwiseReduce::DsGridPointer

◆ GridwiseReduce

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>
using ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::GridwiseReduce
Initial value:
DsDataType,
OutDataType,
AccDataType,
ReduceOperation,
InElementwiseOperation,
OutElementwiseOperation,
BlockSize,
MThreadSliceSize,
KThreadSliceSize,
InSrcVectorDim,
InSrcVectorSize,
OutDstVectorSize,
DsVectorSizeSequence>
@ Set
Definition ck.hpp:278
Definition gridwise_2d_reduction_threadwise_multi_d.hpp:66
decltype(MakeDsDescriptor({}, {})) DsGridDesc_M
Definition device_reduce_threadwise_multi_d.hpp:173
decltype(MakeDst1dDescriptor({}, {})) OutGridDesc_M
Definition device_reduce_threadwise_multi_d.hpp:172
decltype(MakeSrc2dDescriptor({}, {})) InGridDesc_M_K
Definition device_reduce_threadwise_multi_d.hpp:171

◆ IndexDataType

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>
using ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::IndexDataType = int32_t

◆ InGridDesc_M_K

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>
using ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::InGridDesc_M_K = decltype(MakeSrc2dDescriptor({}, {}))

◆ OutGridDesc_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>
using ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::OutGridDesc_M = decltype(MakeDst1dDescriptor({}, {}))

Member Function Documentation

◆ GetTypeString()

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::string ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::GetTypeString ( ) const
inlineoverridevirtual

◆ IsSupportedArgument()

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>
bool ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::IsSupportedArgument ( const BaseArgument * p_arg)
inlineoverridevirtual

◆ MakeArgumentPointer()

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::unique_ptr< BaseArgument > ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::MakeArgumentPointer ( 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 void * in_dev,
const std::array< const void *, NumDTensor > ds_dev,
void * out_dev,
const InElementwiseOperation in_elementwise_op,
const OutElementwiseOperation out_elementwise_op )
inlineoverride

◆ MakeDsDescriptor()

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>
auto ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::MakeDsDescriptor ( const std::array< std::array< index_t, NumDstDim >, NumDTensor > DsLengths,
std::array< std::array< index_t, NumDstDim >, NumDTensor > DsStrides )
inlinestatic

◆ MakeDst1dDescriptor()

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>
auto ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::MakeDst1dDescriptor ( const std::array< index_t, NumDstDim > & outLengths,
const std::array< index_t, NumDstDim > & outStrides )
inlinestatic

◆ MakeInvokerPointer()

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::unique_ptr< BaseInvoker > ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::MakeInvokerPointer ( )
inlineoverridevirtual

◆ MakeSrc2dDescriptor()

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>
auto ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::MakeSrc2dDescriptor ( const std::array< index_t, Rank > & inLengths,
const std::array< index_t, Rank > & inStrides )
inlinestatic

Member Data Documentation

◆ K_BlockTileSize

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 >::K_BlockTileSize = 1 * KThreadSliceSize
staticconstexpr

◆ M_BlockTileSize

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 >::M_BlockTileSize = BlockSize * MThreadSliceSize
staticconstexpr

◆ NumDstDim

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 >::NumDstDim = (NumInvariantDim == 0) ? 1 : NumInvariantDim
staticconstexpr

◆ NumDTensor

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 >::NumDTensor = DsDataType::Size()
staticconstexpr

◆ NumInvariantDim

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 >::NumInvariantDim = Rank - NumReduceDim
staticconstexpr

◆ NumSrcDim

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 >::NumSrcDim = Rank
staticconstexpr

◆ reduceAllDim

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>
bool ck::tensor_operation::device::DeviceReduceThreadWiseMultiD< InDataType, DsDataType, AccDataType, OutDataType, Rank, NumReduceDim, ReduceOperation, InElementwiseOperation, OutElementwiseOperation, BlockSize, MThreadSliceSize, KThreadSliceSize, InSrcVectorDim, InSrcVectorSize, OutDstVectorSize, DsVectorSizeSequence >::reduceAllDim = (NumInvariantDim == 0)
staticconstexpr

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