---
id: pr-cccl-cub-8826
repo: NVIDIA/cccl
pr: 8826
title: Use the new tuning API internally for `detail::reduce[_nd]::dispatch[_nd]`
author: bernhardmgruber
date: '2026-05-12'
url: https://github.com/NVIDIA/cccl/pull/8826
source_category: upstream-code
architectures:
- sm100
tags:
- CUB
- benchmark
- benchmark_test
- memory_primitives
- policy tuning
- reduce
- scheduler_autotune
techniques:
- autotuning
- tile-scheduling
hardware_features: []
kernel_types:
- memory
- scheduler
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: dedd36c9e610c82668b678c356250f7c890fc12a
inclusion_reason: 'Transfer primitive policy carefully: coalescing, shared-memory staging, partial tiles, and determinism are part of the contract.'
changed_paths:
- cub/benchmarks/bench/reduce/arg_extrema.cu
- cub/benchmarks/bench/reduce/base.cuh
- cub/benchmarks/bench/reduce/deterministic.cu
- cub/benchmarks/bench/reduce/nondeterministic.cu
- cub/cub/device/device_reduce.cuh
- cub/test/catch2_test_device_reduce_env.cu
artifact_dir: evidence/pull-bundles/cccl-cub/gh-8826
head_ref_oid: 0505ec5a9aabbf9dd6ae46d9a00305d479c3cbd9
---
# Use the new tuning API internally for `detail::reduce[_nd]::dispatch[_nd]`

- Repository: `NVIDIA/cccl`
- PR: [8826](https://github.com/NVIDIA/cccl/pull/8826)
- Decision: `Transfer primitive policy carefully: coalescing, shared-memory staging, partial tiles, and determinism are part of the contract.`
- Reason: Transfer primitive policy carefully: coalescing, shared-memory staging, partial tiles, and determinism are part of the contract.

## Changed Paths

- `cub/benchmarks/bench/reduce/arg_extrema.cu`
- `cub/benchmarks/bench/reduce/base.cuh`
- `cub/benchmarks/bench/reduce/deterministic.cu`
- `cub/benchmarks/bench/reduce/nondeterministic.cu`
- `cub/cub/device/device_reduce.cuh`
- `cub/test/catch2_test_device_reduce_env.cu`

## Evidence Bundle

`evidence/pull-bundles/cccl-cub/gh-8826`
