---
id: pr-cccl-cub-8772
repo: NVIDIA/cccl
pr: 8772
title: '[cuda.compute]: API cleanup before 1.0'
author: shwina
date: '2026-05-04'
url: https://github.com/NVIDIA/cccl/pull/8772
source_category: upstream-code
architectures:
- sm100
tags:
- sort
techniques: []
hardware_features: []
kernel_types:
- sort
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: 01b00d00edff5e5ed01fa4921ed9a5ad703c3219
inclusion_reason: Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.
changed_paths:
- cub/cub/device/device_merge_sort.cuh
- docs/python/compute/developer_overview.rst
- docs/python/compute/index.rst
- python/cuda_cccl/benchmarks/compute/histogram/even.py
- python/cuda_cccl/benchmarks/compute/merge_sort/keys.py
- python/cuda_cccl/benchmarks/compute/merge_sort/pairs.py
- python/cuda_cccl/benchmarks/compute/partition/three_way.py
- python/cuda_cccl/benchmarks/compute/radix_sort/keys.py
- python/cuda_cccl/benchmarks/compute/radix_sort/pairs.py
- python/cuda_cccl/benchmarks/compute/reduce/custom.py
- python/cuda_cccl/benchmarks/compute/reduce/min.py
- python/cuda_cccl/benchmarks/compute/reduce/nondeterministic.py
- python/cuda_cccl/benchmarks/compute/reduce/sum.py
- python/cuda_cccl/benchmarks/compute/scan/exclusive/custom.py
- python/cuda_cccl/benchmarks/compute/scan/exclusive/sum.py
- python/cuda_cccl/benchmarks/compute/segmented_reduce/variable_sum.py
- python/cuda_cccl/benchmarks/compute/segmented_sort/keys.py
- python/cuda_cccl/benchmarks/compute/select/if.py
- python/cuda_cccl/benchmarks/compute/select/unique_by_key.py
- python/cuda_cccl/benchmarks/compute/transform/babelstream.py
- python/cuda_cccl/benchmarks/compute/transform/complex_cmp.py
- python/cuda_cccl/benchmarks/compute/transform/fib.py
- python/cuda_cccl/benchmarks/compute/transform/fill.py
- python/cuda_cccl/benchmarks/compute/transform/grayscale.py
- python/cuda_cccl/benchmarks/compute/transform/heavy.py
- python/cuda_cccl/benchmarks/compute/transform_reduce/sum.py
- python/cuda_cccl/cuda/compute/algorithms/_binary_search.py
- python/cuda_cccl/cuda/compute/algorithms/_histogram.py
- python/cuda_cccl/cuda/compute/algorithms/_reduce.py
- python/cuda_cccl/cuda/compute/algorithms/_scan.py
- python/cuda_cccl/cuda/compute/algorithms/_segmented_reduce.py
- python/cuda_cccl/cuda/compute/algorithms/_select.py
- python/cuda_cccl/cuda/compute/algorithms/_sort/_merge_sort.py
- python/cuda_cccl/cuda/compute/algorithms/_sort/_radix_sort.py
- python/cuda_cccl/cuda/compute/algorithms/_sort/_segmented_sort.py
- python/cuda_cccl/cuda/compute/algorithms/_three_way_partition.py
- python/cuda_cccl/cuda/compute/algorithms/_transform.py
- python/cuda_cccl/cuda/compute/algorithms/_unique_by_key.py
- python/cuda_cccl/tests/compute/examples/binary_search/lower_bound_basic.py
- python/cuda_cccl/tests/compute/examples/binary_search/lower_bound_object.py
- python/cuda_cccl/tests/compute/examples/binary_search/upper_bound_basic.py
- python/cuda_cccl/tests/compute/examples/binary_search/upper_bound_object.py
- python/cuda_cccl/tests/compute/examples/histogram/histogram_even_basic.py
- python/cuda_cccl/tests/compute/examples/histogram/histogram_object.py
- python/cuda_cccl/tests/compute/examples/iterator/cache_modified_iterator_basic.py
- python/cuda_cccl/tests/compute/examples/iterator/constant_iterator_basic.py
- python/cuda_cccl/tests/compute/examples/iterator/counting_iterator_basic.py
- python/cuda_cccl/tests/compute/examples/iterator/discard_iterator_basic.py
- python/cuda_cccl/tests/compute/examples/iterator/permutation_iterator_basic.py
- python/cuda_cccl/tests/compute/examples/iterator/permutation_iterator_composed.py
- python/cuda_cccl/tests/compute/examples/iterator/permutation_iterator_output.py
- python/cuda_cccl/tests/compute/examples/iterator/reverse_input_iterator.py
- python/cuda_cccl/tests/compute/examples/iterator/reverse_output_iterator.py
- python/cuda_cccl/tests/compute/examples/iterator/shuffle_iterator_basic.py
- python/cuda_cccl/tests/compute/examples/iterator/transform_iterator_basic.py
- python/cuda_cccl/tests/compute/examples/iterator/transform_iterator_lambda.py
- python/cuda_cccl/tests/compute/examples/iterator/transform_output_iterator.py
- python/cuda_cccl/tests/compute/examples/iterator/zip_iterator_counting.py
- python/cuda_cccl/tests/compute/examples/iterator/zip_iterator_elementwise.py
- python/cuda_cccl/tests/compute/examples/iterator/zip_iterator_reduction.py
- python/cuda_cccl/tests/compute/examples/partition/three_way_partition_basic.py
- python/cuda_cccl/tests/compute/examples/partition/three_way_partition_object.py
- python/cuda_cccl/tests/compute/examples/raw_op/cpp_stateful.py
- python/cuda_cccl/tests/compute/examples/raw_op/cpp_stateless.py
- python/cuda_cccl/tests/compute/examples/reduction/min_reduction.py
- python/cuda_cccl/tests/compute/examples/reduction/minmax_reduction.py
- python/cuda_cccl/tests/compute/examples/reduction/reduce_object.py
- python/cuda_cccl/tests/compute/examples/reduction/sum_custom_reduction.py
- python/cuda_cccl/tests/compute/examples/reduction/sum_reduction.py
- python/cuda_cccl/tests/compute/examples/reduction/sum_reduction_lambda.py
- python/cuda_cccl/tests/compute/examples/scan/ema_example.py
- python/cuda_cccl/tests/compute/examples/scan/exclusive_scan_max.py
- python/cuda_cccl/tests/compute/examples/scan/exclusive_scan_object.py
- python/cuda_cccl/tests/compute/examples/scan/inclusive_scan_custom.py
- python/cuda_cccl/tests/compute/examples/scan/inclusive_scan_object.py
- python/cuda_cccl/tests/compute/examples/scan/logcdf_example.py
- python/cuda_cccl/tests/compute/examples/scan/running_average.py
- python/cuda_cccl/tests/compute/examples/scan/segmented_sum.py
- python/cuda_cccl/tests/compute/examples/segmented/segmented_reduce_basic.py
- python/cuda_cccl/tests/compute/examples/segmented/segmented_reduce_object.py
- python/cuda_cccl/tests/compute/examples/select/select_basic.py
- python/cuda_cccl/tests/compute/examples/select/select_object.py
- python/cuda_cccl/tests/compute/examples/select/select_with_iterator.py
- python/cuda_cccl/tests/compute/examples/select/select_with_side_effect.py
- python/cuda_cccl/tests/compute/examples/sort/merge_sort_basic.py
- python/cuda_cccl/tests/compute/examples/sort/merge_sort_object.py
- python/cuda_cccl/tests/compute/examples/sort/radix_sort_basic.py
- python/cuda_cccl/tests/compute/examples/sort/radix_sort_buffer.py
- python/cuda_cccl/tests/compute/examples/sort/radix_sort_object.py
- python/cuda_cccl/tests/compute/examples/sort/segmented_sort_basic.py
- python/cuda_cccl/tests/compute/examples/sort/segmented_sort_buffer.py
- python/cuda_cccl/tests/compute/examples/sort/segmented_sort_object.py
- python/cuda_cccl/tests/compute/examples/struct/nested_struct_reduction.py
- python/cuda_cccl/tests/compute/examples/struct/nested_struct_tuple_construction.py
- python/cuda_cccl/tests/compute/examples/struct/nested_struct_zip_iterator.py
- python/cuda_cccl/tests/compute/examples/struct/struct_reduction.py
- python/cuda_cccl/tests/compute/examples/struct/struct_transform.py
- python/cuda_cccl/tests/compute/examples/transform/binary_transform_basic.py
- python/cuda_cccl/tests/compute/examples/transform/binary_transform_object.py
- python/cuda_cccl/tests/compute/examples/transform/unary_transform_basic.py
- python/cuda_cccl/tests/compute/examples/transform/unary_transform_object.py
- python/cuda_cccl/tests/compute/examples/unique/unique_by_key_basic.py
- python/cuda_cccl/tests/compute/examples/unique/unique_by_key_object.py
- python/cuda_cccl/tests/compute/test_binary_search.py
- python/cuda_cccl/tests/compute/test_deferred_annotations.py
- python/cuda_cccl/tests/compute/test_histogram.py
- python/cuda_cccl/tests/compute/test_iterators.py
- python/cuda_cccl/tests/compute/test_merge_sort.py
- python/cuda_cccl/tests/compute/test_nested_struct.py
- python/cuda_cccl/tests/compute/test_no_numba.py
- python/cuda_cccl/tests/compute/test_permutation_iterator.py
- python/cuda_cccl/tests/compute/test_radix_sort.py
- python/cuda_cccl/tests/compute/test_raw_op.py
- python/cuda_cccl/tests/compute/test_reduce.py
- python/cuda_cccl/tests/compute/test_scan.py
- python/cuda_cccl/tests/compute/test_segmented_reduce.py
- python/cuda_cccl/tests/compute/test_segmented_sort.py
- python/cuda_cccl/tests/compute/test_select.py
- python/cuda_cccl/tests/compute/test_shuffle_iterator.py
- python/cuda_cccl/tests/compute/test_three_way_partition.py
artifact_dir: evidence/pull-bundles/cccl-cub/gh-8772
head_ref_oid: 172b74f63127eb9acca33a599c35cb9ad677e578
---
# [cuda.compute]: API cleanup before 1.0

