---
id: pr-cccl-cub-8291
repo: NVIDIA/cccl
pr: 8291
title: Port `thrust::min|max_element` to CUB
author: bernhardmgruber
date: '2026-04-30'
url: https://github.com/NVIDIA/cccl/pull/8291
source_category: upstream-code
architectures:
- sm100
tags:
- benchmark_test
- memory_primitives
- reduce
techniques: []
hardware_features: []
kernel_types:
- memory
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: 4cf343c8e59116347cd686a3ea364b62a5afe423
inclusion_reason: 'Transfer primitive policy carefully: coalescing, shared-memory staging, partial tiles, and determinism are part of the contract.'
changed_paths:
- nvbench_helper/nvbench_helper/nvbench_helper.cuh
- thrust/benchmarks/bench/extrema/basic.cu
- thrust/thrust/system/cuda/detail/extrema.h
artifact_dir: evidence/pull-bundles/cccl-cub/gh-8291
head_ref_oid: 079080d0bfb7b6827d2533980086eb69f48422fa
---
# Port `thrust::min|max_element` to CUB

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

- `nvbench_helper/nvbench_helper/nvbench_helper.cuh`
- `thrust/benchmarks/bench/extrema/basic.cu`
- `thrust/thrust/system/cuda/detail/extrema.h`

## Evidence Bundle

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