---
id: pr-cccl-cub-9023
repo: NVIDIA/cccl
pr: 9023
title: '[Tile] Avoid internal usage of CPOs'
author: miscco
date: '2026-05-15'
url: https://github.com/NVIDIA/cccl/pull/9023
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: b4bf1a523f67a24bfa991b206c101d1d05923881
inclusion_reason: Search-matched CUDA kernel optimization PR; materialize diff/source before synthesis.
changed_paths:
- docs/libcudacxx/tile.rst
- libcudacxx/include/cuda/__container/buffer.h
- libcudacxx/include/cuda/__iterator/zip_common.h
- libcudacxx/include/cuda/__iterator/zip_iterator.h
- libcudacxx/include/cuda/std/__algorithm/iter_swap.h
- libcudacxx/include/cuda/std/__algorithm/iterator_operations.h
- libcudacxx/include/cuda/std/__algorithm/ranges_find_if.h
- libcudacxx/include/cuda/std/__algorithm/ranges_for_each.h
- libcudacxx/include/cuda/std/__algorithm/ranges_min.h
- libcudacxx/include/cuda/std/__algorithm/ranges_min_element.h
- libcudacxx/include/cuda/std/__algorithm/unwrap_range.h
- libcudacxx/include/cuda/std/__concepts/swappable.h
- libcudacxx/include/cuda/std/__expected/expected_base.h
- libcudacxx/include/cuda/std/__iterator/access.h
- libcudacxx/include/cuda/std/__iterator/advance.h
- libcudacxx/include/cuda/std/__iterator/common_iterator.h
- libcudacxx/include/cuda/std/__iterator/concepts.h
- libcudacxx/include/cuda/std/__iterator/counted_iterator.h
- libcudacxx/include/cuda/std/__iterator/distance.h
- libcudacxx/include/cuda/std/__iterator/iter_move.h
- libcudacxx/include/cuda/std/__iterator/iter_swap.h
- libcudacxx/include/cuda/std/__iterator/move_iterator.h
- libcudacxx/include/cuda/std/__iterator/next.h
- libcudacxx/include/cuda/std/__iterator/prev.h
- libcudacxx/include/cuda/std/__iterator/reverse_access.h
- libcudacxx/include/cuda/std/__iterator/reverse_iterator.h
- libcudacxx/include/cuda/std/__iterator/variant_like.h
- libcudacxx/include/cuda/std/__memory/construct_at.h
- libcudacxx/include/cuda/std/__pstl/reverse.h
- libcudacxx/include/cuda/std/__pstl/swap_ranges.h
- libcudacxx/include/cuda/std/__ranges/access.h
- libcudacxx/include/cuda/std/__ranges/common_view.h
- libcudacxx/include/cuda/std/__ranges/concepts.h
- libcudacxx/include/cuda/std/__ranges/data.h
- libcudacxx/include/cuda/std/__ranges/drop_view.h
- libcudacxx/include/cuda/std/__ranges/drop_while_view.h
- libcudacxx/include/cuda/std/__ranges/empty.h
- libcudacxx/include/cuda/std/__ranges/filter_view.h
- libcudacxx/include/cuda/std/__ranges/owning_view.h
- libcudacxx/include/cuda/std/__ranges/rbegin.h
- libcudacxx/include/cuda/std/__ranges/ref_view.h
- libcudacxx/include/cuda/std/__ranges/rend.h
- libcudacxx/include/cuda/std/__ranges/reverse_view.h
- libcudacxx/include/cuda/std/__ranges/size.h
- libcudacxx/include/cuda/std/__ranges/subrange.h
- libcudacxx/include/cuda/std/__ranges/take_view.h
- libcudacxx/include/cuda/std/__ranges/take_while_view.h
- libcudacxx/include/cuda/std/__ranges/transform_view.h
- libcudacxx/include/cuda/std/__ranges/unwrap_end.h
- libcudacxx/include/cuda/std/__ranges/view_interface.h
- libcudacxx/include/cuda/std/__simd/basic_vec.h
- libcudacxx/include/cuda/std/__type_traits/type_list.h
- libcudacxx/include/cuda/std/inplace_vector
- libcudacxx/include/cuda/std/span
- libcudacxx/include/cuda/std/string_view
artifact_dir: evidence/pull-bundles/cccl-cub/gh-9023
head_ref_oid: 7e06ae87df3866888ad5db9b0492eb17d247c76b
---
# [Tile] Avoid internal usage of CPOs

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