- Repository: `NVIDIA/cccl`
- PR: [8772](https://github.com/NVIDIA/cccl/pull/8772)
- 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

- `cub/cub/device/device_merge_sort.cuh`
- `docs/python/compute/developer_overview.rst`
- `docs/python/compute/index.rst`
- `python/cuda_cccl/benchmarks/compute/histogram/even.py`
- `python/cuda_cccl/benchmarks/compute/merge_sort/keys.py`
- `python/cuda_cccl/benchmarks/compute/merge_sort/pairs.py`
- `python/cuda_cccl/benchmarks/compute/partition/three_way.py`
- `python/cuda_cccl/benchmarks/compute/radix_sort/keys.py`
- `python/cuda_cccl/benchmarks/compute/radix_sort/pairs.py`
- `python/cuda_cccl/benchmarks/compute/reduce/custom.py`
- `python/cuda_cccl/benchmarks/compute/reduce/min.py`
- `python/cuda_cccl/benchmarks/compute/reduce/nondeterministic.py`
- `python/cuda_cccl/benchmarks/compute/reduce/sum.py`
- `python/cuda_cccl/benchmarks/compute/scan/exclusive/custom.py`
- `python/cuda_cccl/benchmarks/compute/scan/exclusive/sum.py`
- `python/cuda_cccl/benchmarks/compute/segmented_reduce/variable_sum.py`
- `python/cuda_cccl/benchmarks/compute/segmented_sort/keys.py`
- `python/cuda_cccl/benchmarks/compute/select/if.py`
- `python/cuda_cccl/benchmarks/compute/select/unique_by_key.py`
- `python/cuda_cccl/benchmarks/compute/transform/babelstream.py`
- `python/cuda_cccl/benchmarks/compute/transform/complex_cmp.py`
- `python/cuda_cccl/benchmarks/compute/transform/fib.py`
- `python/cuda_cccl/benchmarks/compute/transform/fill.py`
- `python/cuda_cccl/benchmarks/compute/transform/grayscale.py`
- `python/cuda_cccl/benchmarks/compute/transform/heavy.py`
- `python/cuda_cccl/benchmarks/compute/transform_reduce/sum.py`
- `python/cuda_cccl/cuda/compute/algorithms/_binary_search.py`
- `python/cuda_cccl/cuda/compute/algorithms/_histogram.py`
- `python/cuda_cccl/cuda/compute/algorithms/_reduce.py`
- `python/cuda_cccl/cuda/compute/algorithms/_scan.py`
- `python/cuda_cccl/cuda/compute/algorithms/_segmented_reduce.py`
- `python/cuda_cccl/cuda/compute/algorithms/_select.py`
- `python/cuda_cccl/cuda/compute/algorithms/_sort/_merge_sort.py`
- `python/cuda_cccl/cuda/compute/algorithms/_sort/_radix_sort.py`
- `python/cuda_cccl/cuda/compute/algorithms/_sort/_segmented_sort.py`
- `python/cuda_cccl/cuda/compute/algorithms/_three_way_partition.py`
- `python/cuda_cccl/cuda/compute/algorithms/_transform.py`
- `python/cuda_cccl/cuda/compute/algorithms/_unique_by_key.py`
- `python/cuda_cccl/tests/compute/examples/binary_search/lower_bound_basic.py`
- `python/cuda_cccl/tests/compute/examples/binary_search/lower_bound_object.py`
- `python/cuda_cccl/tests/compute/examples/binary_search/upper_bound_basic.py`
- `python/cuda_cccl/tests/compute/examples/binary_search/upper_bound_object.py`
- `python/cuda_cccl/tests/compute/examples/histogram/histogram_even_basic.py`
- `python/cuda_cccl/tests/compute/examples/histogram/histogram_object.py`
- `python/cuda_cccl/tests/compute/examples/iterator/cache_modified_iterator_basic.py`
- `python/cuda_cccl/tests/compute/examples/iterator/constant_iterator_basic.py`
- `python/cuda_cccl/tests/compute/examples/iterator/counting_iterator_basic.py`
- `python/cuda_cccl/tests/compute/examples/iterator/discard_iterator_basic.py`
- `python/cuda_cccl/tests/compute/examples/iterator/permutation_iterator_basic.py`
- `python/cuda_cccl/tests/compute/examples/iterator/permutation_iterator_composed.py`
- `python/cuda_cccl/tests/compute/examples/iterator/permutation_iterator_output.py`
- `python/cuda_cccl/tests/compute/examples/iterator/reverse_input_iterator.py`
- `python/cuda_cccl/tests/compute/examples/iterator/reverse_output_iterator.py`
- `python/cuda_cccl/tests/compute/examples/iterator/shuffle_iterator_basic.py`
- `python/cuda_cccl/tests/compute/examples/iterator/transform_iterator_basic.py`
- `python/cuda_cccl/tests/compute/examples/iterator/transform_iterator_lambda.py`
- `python/cuda_cccl/tests/compute/examples/iterator/transform_output_iterator.py`
- `python/cuda_cccl/tests/compute/examples/iterator/zip_iterator_counting.py`
- `python/cuda_cccl/tests/compute/examples/iterator/zip_iterator_elementwise.py`
- `python/cuda_cccl/tests/compute/examples/iterator/zip_iterator_reduction.py`
- `python/cuda_cccl/tests/compute/examples/partition/three_way_partition_basic.py`
- `python/cuda_cccl/tests/compute/examples/partition/three_way_partition_object.py`
- `python/cuda_cccl/tests/compute/examples/raw_op/cpp_stateful.py`
- `python/cuda_cccl/tests/compute/examples/raw_op/cpp_stateless.py`
- `python/cuda_cccl/tests/compute/examples/reduction/min_reduction.py`
- `python/cuda_cccl/tests/compute/examples/reduction/minmax_reduction.py`
- `python/cuda_cccl/tests/compute/examples/reduction/reduce_object.py`
- `python/cuda_cccl/tests/compute/examples/reduction/sum_custom_reduction.py`
- `python/cuda_cccl/tests/compute/examples/reduction/sum_reduction.py`
- `python/cuda_cccl/tests/compute/examples/reduction/sum_reduction_lambda.py`
- `python/cuda_cccl/tests/compute/examples/scan/ema_example.py`
- `python/cuda_cccl/tests/compute/examples/scan/exclusive_scan_max.py`
- `python/cuda_cccl/tests/compute/examples/scan/exclusive_scan_object.py`
- `python/cuda_cccl/tests/compute/examples/scan/inclusive_scan_custom.py`
- `python/cuda_cccl/tests/compute/examples/scan/inclusive_scan_object.py`
- `python/cuda_cccl/tests/compute/examples/scan/logcdf_example.py`
- `python/cuda_cccl/tests/compute/examples/scan/running_average.py`
- `python/cuda_cccl/tests/compute/examples/scan/segmented_sum.py`
- `python/cuda_cccl/tests/compute/examples/segmented/segmented_reduce_basic.py`
- `python/cuda_cccl/tests/compute/examples/segmented/segmented_reduce_object.py`

## Evidence Bundle

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