---
id: pr-cccl-cub-8265
repo: NVIDIA/cccl
pr: 8265
title: '`cuda::is_trivially_copyable`'
author: fbusato
date: '2026-05-06'
url: https://github.com/NVIDIA/cccl/pull/8265
source_category: upstream-code
architectures:
- sm100
tags:
- cuda kernel
techniques: []
hardware_features: []
kernel_types: []
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: 8b28e1d244eeea166f0a8f1763f987953c99dd64
inclusion_reason: Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.
changed_paths:
- c/parallel/src/transform.cu
- cub/cub/agent/single_pass_scan_operators.cuh
- cub/cub/detail/uninitialized_copy.cuh
- cub/cub/detail/warpspeed/look_ahead.cuh
- cub/cub/device/dispatch/kernels/kernel_histogram.cuh
- cub/cub/device/dispatch/tuning/tuning_reduce_by_key.cuh
- cub/cub/device/dispatch/tuning/tuning_rle_encode.cuh
- cub/cub/device/dispatch/tuning/tuning_rle_non_trivial_runs.cuh
- cub/cub/device/dispatch/tuning/tuning_scan.cuh
- cub/cub/device/dispatch/tuning/tuning_scan_by_key.cuh
- cudax/include/cuda/experimental/__container/graph_buffer.cuh
- cudax/include/cuda/experimental/__copy/mdspan_d2d.cuh
- cudax/include/cuda/experimental/__copy_bytes/mdspan_d2h_h2d.cuh
- cudax/include/cuda/experimental/__graph/copy_bytes.cuh
- cudax/include/cuda/experimental/__graph/fill_bytes.cuh
- cudax/include/cuda/experimental/__kernel/kernel_ref.cuh
- docs/libcudacxx/extended_api/type_traits.rst
- docs/libcudacxx/extended_api/type_traits/is_trivially_copyable.rst
- docs/libcudacxx/standard_api/numerics_library/bit.rst
- libcudacxx/include/cuda/__algorithm/copy.h
- libcudacxx/include/cuda/__algorithm/fill.h
- libcudacxx/include/cuda/__container/buffer.h
- libcudacxx/include/cuda/__memcpy_async/memcpy_async_barrier.h
- libcudacxx/include/cuda/__memcpy_async/memcpy_async_tx.h
- libcudacxx/include/cuda/__type_traits/is_trivially_copyable.h
- libcudacxx/include/cuda/std/__bit/bit_cast.h
- libcudacxx/include/cuda/std/string_view
- libcudacxx/include/cuda/type_traits
- libcudacxx/test/libcudacxx/cuda/type_traits/is_trivially_copyable.basic_types.pass.cpp
- libcudacxx/test/libcudacxx/cuda/type_traits/is_trivially_copyable.composite_types.pass.cpp
- libcudacxx/test/libcudacxx/cuda/type_traits/is_trivially_copyable.mem.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/bit/bit.cast/bit_cast.trivially_copyable.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/bit/bit.cast/bit_cast_test_helpers.h
- thrust/thrust/detail/allocator/value_initialize_range.h
- thrust/thrust/type_traits/is_trivially_relocatable.h
artifact_dir: evidence/pull-bundles/cccl-cub/gh-8265
head_ref_oid: f1c5f77bac8fc6aa55c8844203ef0623cf630af4
---
# `cuda::is_trivially_copyable`

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

- `c/parallel/src/transform.cu`
- `cub/cub/agent/single_pass_scan_operators.cuh`
- `cub/cub/detail/uninitialized_copy.cuh`
- `cub/cub/detail/warpspeed/look_ahead.cuh`
- `cub/cub/device/dispatch/kernels/kernel_histogram.cuh`
- `cub/cub/device/dispatch/tuning/tuning_reduce_by_key.cuh`
- `cub/cub/device/dispatch/tuning/tuning_rle_encode.cuh`
- `cub/cub/device/dispatch/tuning/tuning_rle_non_trivial_runs.cuh`
- `cub/cub/device/dispatch/tuning/tuning_scan.cuh`
- `cub/cub/device/dispatch/tuning/tuning_scan_by_key.cuh`
- `cudax/include/cuda/experimental/__container/graph_buffer.cuh`
- `cudax/include/cuda/experimental/__copy/mdspan_d2d.cuh`
- `cudax/include/cuda/experimental/__copy_bytes/mdspan_d2h_h2d.cuh`
- `cudax/include/cuda/experimental/__graph/copy_bytes.cuh`
- `cudax/include/cuda/experimental/__graph/fill_bytes.cuh`
- `cudax/include/cuda/experimental/__kernel/kernel_ref.cuh`
- `docs/libcudacxx/extended_api/type_traits.rst`
- `docs/libcudacxx/extended_api/type_traits/is_trivially_copyable.rst`
- `docs/libcudacxx/standard_api/numerics_library/bit.rst`
- `libcudacxx/include/cuda/__algorithm/copy.h`
- `libcudacxx/include/cuda/__algorithm/fill.h`
- `libcudacxx/include/cuda/__container/buffer.h`
- `libcudacxx/include/cuda/__memcpy_async/memcpy_async_barrier.h`
- `libcudacxx/include/cuda/__memcpy_async/memcpy_async_tx.h`
- `libcudacxx/include/cuda/__type_traits/is_trivially_copyable.h`
- `libcudacxx/include/cuda/std/__bit/bit_cast.h`
- `libcudacxx/include/cuda/std/string_view`
- `libcudacxx/include/cuda/type_traits`
- `libcudacxx/test/libcudacxx/cuda/type_traits/is_trivially_copyable.basic_types.pass.cpp`
- `libcudacxx/test/libcudacxx/cuda/type_traits/is_trivially_copyable.composite_types.pass.cpp`
- `libcudacxx/test/libcudacxx/cuda/type_traits/is_trivially_copyable.mem.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/bit/bit.cast/bit_cast.trivially_copyable.pass.cpp`
- `libcudacxx/test/libcudacxx/std/numerics/bit/bit.cast/bit_cast_test_helpers.h`
- `thrust/thrust/detail/allocator/value_initialize_range.h`
- `thrust/thrust/type_traits/is_trivially_relocatable.h`

## Evidence Bundle

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