PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ > Struct Template Reference

PoolProblem&lt; InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ > Struct Template Reference
ck_tile::PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ > Struct Template Reference

#include <pool_problem.hpp>

Public Types

using InDataType = remove_cvref_t< InDataType_ >
 
using OutDataType = remove_cvref_t< OutDataType_ >
 
using ComputeDataType = remove_cvref_t< ComputeDataType_ >
 
using IndexDataType = remove_cvref_t< IndexDataType_ >
 
using BlockShape = remove_cvref_t< BlockShape_ >
 
using ReduceOp = ReduceOp_
 
using OutputIndex = bool_constant< OutputIndex_ >
 
using PropagateNan = bool_constant< PropagateNan_ >
 

Static Public Attributes

static constexpr bool kOutputIndex = OutputIndex_
 
static constexpr bool kPropagateNan = PropagateNan_
 
static constexpr bool kNeedCrossLaneSync = BlockShape::ThreadPerWarp_N > 1
 
static constexpr bool kNeedCrossWarpSync = BlockShape::WarpPerBlock_N > 1
 

Member Typedef Documentation

◆ BlockShape

template<typename InDataType_ , typename OutDataType_ , typename ComputeDataType_ , typename IndexDataType_ , typename ReduceOp_ , bool OutputIndex_, bool PropagateNan_, typename BlockShape_ >
using ck_tile::PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ >::BlockShape = remove_cvref_t<BlockShape_>

◆ ComputeDataType

template<typename InDataType_ , typename OutDataType_ , typename ComputeDataType_ , typename IndexDataType_ , typename ReduceOp_ , bool OutputIndex_, bool PropagateNan_, typename BlockShape_ >
using ck_tile::PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ >::ComputeDataType = remove_cvref_t<ComputeDataType_>

◆ InDataType

template<typename InDataType_ , typename OutDataType_ , typename ComputeDataType_ , typename IndexDataType_ , typename ReduceOp_ , bool OutputIndex_, bool PropagateNan_, typename BlockShape_ >
using ck_tile::PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ >::InDataType = remove_cvref_t<InDataType_>

◆ IndexDataType

template<typename InDataType_ , typename OutDataType_ , typename ComputeDataType_ , typename IndexDataType_ , typename ReduceOp_ , bool OutputIndex_, bool PropagateNan_, typename BlockShape_ >
using ck_tile::PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ >::IndexDataType = remove_cvref_t<IndexDataType_>

◆ OutDataType

template<typename InDataType_ , typename OutDataType_ , typename ComputeDataType_ , typename IndexDataType_ , typename ReduceOp_ , bool OutputIndex_, bool PropagateNan_, typename BlockShape_ >
using ck_tile::PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ >::OutDataType = remove_cvref_t<OutDataType_>

◆ OutputIndex

template<typename InDataType_ , typename OutDataType_ , typename ComputeDataType_ , typename IndexDataType_ , typename ReduceOp_ , bool OutputIndex_, bool PropagateNan_, typename BlockShape_ >
using ck_tile::PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ >::OutputIndex = bool_constant<OutputIndex_>

◆ PropagateNan

template<typename InDataType_ , typename OutDataType_ , typename ComputeDataType_ , typename IndexDataType_ , typename ReduceOp_ , bool OutputIndex_, bool PropagateNan_, typename BlockShape_ >
using ck_tile::PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ >::PropagateNan = bool_constant<PropagateNan_>

◆ ReduceOp

template<typename InDataType_ , typename OutDataType_ , typename ComputeDataType_ , typename IndexDataType_ , typename ReduceOp_ , bool OutputIndex_, bool PropagateNan_, typename BlockShape_ >
using ck_tile::PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ >::ReduceOp = ReduceOp_

Member Data Documentation

◆ kNeedCrossLaneSync

template<typename InDataType_ , typename OutDataType_ , typename ComputeDataType_ , typename IndexDataType_ , typename ReduceOp_ , bool OutputIndex_, bool PropagateNan_, typename BlockShape_ >
constexpr bool ck_tile::PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ >::kNeedCrossLaneSync = BlockShape::ThreadPerWarp_N > 1
staticconstexpr

◆ kNeedCrossWarpSync

template<typename InDataType_ , typename OutDataType_ , typename ComputeDataType_ , typename IndexDataType_ , typename ReduceOp_ , bool OutputIndex_, bool PropagateNan_, typename BlockShape_ >
constexpr bool ck_tile::PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ >::kNeedCrossWarpSync = BlockShape::WarpPerBlock_N > 1
staticconstexpr

◆ kOutputIndex

template<typename InDataType_ , typename OutDataType_ , typename ComputeDataType_ , typename IndexDataType_ , typename ReduceOp_ , bool OutputIndex_, bool PropagateNan_, typename BlockShape_ >
constexpr bool ck_tile::PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ >::kOutputIndex = OutputIndex_
staticconstexpr

◆ kPropagateNan

template<typename InDataType_ , typename OutDataType_ , typename ComputeDataType_ , typename IndexDataType_ , typename ReduceOp_ , bool OutputIndex_, bool PropagateNan_, typename BlockShape_ >
constexpr bool ck_tile::PoolProblem< InDataType_, OutDataType_, ComputeDataType_, IndexDataType_, ReduceOp_, OutputIndex_, PropagateNan_, BlockShape_ >::kPropagateNan = PropagateNan_
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/pooling/pipeline/pool_problem.hpp