---
id: pr-cccl-cub-8395
repo: NVIDIA/cccl
pr: 8395
title: '[CUB] Replace `Shuffle(Up|Down|Index)` with cuda::device::warp_shuffle - RadixSort only'
author: fbusato
date: '2026-04-29'
url: https://github.com/NVIDIA/cccl/pull/8395
source_category: upstream-code
architectures:
- sm100
- sm90
tags:
- benchmark
- memory_primitives
- radix sort
- sm100
- sm90
techniques:
- warp-specialization
hardware_features:
- blackwell
- hopper
kernel_types:
- memory
- sort
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: 082588c8cc9cb5b4768fcc8c11fe7f1b1c8c7165
inclusion_reason: 'Transfer primitive policy carefully: coalescing, shared-memory staging, partial tiles, and determinism are part of the contract.'
changed_paths:
- cub/cub/agent/agent_radix_sort_downsweep.cuh
- cub/cub/device/dispatch/kernels/kernel_radix_sort.cuh
artifact_dir: evidence/pull-bundles/cccl-cub/gh-8395
head_ref_oid: c47ed17ca5ccd82ea7c6eec9b4322874697e07e5
---
# [CUB] Replace `Shuffle(Up|Down|Index)` with cuda::device::warp_shuffle - RadixSort only

- Repository: `NVIDIA/cccl`
- PR: [8395](https://github.com/NVIDIA/cccl/pull/8395)
- 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/cub/agent/agent_radix_sort_downsweep.cuh`
- `cub/cub/device/dispatch/kernels/kernel_radix_sort.cuh`

## Evidence Bundle

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