cub::AgentReducePolicy#

template<int NOMINAL_BLOCK_THREADS_4B, int NOMINAL_ITEMS_PER_THREAD_4B, typename ComputeT, int _VECTOR_LOAD_LENGTH, BlockReduceAlgorithm _BLOCK_ALGORITHM, CacheLoadModifier _LOAD_MODIFIER, typename ScalingType = detail::MemBoundScaling<NOMINAL_BLOCK_THREADS_4B, NOMINAL_ITEMS_PER_THREAD_4B, ComputeT>>
struct AgentReducePolicy : public detail::MemBoundScaling<NOMINAL_BLOCK_THREADS_4B, NOMINAL_ITEMS_PER_THREAD_4B, ComputeT>#

Parameterizable tuning policy type for AgentReduce.

Template Parameters:
  • NOMINAL_BLOCK_THREADS_4B – Threads per thread block

  • NOMINAL_ITEMS_PER_THREAD_4B – Items per thread (per tile of input)

  • ComputeT – Dominant compute type

  • _VECTOR_LOAD_LENGTH – Number of items per vectorized load

  • _BLOCK_ALGORITHM – Cooperative block-wide reduction algorithm to use

  • _LOAD_MODIFIER – Cache load modifier for reading input elements

Public Static Attributes

static constexpr int VECTOR_LOAD_LENGTH = _VECTOR_LOAD_LENGTH#

Number of items per vectorized load.

static constexpr BlockReduceAlgorithm BLOCK_ALGORITHM = _BLOCK_ALGORITHM#

Cooperative block-wide reduction algorithm to use.

static constexpr CacheLoadModifier LOAD_MODIFIER = _LOAD_MODIFIER#

Cache load modifier for reading input elements.