cub::AgentRadixSortHistogramPolicy#

template<int BlockThreads, int ItemsPerThread, int NOMINAL_4B_NUM_PARTS, typename ComputeT, int RadixBits>
struct AgentRadixSortHistogramPolicy#

Public Static Attributes

static constexpr int BLOCK_THREADS = BlockThreads#
static constexpr int ITEMS_PER_THREAD = ItemsPerThread#
static constexpr int NUM_PARTS = ::cuda::std::max(1, NOMINAL_4B_NUM_PARTS * 4 / ::cuda::std::max(int{sizeof(ComputeT)}, 4))#

NUM_PARTS is the number of private histograms (parts) each histogram is split into.

Each warp lane is assigned to a specific part based on the lane ID. However, lanes with the same ID in different warp use the same private histogram. This arrangement helps reduce the degree of conflicts in atomic operations.

static constexpr int RADIX_BITS = RadixBits#