cub::BlockHistogramAlgorithm

Defined in /home/runner/work/cccl/cccl/cub/cub/block/block_histogram.cuh

enum cub::BlockHistogramAlgorithm

BlockHistogramAlgorithm enumerates alternative algorithms for the parallel construction of block-wide histograms.

Values:

enumerator BLOCK_HISTO_SORT

Overview

Sorting followed by differentiation. Execution is comprised of two phases:

  1. Sort the data using efficient radix sort

  2. Look for “runs” of same-valued keys by detecting discontinuities; the run-lengths are histogram bin counts.

Performance Considerations

Delivers consistent throughput regardless of sample bin distribution.

enumerator BLOCK_HISTO_ATOMIC

Overview

Use atomic addition to update byte counts directly

Performance Considerations

Performance is strongly tied to the hardware implementation of atomic addition, and may be significantly degraded for non uniformly-random input distributions where many concurrent updates are likely to be made to the same bin counter.