Skip to content

[Tile] Disable execution checks in some tuple / pair helpers - #10712

Merged
miscco merged 1 commit into
NVIDIA:mainfrom
miscco:tile_tuple_pair_adl
Aug 7, 2026
Merged

[Tile] Disable execution checks in some tuple / pair helpers#10712
miscco merged 1 commit into
NVIDIA:mainfrom
miscco:tile_tuple_pair_adl

Conversation

@miscco

@miscco miscco commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Those were missed, because the use the ADL found overloads.

There are some additional warnings popping up from synthesized constructors, so disable them as well

We are explicitly using ADL found functions which might not support all execution spaces
@miscco
miscco requested a review from a team as a code owner August 7, 2026 10:30
@miscco
miscco requested a review from bernhardmgruber August 7, 2026 10:30
@github-project-automation github-project-automation Bot moved this to Todo in CCCL Aug 7, 2026
@cccl-authenticator-app cccl-authenticator-app Bot moved this from Todo to In Review in CCCL Aug 7, 2026
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Summary by CodeRabbit

  • Bug Fixes
    • Improved compatibility and reliability when using CUDA standard library utilities in device code and NVRTC compilation.
    • Enhanced support for copying, moving, assigning, constructing, and swapping iterator, tuple, pair, and range-related objects in constexpr and GPU contexts.
    • Reduced false execution-check diagnostics without changing existing runtime behavior.

Walkthrough

The change adds explicit constexpr special members to iterator and compressed storage types. It also applies execution-check suppression annotations to tuple operations, delegated constructors, and pair swap functions.

Changes

Execution Check Updates

Layer / File(s) Summary
Iterator and range special members
libcudacxx/include/cuda/__iterator/constant_iterator.h, libcudacxx/include/cuda/std/__ranges/compressed_movable_box.h
constant_iterator and one-, two-, and three-element __compressed_movable_box specializations now declare constexpr defaulted copy and move operations.
Tuple execution annotations
libcudacxx/include/cuda/std/__tuple_dir/tuple.h, libcudacxx/include/cuda/std/__tuple_dir/tuple_leaf.h
Tuple copy and move constructors and tuple leaf assignment helpers now use execution-check suppression annotations.
Utility execution annotations
libcudacxx/include/cuda/std/__utility/delegate_constructors.h, libcudacxx/include/cuda/std/__utility/pair.h
Generated delegated constructors and both pair::swap overloads now use execution-check suppression annotations.

Possibly related PRs

  • NVIDIA/cccl#10710: Disables execution checks on related iterator and utility constructors through different code paths.

Suggested reviewers: bernhardmgruber, jacobfaib


Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
libcudacxx/include/cuda/__iterator/constant_iterator.h (1)

113-120: 🎯 Functional Correctness | 🔵 Trivial

suggestion: Run the relevant CCCL CMake preset, targeted host/device/NVRTC tests, and pre-commit run --all-files. Report the results before merge because this change affects synthesized special members and execution-check handling.

As per coding guidelines, use the provided CMake presets and targeted build/test targets, run pre-commit checks, and report the results.

Source: Coding guidelines


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 4389edbe-bd6f-472b-804b-84ec20d1e38f

📥 Commits

Reviewing files that changed from the base of the PR and between 10d2278 and 96c1580.

📒 Files selected for processing (6)
  • libcudacxx/include/cuda/__iterator/constant_iterator.h
  • libcudacxx/include/cuda/std/__ranges/compressed_movable_box.h
  • libcudacxx/include/cuda/std/__tuple_dir/tuple.h
  • libcudacxx/include/cuda/std/__tuple_dir/tuple_leaf.h
  • libcudacxx/include/cuda/std/__utility/delegate_constructors.h
  • libcudacxx/include/cuda/std/__utility/pair.h

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

⏱️ CCCL compile-time benchmark comparison: Public headers compile-time bench

Result: 0 regression row(s), 7 improvement row(s) above threshold.

Run Value
Config public-headers-gcc13
Baseline origin/main
Preset all-dev
Targets cub.headers.base, thrust.cpp.cuda.headers.base, libcudacxx.test.public_headers
GPU / launch args rtx2080 / --cuda 13.3 --host gcc13

Artifacts: reports and traces

Direct file processing

-f file-processing exclusive --sort total

🟢 Direct file processing — Improvements
Rank Improvement impact Selected Δ Baseline Current Event Matched traces
1 1.376714 -1.376714 9.784211 8.407497 Processing Header File: libcudacxx/include/cuda/std/__cccl/prologue.h 550
2 0.805186 -0.805186 20.802910 19.997724 Processing Header File: libcudacxx/include/cuda/__device/physical_device.h 94
3 0.512025 -0.512025 11.187307 10.675282 Processing Header File: libcudacxx/include/cuda/std/__iterator/concepts.h 437
4 0.483825 -0.483825 6.425240 5.941415 Processing Header File: libcudacxx/include/cuda/std/__tuple_dir/vector_types.h 238
5 0.477089 -0.477089 3.349794 2.872705 Processing Header File: libcudacxx/include/cuda/std/__cccl/epilogue.h 550
6 0.288299 -0.288299 11.711047 11.422748 Processing Header File: libcudacxx/include/cuda/std/__type_traits/type_list.h 477
7 0.216635 -0.216635 2.059851 1.843216 Processing Header File: libcudacxx/include/cuda/std/string_view 98

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

🥳 CI Workflow Results

🟩 Finished in 3h 59m: Pass: 100%/115 | Total: 5d 18h | Max: 3h 58m | Hits: 38%/2163584

See results here.

@miscco
miscco merged commit 9d1f44d into NVIDIA:main Aug 7, 2026
144 checks passed
@miscco
miscco deleted the tile_tuple_pair_adl branch August 7, 2026 16:11
@github-project-automation github-project-automation Bot moved this from In Review to Done in CCCL Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants