---
id: pr-cccl-cub-3218
repo: NVIDIA/cccl
pr: 3218
title: 'cuda.parallel: Support structured types as algorithm inputs'
author: shwina
date: '2025-01-14'
url: https://github.com/NVIDIA/cccl/pull/3218
source_category: upstream-code
architectures:
- sm100
tags:
- benchmark_test
- memory_primitives
- warp reduce
techniques:
- warp-specialization
hardware_features: []
kernel_types:
- memory
- reduction
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: 2dec37985bce18760bee599735976496a22722af
inclusion_reason: Mine shape sets, tolerance rules, warmup logic, and profile commands before mutating code.
changed_paths:
- docs/cuda_parallel/index.rst
- python/cuda_parallel/cuda/parallel/experimental/_cccl.py
- python/cuda_parallel/cuda/parallel/experimental/_utils/cai.py
- python/cuda_parallel/cuda/parallel/experimental/algorithms/reduce.py
- python/cuda_parallel/cuda/parallel/experimental/struct.py
- python/cuda_parallel/cuda/parallel/experimental/typing.py
- python/cuda_parallel/tests/test_reduce_api.py
artifact_dir: evidence/pull-bundles/cccl-cub/gh-3218
head_ref_oid: 8ea0fc9a70a1d175b4c2baa960b5bb104c7a5010
---
# cuda.parallel: Support structured types as algorithm inputs

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

- `docs/cuda_parallel/index.rst`
- `python/cuda_parallel/cuda/parallel/experimental/_cccl.py`
- `python/cuda_parallel/cuda/parallel/experimental/_utils/cai.py`
- `python/cuda_parallel/cuda/parallel/experimental/algorithms/reduce.py`
- `python/cuda_parallel/cuda/parallel/experimental/struct.py`
- `python/cuda_parallel/cuda/parallel/experimental/typing.py`
- `python/cuda_parallel/tests/test_reduce_api.py`

## Evidence Bundle

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