Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ > Struct Template Reference

Reduce2dProblem&lt; XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ > Struct Template Reference
ck_tile::Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ > Struct Template Reference

#include <reduce2d_problem.hpp>

Public Types

using XDataType = remove_cvref_t< XDataType_ >
 
using ComputeDataType = remove_cvref_t< ComputeDataType_ >
 
using YDataType = remove_cvref_t< YDataType_ >
 
using BlockShape = remove_cvref_t< BlockShape_ >
 
using ReduceOp = ReduceOp_
 
using KeptDim = remove_cvref_t< KeptDim_ >
 
using ReduceDims = remove_cvref_t< ReduceDims_ >
 

Static Public Attributes

static constexpr index_t Rank = Rank_
 
static constexpr index_t NumReduceDim = ReduceDims::size()
 
static constexpr bool kOutputIndex = OutputIndex_
 
static constexpr bool kNeedCrossLaneSync = BlockShape::ThreadPerWarp_N > 1
 
static constexpr bool kNeedCrossWarpSync = BlockShape::WarpPerBlock_N > 1
 

Member Typedef Documentation

◆ BlockShape

template<typename XDataType_ , typename ComputeDataType_ , typename YDataType_ , typename BlockShape_ , typename ReduceOp_ , typename KeptDim_ , typename ReduceDims_ , index_t Rank_, bool OutputIndex_ = false>
using ck_tile::Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ >::BlockShape = remove_cvref_t<BlockShape_>

◆ ComputeDataType

template<typename XDataType_ , typename ComputeDataType_ , typename YDataType_ , typename BlockShape_ , typename ReduceOp_ , typename KeptDim_ , typename ReduceDims_ , index_t Rank_, bool OutputIndex_ = false>
using ck_tile::Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ >::ComputeDataType = remove_cvref_t<ComputeDataType_>

◆ KeptDim

template<typename XDataType_ , typename ComputeDataType_ , typename YDataType_ , typename BlockShape_ , typename ReduceOp_ , typename KeptDim_ , typename ReduceDims_ , index_t Rank_, bool OutputIndex_ = false>
using ck_tile::Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ >::KeptDim = remove_cvref_t<KeptDim_>

◆ ReduceDims

template<typename XDataType_ , typename ComputeDataType_ , typename YDataType_ , typename BlockShape_ , typename ReduceOp_ , typename KeptDim_ , typename ReduceDims_ , index_t Rank_, bool OutputIndex_ = false>
using ck_tile::Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ >::ReduceDims = remove_cvref_t<ReduceDims_>

◆ ReduceOp

template<typename XDataType_ , typename ComputeDataType_ , typename YDataType_ , typename BlockShape_ , typename ReduceOp_ , typename KeptDim_ , typename ReduceDims_ , index_t Rank_, bool OutputIndex_ = false>
using ck_tile::Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ >::ReduceOp = ReduceOp_

◆ XDataType

template<typename XDataType_ , typename ComputeDataType_ , typename YDataType_ , typename BlockShape_ , typename ReduceOp_ , typename KeptDim_ , typename ReduceDims_ , index_t Rank_, bool OutputIndex_ = false>
using ck_tile::Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ >::XDataType = remove_cvref_t<XDataType_>

◆ YDataType

template<typename XDataType_ , typename ComputeDataType_ , typename YDataType_ , typename BlockShape_ , typename ReduceOp_ , typename KeptDim_ , typename ReduceDims_ , index_t Rank_, bool OutputIndex_ = false>
using ck_tile::Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ >::YDataType = remove_cvref_t<YDataType_>

Member Data Documentation

◆ kNeedCrossLaneSync

template<typename XDataType_ , typename ComputeDataType_ , typename YDataType_ , typename BlockShape_ , typename ReduceOp_ , typename KeptDim_ , typename ReduceDims_ , index_t Rank_, bool OutputIndex_ = false>
constexpr bool ck_tile::Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ >::kNeedCrossLaneSync = BlockShape::ThreadPerWarp_N > 1
staticconstexpr

◆ kNeedCrossWarpSync

template<typename XDataType_ , typename ComputeDataType_ , typename YDataType_ , typename BlockShape_ , typename ReduceOp_ , typename KeptDim_ , typename ReduceDims_ , index_t Rank_, bool OutputIndex_ = false>
constexpr bool ck_tile::Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ >::kNeedCrossWarpSync = BlockShape::WarpPerBlock_N > 1
staticconstexpr

◆ kOutputIndex

template<typename XDataType_ , typename ComputeDataType_ , typename YDataType_ , typename BlockShape_ , typename ReduceOp_ , typename KeptDim_ , typename ReduceDims_ , index_t Rank_, bool OutputIndex_ = false>
constexpr bool ck_tile::Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ >::kOutputIndex = OutputIndex_
staticconstexpr

◆ NumReduceDim

template<typename XDataType_ , typename ComputeDataType_ , typename YDataType_ , typename BlockShape_ , typename ReduceOp_ , typename KeptDim_ , typename ReduceDims_ , index_t Rank_, bool OutputIndex_ = false>
constexpr index_t ck_tile::Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ >::NumReduceDim = ReduceDims::size()
staticconstexpr

◆ Rank

template<typename XDataType_ , typename ComputeDataType_ , typename YDataType_ , typename BlockShape_ , typename ReduceOp_ , typename KeptDim_ , typename ReduceDims_ , index_t Rank_, bool OutputIndex_ = false>
constexpr index_t ck_tile::Reduce2dProblem< XDataType_, ComputeDataType_, YDataType_, BlockShape_, ReduceOp_, KeptDim_, ReduceDims_, Rank_, OutputIndex_ >::Rank = Rank_
staticconstexpr

The documentation for this struct was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/reduce/pipeline/reduce2d_problem.hpp