---
id: pr-cccl-cub-4961
repo: NVIDIA/cccl
pr: 4961
title: Add nondeterministic reduce that uses atomics
author: NaderAlAwar
date: '2025-07-31'
url: https://github.com/NVIDIA/cccl/pull/4961
source_category: upstream-code
architectures:
- sm100
tags:
- arch_pipeline
- benchmark_test
- block reduce
- memory_primitives
- scheduler_autotune
- warp reduce
techniques:
- autotuning
- pipeline-stages
- tile-scheduling
- warp-specialization
hardware_features: []
kernel_types:
- memory
- reduction
- runtime
- scheduler
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: 49e9e9b73c97bbfe6fc40aeedf866e0a3a49081d
inclusion_reason: 'Transfer primitive policy carefully: coalescing, shared-memory staging, partial tiles, and determinism are part of the contract.'
changed_paths:
- cub/cub/block/block_reduce.cuh
- cub/cub/block/specializations/block_reduce_warp_reductions_nondeterministic.cuh
- cub/cub/detail/launcher/cuda_driver.cuh
- cub/cub/detail/launcher/cuda_runtime.cuh
- cub/cub/device/device_reduce.cuh
- cub/cub/device/dispatch/dispatch_reduce_nondeterministic.cuh
- cub/cub/device/dispatch/kernels/reduce.cuh
- cub/cub/device/dispatch/tuning/tuning_reduce.cuh
- cub/cub/grid/grid_even_share.cuh
- cub/test/catch2_test_device_reduce_env.cu
- cub/test/catch2_test_device_reduce_env_api.cu
- cub/test/catch2_test_device_reduce_nondeterministic.cu
artifact_dir: evidence/pull-bundles/cccl-cub/gh-4961
head_ref_oid: f429931b445ec6bc2c568471e55fb08268b32064
---
# Add nondeterministic reduce that uses atomics

- Repository: `NVIDIA/cccl`
- PR: [4961](https://github.com/NVIDIA/cccl/pull/4961)
- 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/block/block_reduce.cuh`
- `cub/cub/block/specializations/block_reduce_warp_reductions_nondeterministic.cuh`
- `cub/cub/detail/launcher/cuda_driver.cuh`
- `cub/cub/detail/launcher/cuda_runtime.cuh`
- `cub/cub/device/device_reduce.cuh`
- `cub/cub/device/dispatch/dispatch_reduce_nondeterministic.cuh`
- `cub/cub/device/dispatch/kernels/reduce.cuh`
- `cub/cub/device/dispatch/tuning/tuning_reduce.cuh`
- `cub/cub/grid/grid_even_share.cuh`
- `cub/test/catch2_test_device_reduce_env.cu`
- `cub/test/catch2_test_device_reduce_env_api.cu`
- `cub/test/catch2_test_device_reduce_nondeterministic.cu`

## Evidence Bundle

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