- `docs/libcudacxx/tile.rst`
- `libcudacxx/include/cuda/__container/buffer.h`
- `libcudacxx/include/cuda/__iterator/zip_common.h`
- `libcudacxx/include/cuda/__iterator/zip_iterator.h`
- `libcudacxx/include/cuda/std/__algorithm/iter_swap.h`
- `libcudacxx/include/cuda/std/__algorithm/iterator_operations.h`
- `libcudacxx/include/cuda/std/__algorithm/ranges_find_if.h`
- `libcudacxx/include/cuda/std/__algorithm/ranges_for_each.h`
- `libcudacxx/include/cuda/std/__algorithm/ranges_min.h`
- `libcudacxx/include/cuda/std/__algorithm/ranges_min_element.h`
- `libcudacxx/include/cuda/std/__algorithm/unwrap_range.h`
- `libcudacxx/include/cuda/std/__concepts/swappable.h`
- `libcudacxx/include/cuda/std/__expected/expected_base.h`
- `libcudacxx/include/cuda/std/__iterator/access.h`
- `libcudacxx/include/cuda/std/__iterator/advance.h`
- `libcudacxx/include/cuda/std/__iterator/common_iterator.h`
- `libcudacxx/include/cuda/std/__iterator/concepts.h`
- `libcudacxx/include/cuda/std/__iterator/counted_iterator.h`
- `libcudacxx/include/cuda/std/__iterator/distance.h`
- `libcudacxx/include/cuda/std/__iterator/iter_move.h`
- `libcudacxx/include/cuda/std/__iterator/iter_swap.h`
- `libcudacxx/include/cuda/std/__iterator/move_iterator.h`
- `libcudacxx/include/cuda/std/__iterator/next.h`
- `libcudacxx/include/cuda/std/__iterator/prev.h`
- `libcudacxx/include/cuda/std/__iterator/reverse_access.h`
- `libcudacxx/include/cuda/std/__iterator/reverse_iterator.h`
- `libcudacxx/include/cuda/std/__iterator/variant_like.h`
- `libcudacxx/include/cuda/std/__memory/construct_at.h`
- `libcudacxx/include/cuda/std/__pstl/reverse.h`
- `libcudacxx/include/cuda/std/__pstl/swap_ranges.h`
- `libcudacxx/include/cuda/std/__ranges/access.h`
- `libcudacxx/include/cuda/std/__ranges/common_view.h`
- `libcudacxx/include/cuda/std/__ranges/concepts.h`
- `libcudacxx/include/cuda/std/__ranges/data.h`
- `libcudacxx/include/cuda/std/__ranges/drop_view.h`
- `libcudacxx/include/cuda/std/__ranges/drop_while_view.h`
- `libcudacxx/include/cuda/std/__ranges/empty.h`
- `libcudacxx/include/cuda/std/__ranges/filter_view.h`
- `libcudacxx/include/cuda/std/__ranges/owning_view.h`
- `libcudacxx/include/cuda/std/__ranges/rbegin.h`
- `libcudacxx/include/cuda/std/__ranges/ref_view.h`
- `libcudacxx/include/cuda/std/__ranges/rend.h`
- `libcudacxx/include/cuda/std/__ranges/reverse_view.h`
- `libcudacxx/include/cuda/std/__ranges/size.h`
- `libcudacxx/include/cuda/std/__ranges/subrange.h`
- `libcudacxx/include/cuda/std/__ranges/take_view.h`
- `libcudacxx/include/cuda/std/__ranges/take_while_view.h`
- `libcudacxx/include/cuda/std/__ranges/transform_view.h`
- `libcudacxx/include/cuda/std/__ranges/unwrap_end.h`
- `libcudacxx/include/cuda/std/__ranges/view_interface.h`
- `libcudacxx/include/cuda/std/__simd/basic_vec.h`
- `libcudacxx/include/cuda/std/__type_traits/type_list.h`
- `libcudacxx/include/cuda/std/inplace_vector`
- `libcudacxx/include/cuda/std/span`
- `libcudacxx/include/cuda/std/string_view`

## Evidence Bundle

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