---
id: pr-cccl-cub-8251
repo: NVIDIA/cccl
pr: 8251
title: '`cuda::std::simd` core functionalities'
author: fbusato
date: '2026-04-21'
url: https://github.com/NVIDIA/cccl/pull/8251
source_category: upstream-code
architectures:
- sm100
tags:
- reduction
techniques: []
hardware_features: []
kernel_types:
- reduction
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: 11f006865f56c70d1c8ae866f7296ec39db63c0e
inclusion_reason: Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.
changed_paths:
- libcudacxx/include/cuda/std/__fwd/simd.h
- libcudacxx/include/cuda/std/__internal/namespaces.h
- libcudacxx/include/cuda/std/__simd/abi.h
- libcudacxx/include/cuda/std/__simd/basic_mask.h
- libcudacxx/include/cuda/std/__simd/basic_vec.h
- libcudacxx/include/cuda/std/__simd/concepts.h
- libcudacxx/include/cuda/std/__simd/exposition.h
- libcudacxx/include/cuda/std/__simd/flag.h
- libcudacxx/include/cuda/std/__simd/specializations/fixed_size_mask.h
- libcudacxx/include/cuda/std/__simd/specializations/fixed_size_vec.h
- libcudacxx/include/cuda/std/__simd/type_traits.h
- libcudacxx/include/cuda/std/__simd/utility.h
- libcudacxx/include/cuda/std/__simd_
- libcudacxx/include/cuda/std/__type_traits/operations.h
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.flags/flags.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.flags/multiple_overaligned.fail.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.flags/non_flag_type.fail.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.flags/non_power_of_two_overaligned.fail.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/binary.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/comparison.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/compound_assign.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/conversion.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/ctor.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/instantiation.fail.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/subscript.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/unary.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.traits/aliases.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.traits/alignment.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.traits/rebind.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.traits/resize.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.traits/vectorizable.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/binary.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/comparison.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/compound_assign.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/ctor.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/deduction.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/instantiation.fail.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/subscript.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/unary.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/simd/simd_test_utils.h
artifact_dir: evidence/pull-bundles/cccl-cub/gh-8251
head_ref_oid: 1593bdde193b5a862816f53e204734d760837dbb
---
# `cuda::std::simd` core functionalities

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

- `libcudacxx/include/cuda/std/__fwd/simd.h`
- `libcudacxx/include/cuda/std/__internal/namespaces.h`
- `libcudacxx/include/cuda/std/__simd/abi.h`
- `libcudacxx/include/cuda/std/__simd/basic_mask.h`
- `libcudacxx/include/cuda/std/__simd/basic_vec.h`
- `libcudacxx/include/cuda/std/__simd/concepts.h`
- `libcudacxx/include/cuda/std/__simd/exposition.h`
- `libcudacxx/include/cuda/std/__simd/flag.h`
- `libcudacxx/include/cuda/std/__simd/specializations/fixed_size_mask.h`
- `libcudacxx/include/cuda/std/__simd/specializations/fixed_size_vec.h`
- `libcudacxx/include/cuda/std/__simd/type_traits.h`
- `libcudacxx/include/cuda/std/__simd/utility.h`
- `libcudacxx/include/cuda/std/__simd_`
- `libcudacxx/include/cuda/std/__type_traits/operations.h`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.flags/flags.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.flags/multiple_overaligned.fail.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.flags/non_flag_type.fail.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.flags/non_power_of_two_overaligned.fail.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/binary.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/comparison.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/compound_assign.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/conversion.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/ctor.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/instantiation.fail.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/subscript.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.mask.class/unary.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.traits/aliases.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.traits/alignment.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.traits/rebind.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.traits/resize.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.traits/vectorizable.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/binary.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/comparison.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/compound_assign.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/ctor.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/deduction.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/instantiation.fail.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/subscript.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd.vec.class/unary.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/simd/simd_test_utils.h`

## Evidence Bundle

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