Skip to content

Improve invoke machinery - #6227

Merged
davebayer merged 12 commits into
NVIDIA:mainfrom
miscco:improve_invoke
Oct 15, 2025
Merged

davebayer merged 12 commits into
NVIDIA:mainfrom
miscco:improve_invoke

Conversation

@miscco

@miscco miscco commented Oct 14, 2025

Copy link
Copy Markdown
Contributor

This is one of the fundamental facilities in the whole library, which was still using a lot of structs.

This modernizes it to rely on inline variables and concepts when possible

@miscco
miscco requested review from a team as code owners October 14, 2025 16:49
@github-project-automation github-project-automation Bot moved this to Todo in CCCL Oct 14, 2025
@miscco
miscco requested a review from elstehle October 14, 2025 16:49
@cccl-authenticator-app cccl-authenticator-app Bot moved this from Todo to In Review in CCCL Oct 14, 2025
@github-actions

This comment has been minimized.

@davebayer
davebayer enabled auto-merge (squash) October 15, 2025 09:22
@github-actions

Copy link
Copy Markdown
Contributor

🥳 CI Workflow Results

🟩 Finished in 5h 09m: Pass: 100%/171 | Total: 10d 19h | Max: 5h 08m | Hits: 24%/358170

See results here.

@davebayer
davebayer merged commit c859e94 into NVIDIA:main Oct 15, 2025
181 checks passed
@github-project-automation github-project-automation Bot moved this from In Review to Done in CCCL Oct 15, 2025
@miscco
miscco deleted the improve_invoke branch October 15, 2025 11:21
amd-jmahovsky added a commit to ROCm/rocm-libraries that referenced this pull request Oct 28, 2026
…hs in detail/type_traits.h

Related upstream commit: c859e948453 Improve `invoke` machinery (NVIDIA/cccl#6227)
Related local port commit: 33e87b6 (pre-rebase SHA; folded into the rebased history)

The port switched only the libhipcxx branch to _THRUST_STD::invoke_result and left the
"TODO(libhipcxx): remove this path" rocprim/std fallbacks. libhipcxx is now mandatory, so
thrust::detail::invoke_result is just _THRUST_STD::invoke_result as upstream, and the dead
rocprim/std fallbacks for the ::internal aliases (is_arithmetic, is_integral, make_unsigned,
decay_t, remove_cvref, ...), ::internal::detail::common_type and the
<rocprim/type_traits_functions.hpp> include are removed. The ::internal aliases themselves stay
for now (they still have users).

Not compiled, tests not run (per human)

Co-Authored-By: Claude <noreply@anthropic.com>
Naraenda pushed a commit to ROCm/rocm-libraries that referenced this pull request Oct 29, 2026
…hs in detail/type_traits.h

Related upstream commit: c859e948453 Improve `invoke` machinery (NVIDIA/cccl#6227)
Related local port commit: 33e87b6 (pre-rebase SHA; folded into the rebased history)

The port switched only the libhipcxx branch to _THRUST_STD::invoke_result and left the
"TODO(libhipcxx): remove this path" rocprim/std fallbacks. libhipcxx is now mandatory, so
thrust::detail::invoke_result is just _THRUST_STD::invoke_result as upstream, and the dead
rocprim/std fallbacks for the ::internal aliases (is_arithmetic, is_integral, make_unsigned,
decay_t, remove_cvref, ...), ::internal::detail::common_type and the
<rocprim/type_traits_functions.hpp> include are removed. The ::internal aliases themselves stay
for now (they still have users).

Not compiled, tests not run (per human)

Co-Authored-By: Claude <noreply@anthropic.com>
amd-jmahovsky added a commit to ROCm/rocm-libraries that referenced this pull request Oct 30, 2026
…hs in detail/type_traits.h

Related upstream commit: c859e948453 Improve `invoke` machinery (NVIDIA/cccl#6227)
Related local port commit: 33e87b6 (pre-rebase SHA; folded into the rebased history)

The port switched only the libhipcxx branch to _THRUST_STD::invoke_result and left the
"TODO(libhipcxx): remove this path" rocprim/std fallbacks. libhipcxx is now mandatory, so
thrust::detail::invoke_result is just _THRUST_STD::invoke_result as upstream, and the dead
rocprim/std fallbacks for the ::internal aliases (is_arithmetic, is_integral, make_unsigned,
decay_t, remove_cvref, ...), ::internal::detail::common_type and the
<rocprim/type_traits_functions.hpp> include are removed. The ::internal aliases themselves stay
for now (they still have users).

Not compiled, tests not run (per human)

Co-Authored-By: Claude <noreply@anthropic.com>
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.

3 participants