cub::AgentReducePolicy#

template<int NominalBlockThreads4B, int NominalItemsPerThread4B, typename ComputeT, int VectorLoadLength, BlockReduceAlgorithm BlockAlgorithm, CacheLoadModifier LoadModifier, typename ScalingType = detail::MemBoundScaling<NominalBlockThreads4B, NominalItemsPerThread4B, ComputeT>>
struct AgentReducePolicy : public detail::MemBoundScaling<NominalBlockThreads4B, NominalItemsPerThread4B, ComputeT>#

Parameterizable tuning policy type for AgentReduce.

Template Parameters:
  • NominalBlockThreads4B – Threads per thread block

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

  • ComputeT – Dominant compute type

  • VectorLoadLength – Number of items per vectorized load

  • BlockAlgorithm – Cooperative block-wide reduction algorithm to use

  • LoadModifier – Cache load modifier for reading input elements

Public Static Attributes

static constexpr int VECTOR_LOAD_LENGTH = VectorLoadLength#

Number of items per vectorized load.

static constexpr BlockReduceAlgorithm BLOCK_ALGORITHM = BlockAlgorithm#

Cooperative block-wide reduction algorithm to use.

static constexpr CacheLoadModifier LOAD_MODIFIER = LoadModifier#

Cache load modifier for reading input elements.