Skip to content

Simplify thrust::zip_function - #6321

Merged
bernhardmgruber merged 2 commits into
NVIDIA:mainfrom
bernhardmgruber:ref_zip_fun
Oct 23, 2025
Merged

bernhardmgruber merged 2 commits into
NVIDIA:mainfrom
bernhardmgruber:ref_zip_fun

Conversation

@bernhardmgruber

Copy link
Copy Markdown
Contributor

No description provided.

@bernhardmgruber
bernhardmgruber requested a review from a team as a code owner October 23, 2025 12:26
@github-project-automation github-project-automation Bot moved this to Todo in CCCL Oct 23, 2025
@cccl-authenticator-app cccl-authenticator-app Bot moved this from Todo to In Review in CCCL Oct 23, 2025
@bernhardmgruber
bernhardmgruber enabled auto-merge (squash) October 23, 2025 15:10
@github-actions

Copy link
Copy Markdown
Contributor

🥳 CI Workflow Results

🟩 Finished in 2h 22m: Pass: 100%/69 | Total: 2d 04h | Max: 2h 21m | Hits: 80%/115211

See results here.

@bernhardmgruber
bernhardmgruber merged commit 52eb288 into NVIDIA:main Oct 23, 2025
81 checks passed
@github-project-automation github-project-automation Bot moved this from In Review to Done in CCCL Oct 23, 2025
@bernhardmgruber
bernhardmgruber deleted the ref_zip_fun branch October 23, 2025 18:47
pciolkosz pushed a commit to pciolkosz/cccl that referenced this pull request Oct 23, 2025
pciolkosz pushed a commit to pciolkosz/cccl that referenced this pull request Oct 24, 2025
Naraenda pushed a commit to ROCm/rocm-libraries that referenced this pull request Oct 26, 2026
NVIDIA/cccl#6321)

Upstream: NVIDIA/cccl@52eb288

Partial: zip_function.h keeps the local detail::zip_detail::apply (upstream switches to ::cuda::std::apply, which is not usable with non-libhipcxx tuples on device; behaviour identical). HIP: no change (generic header kept). test/: no counterpart. testing/: cuda/transform.cu zip_function<sum_five> specialization now returns double instead of the decltype(zip_detail::apply(...)) trailing return, as upstream. 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 28, 2026
…with _THRUST_STD::apply

