---
id: pr-cccl-cub-7669
repo: NVIDIA/cccl
pr: 7669
title: Implement the new tuning API for `DeviceRleDispatch`
author: bernhardmgruber
date: '2026-02-23'
url: https://github.com/NVIDIA/cccl/pull/7669
source_category: upstream-code
architectures:
- sm100
tags:
- benchmark_test
- memory_primitives
- policy tuning
- scheduler_autotune
techniques:
- autotuning
- tile-scheduling
hardware_features: []
kernel_types:
- memory
- scheduler
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: c3161ffbb6ffee5a6687797f63744ae5dbee5b4a
inclusion_reason: Mine shape sets, tolerance rules, warmup logic, and profile commands before mutating code.
changed_paths:
- cub/benchmarks/bench/run_length_encode/non_trivial_runs.cu
- cub/cub/detail/delay_constructor.cuh
- cub/cub/device/device_run_length_encode.cuh
- cub/cub/device/dispatch/dispatch_rle.cuh
- cub/cub/device/dispatch/tuning/tuning_rle_non_trivial_runs.cuh
- cub/test/catch2_test_device_run_length_encode_non_trivial_runs.cu
artifact_dir: evidence/pull-bundles/cccl-cub/gh-7669
head_ref_oid: 490d98ba6ea9d69a02248901ed5dddc0c23f2417
---
# Implement the new tuning API for `DeviceRleDispatch`

- Repository: `NVIDIA/cccl`
- PR: [7669](https://github.com/NVIDIA/cccl/pull/7669)
- Decision: `Mine shape sets, tolerance rules, warmup logic, and profile commands before mutating code.`
- Reason: Mine shape sets, tolerance rules, warmup logic, and profile commands before mutating code.

## Changed Paths

- `cub/benchmarks/bench/run_length_encode/non_trivial_runs.cu`
- `cub/cub/detail/delay_constructor.cuh`
- `cub/cub/device/device_run_length_encode.cuh`
- `cub/cub/device/dispatch/dispatch_rle.cuh`
- `cub/cub/device/dispatch/tuning/tuning_rle_non_trivial_runs.cuh`
- `cub/test/catch2_test_device_run_length_encode_non_trivial_runs.cu`

## Evidence Bundle

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