Repository navigation
Replace __popc with cude::std::popcounter - #6213
Merged
Merged
Conversation
Contributor
davebayer
approved these changes
Oct 14, 2025
Contributor
|
/ok to test afd9ae6 |
Contributor
|
Thanks for working on this :) |
miscco
requested changes
Oct 14, 2025
This comment has been minimized.
This comment has been minimized.
davebayer
reviewed
Oct 14, 2025
davebayer
requested changes
Oct 14, 2025
davebayer
left a comment
Contributor
There was a problem hiding this comment.
There is one more __popc(...) left in thrust/thrust/system/cuda/detail/set_operations.h
Contributor
Author
This is done. |
davebayer
approved these changes
Oct 14, 2025
Contributor
|
/ok to test 00154d6 |
davebayer
reviewed
Oct 14, 2025
This comment has been minimized.
This comment has been minimized.
fbusato
reviewed
Oct 14, 2025
fbusato
approved these changes
Oct 14, 2025
Contributor
|
@elstehle can I bully you into checking SASS? |
elstehle
approved these changes
Oct 15, 2025
elstehle
left a comment
Contributor
There was a problem hiding this comment.
Confirmed that there are no sass changes.
Fyi, these are the steps I usually follow to check whether there are any sass changes:
- Identify the
Device*algorithm(s) that may be affected by a change. This isn't always straight-forward. Sometimes, the change may only be affected on certain GPU architectures (this would require looking into the tuning policy of affected algorithms) - Compile the benchmarks for the specific
Device*algorithm(s) identified in (1) and dump the sass code. E.g.,ninja cub.bench.radix_sort.keys.base && cuobjdump -sass ./bin/cub.bench.radix_sort.keys.base |c++filt > ./radix_sort.keys_after.sass. - Checkout the
mainbranch to compare against baseline sass code being generated:git checkout $(git merge-base HEAD upstream/main) - Dump the sass code emitted on main branch. E.g.,
ninja cub.bench.radix_sort.keys.base && cuobjdump -sass ./bin/cub.bench.radix_sort.keys.base |c++filt > ./radix_sort.keys_before.sass. - Check whether there are sass changes:
git diff --text --no-index --word-diff radix_sort.keys_before.sass radix_sort.keys_after.sass
Contributor
Author
|
can we run test on this PR? other then that I think everything is done. |
Contributor
|
/ok to test ff78f01 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Contributor
🥳 CI Workflow Results🟩 Finished in 18h 40m: Pass: 100%/176 | Total: 9d 04h | Max: 4h 48m | Hits: 62%/358506See results here. |
bernhardmgruber
approved these changes
Oct 21, 2025
miscco
approved these changes
Oct 22, 2025
Contributor
|
Thanks a lot @viralbhadeshiya for working on this 🎉 |
pciolkosz
pushed a commit
to pciolkosz/cccl
that referenced
this pull request
Oct 23, 2025
--------- Co-authored-by: David Bayer <48736217+davebayer@users.noreply.github.com>
pciolkosz
pushed a commit
to pciolkosz/cccl
that referenced
this pull request
Oct 24, 2025
--------- Co-authored-by: David Bayer <48736217+davebayer@users.noreply.github.com>
Naraenda
pushed a commit
to ROCm/rocm-libraries
that referenced
this pull request
Oct 26, 2026
…d::popcounter (NVIDIA/cccl#6213) Upstream: NVIDIA/cccl@638c03d HIP: no change; hip/detail/set_operations.h keeps the HIP __popc intrinsic (valid on all HIP targets; switching to _THRUST_STD::popcount would require libhipcxx and gives no correctness benefit). system/cuda: __popc -> ::cuda::std::popcount. test/: no counterpart. testing/: no counterpart. 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
…unt in hip set_operations Related upstream commit: 638c03d54f7 Replace __popc with cude::std::popcounter (NVIDIA/cccl#6213) Related local port commit: baac406 The port changed only system/cuda. libhipcxx is now mandatory, so system/hip/detail/set_operations.h follows upstream: thread_output_count uses _THRUST_STD::popcount(static_cast<unsigned>(active_mask)) instead of the __popc intrinsic, includes _THRUST_STD_INCLUDE(__bit/popcount.h), and the max/min includes are no longer guarded (the !_THRUST_HAS_DEVICE_SYSTEM_STD algorithm_wrapper.h fallback is removed). 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
…d::popcounter (NVIDIA/cccl#6213) Upstream: NVIDIA/cccl@638c03d HIP: no change; hip/detail/set_operations.h keeps the HIP __popc intrinsic (valid on all HIP targets; switching to _THRUST_STD::popcount would require libhipcxx and gives no correctness benefit). system/cuda: __popc -> ::cuda::std::popcount. test/: no counterpart. testing/: no counterpart. 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
…d::popcounter (NVIDIA/cccl#6213) Upstream: NVIDIA/cccl@638c03d HIP: no change; hip/detail/set_operations.h keeps the HIP __popc intrinsic (valid on all HIP targets; switching to _THRUST_STD::popcount would require libhipcxx and gives no correctness benefit). system/cuda: __popc -> ::cuda::std::popcount. test/: no counterpart. testing/: no counterpart. 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
…unt in hip set_operations Related upstream commit: 638c03d54f7 Replace __popc with cude::std::popcounter (NVIDIA/cccl#6213) Related local port commit: baac406 The port changed only system/cuda. libhipcxx is now mandatory, so system/hip/detail/set_operations.h follows upstream: thread_output_count uses _THRUST_STD::popcount(static_cast<unsigned>(active_mask)) instead of the __popc intrinsic, includes _THRUST_STD_INCLUDE(__bit/popcount.h), and the max/min includes are no longer guarded (the !_THRUST_HAS_DEVICE_SYSTEM_STD algorithm_wrapper.h fallback is removed). 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
…d::popcounter (NVIDIA/cccl#6213) Upstream: NVIDIA/cccl@638c03d HIP: no change; hip/detail/set_operations.h keeps the HIP __popc intrinsic (valid on all HIP targets; switching to _THRUST_STD::popcount would require libhipcxx and gives no correctness benefit). system/cuda: __popc -> ::cuda::std::popcount. test/: no counterpart. testing/: no counterpart. 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
…d::popcounter (NVIDIA/cccl#6213) Upstream: NVIDIA/cccl@638c03d HIP: no change; hip/detail/set_operations.h keeps the HIP __popc intrinsic (valid on all HIP targets; switching to _THRUST_STD::popcount would require libhipcxx and gives no correctness benefit). system/cuda: __popc -> ::cuda::std::popcount. test/: no counterpart. testing/: no counterpart. 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
…unt in hip set_operations Related upstream commit: 638c03d54f7 Replace __popc with cude::std::popcounter (NVIDIA/cccl#6213) Related local port commit: baac406 The port changed only system/cuda. libhipcxx is now mandatory, so system/hip/detail/set_operations.h follows upstream: thread_output_count uses _THRUST_STD::popcount(static_cast<unsigned>(active_mask)) instead of the __popc intrinsic, includes _THRUST_STD_INCLUDE(__bit/popcount.h), and the max/min includes are no longer guarded (the !_THRUST_HAS_DEVICE_SYSTEM_STD algorithm_wrapper.h fallback is removed). Not compiled, tests not run (per human) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
closes #6107
Checklist