Related upstream commit: 52eb28883c4 Simplify thrust::zip_function (NVIDIA/cccl#6321)
Related local port commit: 0d3216d
Also related: 7b52284299d Rename our namespace macros (NVIDIA/cccl#5538) (the namespace fallback removed below)

The port kept the local zip_detail::apply helper and the non-libhipcxx `namespace internal` path
for compatibility. libhipcxx is now mandatory, so zip_function.h now matches upstream:
- zip_function::operator() returns _THRUST_STD::apply(func, _THRUST_STD::forward<Tuple>(args));
  thrust::detail::zip_detail::{apply,apply_impl} are removed.
- include _THRUST_LIBCXX_INCLUDE(functional) and _THRUST_STD_INCLUDE(tuple) instead of
  thrust/tuple.h, thrust/type_traits/integer_sequence.h and the libcxx_wrapper fallback.
- the proclaims_copyable_arguments<zip_function<F>> specialization is only declared in the libcxx
  namespace (_THRUST_LIBCXX_NAMESPACE_BEGIN/END).
The leftover "C++11 decltype(auto) workaround" comments are removed as upstream did.

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
NVIDIA/cccl#6321)

Upstream: NVIDIA/cccl@52eb288

Partial: zip_function.h keeps the local detail::zip_detail::apply (upstream switches to ::cuda::std::apply, which is not usable with non-libhipcxx tuples on device; behaviour identical). HIP: no change (generic header kept). test/: no counterpart. testing/: cuda/transform.cu zip_function<sum_five> specialization now returns double instead of the decltype(zip_detail::apply(...)) trailing return, as upstream. 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
NVIDIA/cccl#6321)

Upstream: NVIDIA/cccl@52eb288

Partial: zip_function.h keeps the local detail::zip_detail::apply (upstream switches to ::cuda::std::apply, which is not usable with non-libhipcxx tuples on device; behaviour identical). HIP: no change (generic header kept). test/: no counterpart. testing/: cuda/transform.cu zip_function<sum_five> specialization now returns double instead of the decltype(zip_detail::apply(...)) trailing return, as upstream. 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
…with _THRUST_STD::apply

Related upstream commit: 52eb28883c4 Simplify thrust::zip_function (NVIDIA/cccl#6321)
Related local port commit: 0d3216d
Also related: 7b52284299d Rename our namespace macros (NVIDIA/cccl#5538) (the namespace fallback removed below)

The port kept the local zip_detail::apply helper and the non-libhipcxx `namespace internal` path
for compatibility. libhipcxx is now mandatory, so zip_function.h now matches upstream:
- zip_function::operator() returns _THRUST_STD::apply(func, _THRUST_STD::forward<Tuple>(args));
  thrust::detail::zip_detail::{apply,apply_impl} are removed.
- include _THRUST_LIBCXX_INCLUDE(functional) and _THRUST_STD_INCLUDE(tuple) instead of
  thrust/tuple.h, thrust/type_traits/integer_sequence.h and the libcxx_wrapper fallback.
- the proclaims_copyable_arguments<zip_function<F>> specialization is only declared in the libcxx
  namespace (_THRUST_LIBCXX_NAMESPACE_BEGIN/END).
The leftover "C++11 decltype(auto) workaround" comments are removed as upstream did.

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 30, 2026
NVIDIA/cccl#6321)

Upstream: NVIDIA/cccl@52eb288

Partial: zip_function.h keeps the local detail::zip_detail::apply (upstream switches to ::cuda::std::apply, which is not usable with non-libhipcxx tuples on device; behaviour identical). HIP: no change (generic header kept). test/: no counterpart. testing/: cuda/transform.cu zip_function<sum_five> specialization now returns double instead of the decltype(zip_detail::apply(...)) trailing return, as upstream. Not compiled, tests not run (per human)

Co-Authored-By: Claude <noreply@anthropic.com>
Beanavil pushed a commit to ROCm/rocm-libraries that referenced this pull request Oct 30, 2026
NVIDIA/cccl#6321)

Upstream: NVIDIA/cccl@52eb288

Partial: zip_function.h keeps the local detail::zip_detail::apply (upstream switches to ::cuda::std::apply, which is not usable with non-libhipcxx tuples on device; behaviour identical). HIP: no change (generic header kept). test/: no counterpart. testing/: cuda/transform.cu zip_function<sum_five> specialization now returns double instead of the decltype(zip_detail::apply(...)) trailing return, as upstream. 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
…with _THRUST_STD::apply

Related upstream commit: 52eb28883c4 Simplify thrust::zip_function (NVIDIA/cccl#6321)
Related local port commit: 0d3216d
Also related: 7b52284299d Rename our namespace macros (NVIDIA/cccl#5538) (the namespace fallback removed below)

The port kept the local zip_detail::apply helper and the non-libhipcxx `namespace internal` path
for compatibility. libhipcxx is now mandatory, so zip_function.h now matches upstream:
- zip_function::operator() returns _THRUST_STD::apply(func, _THRUST_STD::forward<Tuple>(args));
  thrust::detail::zip_detail::{apply,apply_impl} are removed.
- include _THRUST_LIBCXX_INCLUDE(functional) and _THRUST_STD_INCLUDE(tuple) instead of
  thrust/tuple.h, thrust/type_traits/integer_sequence.h and the libcxx_wrapper fallback.
- the proclaims_copyable_arguments<zip_function<F>> specialization is only declared in the libcxx
  namespace (_THRUST_LIBCXX_NAMESPACE_BEGIN/END).
The leftover "C++11 decltype(auto) workaround" comments are removed as upstream did.

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.

4 participants