---
id: pr-cccl-cub-7565
repo: NVIDIA/cccl
pr: 7565
title: Implement the new tuning API for `DeviceScan`
author: griwes
date: '2026-03-24'
url: https://github.com/NVIDIA/cccl/pull/7565
source_category: upstream-code
architectures:
- sm100
tags:
- benchmark kernel
techniques: []
hardware_features: []
kernel_types:
- scan
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: 6a83780d71920812c58bb842dec9ebb786cae50b
inclusion_reason: Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.
changed_paths:
- README.md
- c/parallel/include/cccl/c/scan.h
- c/parallel/src/radix_sort.cu
- c/parallel/src/reduce.cu
- c/parallel/src/scan.cu
- c/parallel/src/segmented_reduce.cu
- c/parallel/src/util/types.h
- cub/benchmarks/bench/scan/applications/P1/log-cdf-from-log-pdfs.cu
- cub/benchmarks/bench/scan/applications/P1/non-commutative-bicyclic-monoid.cu
- cub/benchmarks/bench/scan/applications/P1/rabin-karp-second-fingerprinting.cu
- cub/benchmarks/bench/scan/applications/P1/running-min-max.cu
- cub/benchmarks/bench/scan/applications/P1/scan-over-unitriangular-group.cu
- cub/benchmarks/bench/scan/exclusive/base.cuh
- cub/benchmarks/bench/scan/exclusive/by_key.cu
- cub/benchmarks/bench/scan/policy_selector.h
- cub/cub/detail/launcher/cuda_driver.cuh
- cub/cub/device/device_scan.cuh
- cub/cub/device/dispatch/dispatch_scan.cuh
- cub/cub/device/dispatch/kernels/kernel_scan.cuh
- cub/cub/device/dispatch/kernels/kernel_scan_warpspeed.cuh
- cub/cub/device/dispatch/kernels/scan_warpspeed_policy.cuh
- cub/cub/device/dispatch/tuning/common.cuh
- cub/cub/device/dispatch/tuning/tuning_radix_sort.cuh
- cub/cub/device/dispatch/tuning/tuning_scan.cuh
- cub/test/catch2_test_device_scan_env.cu
- cub/test/catch2_test_env_launch_helper.h
- thrust/thrust/system/cuda/detail/dispatch.h
- thrust/thrust/system/cuda/detail/scan.h
artifact_dir: evidence/pull-bundles/cccl-cub/gh-7565
head_ref_oid: 3c182569c909d934e19542d43c449eb1f5a86362
---
# Implement the new tuning API for `DeviceScan`

- Repository: `NVIDIA/cccl`
- PR: [7565](https://github.com/NVIDIA/cccl/pull/7565)
- Decision: `Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.`
- Reason: Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.

## Changed Paths

- `README.md`
- `c/parallel/include/cccl/c/scan.h`
- `c/parallel/src/radix_sort.cu`
- `c/parallel/src/reduce.cu`
- `c/parallel/src/scan.cu`
- `c/parallel/src/segmented_reduce.cu`
- `c/parallel/src/util/types.h`
- `cub/benchmarks/bench/scan/applications/P1/log-cdf-from-log-pdfs.cu`
- `cub/benchmarks/bench/scan/applications/P1/non-commutative-bicyclic-monoid.cu`
- `cub/benchmarks/bench/scan/applications/P1/rabin-karp-second-fingerprinting.cu`
- `cub/benchmarks/bench/scan/applications/P1/running-min-max.cu`
- `cub/benchmarks/bench/scan/applications/P1/scan-over-unitriangular-group.cu`
- `cub/benchmarks/bench/scan/exclusive/base.cuh`
- `cub/benchmarks/bench/scan/exclusive/by_key.cu`
- `cub/benchmarks/bench/scan/policy_selector.h`
- `cub/cub/detail/launcher/cuda_driver.cuh`
- `cub/cub/device/device_scan.cuh`
- `cub/cub/device/dispatch/dispatch_scan.cuh`
- `cub/cub/device/dispatch/kernels/kernel_scan.cuh`
- `cub/cub/device/dispatch/kernels/kernel_scan_warpspeed.cuh`
- `cub/cub/device/dispatch/kernels/scan_warpspeed_policy.cuh`
- `cub/cub/device/dispatch/tuning/common.cuh`
- `cub/cub/device/dispatch/tuning/tuning_radix_sort.cuh`
- `cub/cub/device/dispatch/tuning/tuning_scan.cuh`
- `cub/test/catch2_test_device_scan_env.cu`
- `cub/test/catch2_test_env_launch_helper.h`
- `thrust/thrust/system/cuda/detail/dispatch.h`
- `thrust/thrust/system/cuda/detail/scan.h`

## Evidence Bundle

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