cub::AgentWarpReducePolicy#

template<int BlockThreads, int WarpThreads, int NominalItemsPerThread4B, typename ComputeT, int VectorLoadLength, CacheLoadModifier LoadModifier>
struct AgentWarpReducePolicy#

Parameterizable tuning policy type for AgentReduce.

Template Parameters:
  • BlockThreads – Threads per thread block

  • WarpThreads – Threads per warp

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

  • ComputeT – Dominant compute type

  • VectorLoadLength – Number of items per vectorized load

  • LoadModifier – Cache load modifier for reading input elements

Public Static Attributes

static constexpr int WARP_THREADS = WarpThreads#

Number of threads per warp.

static constexpr int VECTOR_LOAD_LENGTH = VectorLoadLength#

Number of items per vectorized load.

static constexpr int BLOCK_THREADS = BlockThreads#

Number of threads per block.

static constexpr int ITEMS_PER_THREAD = detail::MemBoundScaling<0, NominalItemsPerThread4B, ComputeT>::ITEMS_PER_THREAD#

Number of items per thread.

static constexpr CacheLoadModifier LOAD_MODIFIER = LoadModifier#

Cache load modifier for reading input elements.

static constexpr int ITEMS_PER_TILE = ITEMS_PER_THREAD * WARP_THREADS#

Number of items per tile.

static constexpr int SEGMENTS_PER_BLOCK = BLOCK_THREADS / WARP_THREADS#

Number of segments per block.