cub::AgentHistogramPolicy#

template<int _BLOCK_THREADS, int _PIXELS_PER_THREAD, BlockLoadAlgorithm _LOAD_ALGORITHM, CacheLoadModifier _LOAD_MODIFIER, bool _RLE_COMPRESS, BlockHistogramMemoryPreference _MEM_PREFERENCE, bool _WORK_STEALING, int _VEC_SIZE = 4>
struct AgentHistogramPolicy#

Parameterizable tuning policy type for AgentHistogram.

Template Parameters:
  • _BLOCK_THREADS – Threads per thread block

  • _PIXELS_PER_THREAD – Pixels per thread (per tile of input)

  • _LOAD_ALGORITHM – The BlockLoad algorithm to use

  • _LOAD_MODIFIER – Cache load modifier for reading input elements

  • _RLE_COMPRESS – Whether to perform localized RLE to compress samples before histogramming

  • _MEM_PREFERENCE – Whether to prefer privatized shared-memory bins (versus privatized global-memory bins)

  • _WORK_STEALING – Whether to dequeue tiles from a global work queue

  • _VEC_SIZE – Vector size for samples loading (1, 2, 4)

Public Static Attributes

static constexpr int BLOCK_THREADS = _BLOCK_THREADS#

Threads per thread block.

static constexpr int PIXELS_PER_THREAD = _PIXELS_PER_THREAD#

Pixels per thread (per tile of input)

static constexpr bool IS_RLE_COMPRESS = _RLE_COMPRESS#

Whether to perform localized RLE to compress samples before histogramming.

static constexpr BlockHistogramMemoryPreference MEM_PREFERENCE = _MEM_PREFERENCE#

Whether to prefer privatized shared-memory bins (versus privatized global-memory bins)

static constexpr bool IS_WORK_STEALING = _WORK_STEALING#

Whether to dequeue tiles from a global work queue.

static constexpr int VEC_SIZE = _VEC_SIZE#

Vector size for samples loading (1, 2, 4)

The BlockLoad algorithm to use

static constexpr BlockLoadAlgorithm LOAD_ALGORITHM = _LOAD_ALGORITHM#

Cache load modifier for reading input elements.

static constexpr CacheLoadModifier LOAD_MODIFIER = _LOAD_MODIFIER#