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_>
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_>
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_>
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_>
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: