Skip to content

feat(hipcub, rocprim, rocthrust) Cherry-pick revert CCCL 3.0 changes into ROCm 10.0 - #10637

Merged
marbre merged 3 commits into
release/therock-10.0from
users/stanleytsang-amd/cccl-3.0-revert-cherrypick-rocm-10
Aug 13, 2026
Merged

marbre merged 3 commits into
release/therock-10.0from
users/stanleytsang-amd/cccl-3.0-revert-cherrypick-rocm-10

Conversation

@stanleytsang-amd

Copy link
Copy Markdown
Contributor

Motivation

Management has decided to revert the CCCL 3.0 changes for ROCm 10.0. This PR does that.

Technical Details

Revert all PRs related to or otherwise depending on the CCCL 3.0 changes by cherry-picking the commit that did so:
#10464

Test Plan

Ran builds and CI checks in original revert PR.

Test Result

Passed

Submission Checklist

@stanleytsang-amd
stanleytsang-amd requested review from a team August 11, 2026 18:21
@stanleytsang-amd
stanleytsang-amd requested review from a team as code owners August 11, 2026 18:21
@stanleytsang-amd stanleytsang-amd changed the title Fix merge conflicts feat(hipcub, rocprim, rocthrust) Cherry-pick revert CCCL 3.0 changes into ROCm 10.0 Aug 11, 2026
Comment thread projects/rocthrust/CHANGELOG.md Resolved

@spolifroni-amd spolifroni-amd 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.

It's fine. Just need to remove the merge editor comment from the rocthrust changelog

@marbre marbre left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

hipCUB is failing to build:

[hipCUB] In file included from /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_hipcub_block_histogram.cpp:23:
[hipCUB] In file included from /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/common_test_header.hpp:56:
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:636:17: error: no template named 'extents' in namespace 'hipcub'; did you mean 'std::extent'?
[hipCUB]   636 | using extents = ::hipcub::extents<IndexType, Dims...>;
[hipCUB]       |                 ^~~~~~~~~~
[hipCUB] /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/type_traits:1369:12: note: 'std::extent' declared here
[hipCUB]  1369 |     struct extent
[hipCUB]       |            ^
[hipCUB] In file included from /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_hipcub_block_histogram.cpp:23:
[hipCUB] In file included from /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/common_test_header.hpp:56:
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:642:21: error: use of undeclared identifier 'extents'
[hipCUB]   642 | struct extents_size<extents<IndexType, Dims...>>
[hipCUB]       |                     ^~~~~~~
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:648:38: error: no template named 'constant_iterator' in namespace 'rocprim'
[hipCUB]   648 | using constant_iterator = ::rocprim::constant_iterator<T, Difference>;
[hipCUB]       |                           ~~~~~~~~~~~^
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:651:38: error: no template named 'counting_iterator' in namespace 'rocprim'
[hipCUB]   651 | using counting_iterator = ::rocprim::counting_iterator<T>;
[hipCUB]       |                           ~~~~~~~~~~~^
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:653:80: error: no template named 'it_value_t' in namespace 'hipcub::detail'
[hipCUB]   653 | template<typename It, typename UnaryOp, typename ValueType = ::hipcub::detail::it_value_t<It>>
[hipCUB]       |                                                              ~~~~~~~~~~~~~~~~~~^
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:654:39: error: no template named 'transform_iterator' in namespace 'rocprim'
[hipCUB]   654 | using transform_iterator = ::rocprim::transform_iterator<It, UnaryOp, ValueType>;
[hipCUB]       |                            ~~~~~~~~~~~^
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:659:59: error: no template named 'transform_iterator'
[hipCUB]   659 |                                     UnaryOp transform) -> transform_iterator<It, UnaryOp>
[hipCUB]       |                                                           ^

https://github.com/ROCm/rocm-libraries/actions/runs/31525388455/job/93893239534?pr=10637

This needs to be addressed in order to land. PTAL @stanleytsang-amd.

@stanleytsang-amd

Copy link
Copy Markdown
Contributor Author

hipCUB is failing to build:

[hipCUB] In file included from /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_hipcub_block_histogram.cpp:23:
[hipCUB] In file included from /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/common_test_header.hpp:56:
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:636:17: error: no template named 'extents' in namespace 'hipcub'; did you mean 'std::extent'?
[hipCUB]   636 | using extents = ::hipcub::extents<IndexType, Dims...>;
[hipCUB]       |                 ^~~~~~~~~~
[hipCUB] /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/type_traits:1369:12: note: 'std::extent' declared here
[hipCUB]  1369 |     struct extent
[hipCUB]       |            ^
[hipCUB] In file included from /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_hipcub_block_histogram.cpp:23:
[hipCUB] In file included from /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/common_test_header.hpp:56:
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:642:21: error: use of undeclared identifier 'extents'
[hipCUB]   642 | struct extents_size<extents<IndexType, Dims...>>
[hipCUB]       |                     ^~~~~~~
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:648:38: error: no template named 'constant_iterator' in namespace 'rocprim'
[hipCUB]   648 | using constant_iterator = ::rocprim::constant_iterator<T, Difference>;
[hipCUB]       |                           ~~~~~~~~~~~^
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:651:38: error: no template named 'counting_iterator' in namespace 'rocprim'
[hipCUB]   651 | using counting_iterator = ::rocprim::counting_iterator<T>;
[hipCUB]       |                           ~~~~~~~~~~~^
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:653:80: error: no template named 'it_value_t' in namespace 'hipcub::detail'
[hipCUB]   653 | template<typename It, typename UnaryOp, typename ValueType = ::hipcub::detail::it_value_t<It>>
[hipCUB]       |                                                              ~~~~~~~~~~~~~~~~~~^
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:654:39: error: no template named 'transform_iterator' in namespace 'rocprim'
[hipCUB]   654 | using transform_iterator = ::rocprim::transform_iterator<It, UnaryOp, ValueType>;
[hipCUB]       |                            ~~~~~~~~~~~^
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:659:59: error: no template named 'transform_iterator'
[hipCUB]   659 |                                     UnaryOp transform) -> transform_iterator<It, UnaryOp>
[hipCUB]       |                                                           ^

https://github.com/ROCm/rocm-libraries/actions/runs/31525388455/job/93893239534?pr=10637

This needs to be addressed in order to land. PTAL @stanleytsang-amd.

Working on it.

@codecov

codecov Bot commented Aug 12, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 67.12329% with 48 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...ipcub/include/hipcub/backend/rocprim/util_type.hpp 0.00% 28 Missing ⚠️
...ckend/rocprim/iterator/discard_output_iterator.hpp 18.18% 9 Missing ⚠️
...hipcub/backend/rocprim/thread/thread_operators.hpp 27.27% 8 Missing ⚠️
...backend/rocprim/device/device_segmented_reduce.hpp 95.00% 1 Missing ⚠️
...lude/hipcub/backend/rocprim/device/device_spmv.hpp 96.67% 0 Missing and 1 partial ⚠️
...pcub/include/hipcub/backend/rocprim/util_macro.hpp 66.67% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@                   Coverage Diff                    @@
##           release/therock-10.0   #10637      +/-   ##
========================================================
+ Coverage                 69.63%   69.70%   +0.07%     
========================================================
  Files                      2739     2771      +32     
  Lines                    450644   452737    +2093     
  Branches                  66350    66670     +320     
========================================================
+ Hits                     313795   315577    +1782     
- Misses                   116706   116980     +274     
- Partials                  20143    20180      +37     
Flag Coverage Δ *Carryforward flag
TensileLite 34.33% <ø> (ø) Carriedforward from 0a06dbf
TensileLite-CPP 38.06% <ø> (ø) Carriedforward from 0a06dbf
TensileLite-Unit 75.77% <ø> (ø) Carriedforward from 0a06dbf
hipBLAS 90.62% <ø> (ø) Carriedforward from 0a06dbf
hipBLASLt 34.63% <ø> (ø) Carriedforward from 0a06dbf
hipCUB 82.68% <67.12%> (-0.79%) ⬇️
hipDNN 86.35% <ø> (ø) Carriedforward from 0a06dbf
hipFFT 47.49% <ø> (ø) Carriedforward from 0a06dbf
hipRAND 76.12% <ø> (ø) Carriedforward from 0a06dbf
hipSOLVER 69.18% <ø> (ø) Carriedforward from 0a06dbf
hipSPARSE 86.27% <ø> (ø) Carriedforward from 0a06dbf
rocBLAS 47.95% <ø> (ø) Carriedforward from 0a06dbf
rocFFT 48.70% <ø> (ø) Carriedforward from 0a06dbf
rocRAND 57.05% <ø> (ø) Carriedforward from 0a06dbf
rocSOLVER 76.92% <ø> (ø) Carriedforward from 0a06dbf
rocSPARSE 72.59% <ø> (ø) Carriedforward from 0a06dbf
rocThrust 91.34% <ø> (-0.25%) ⬇️

*This pull request uses carry forward flags. Click here to find out more.

Files with missing lines Coverage Δ
...ckend/rocprim/agent/single_pass_scan_operators.hpp 45.45% <ø> (ø)
.../hipcub/backend/rocprim/block/block_radix_sort.hpp 0.00% <ø> (ø)
...nclude/hipcub/backend/rocprim/block/block_scan.hpp 0.00% <ø> (ø)
...kend/rocprim/device/device_adjacent_difference.hpp 100.00% <ø> (ø)
...lude/hipcub/backend/rocprim/device/device_copy.hpp 100.00% <ø> (ø)
...clude/hipcub/backend/rocprim/device/device_for.hpp 82.68% <100.00%> (+1.32%) ⬆️
...hipcub/backend/rocprim/device/device_histogram.hpp 97.53% <100.00%> (+0.03%) ⬆️
...de/hipcub/backend/rocprim/device/device_memcpy.hpp 100.00% <ø> (ø)
...ude/hipcub/backend/rocprim/device/device_merge.hpp 100.00% <ø> (ø)
...ipcub/backend/rocprim/device/device_merge_sort.hpp 100.00% <ø> (ø)
... and 63 more

... and 288 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@stanleytsang-amd

Copy link
Copy Markdown
Contributor Author

hipCUB is failing to build:

[hipCUB] In file included from /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_hipcub_block_histogram.cpp:23:
[hipCUB] In file included from /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/common_test_header.hpp:56:
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:636:17: error: no template named 'extents' in namespace 'hipcub'; did you mean 'std::extent'?
[hipCUB]   636 | using extents = ::hipcub::extents<IndexType, Dims...>;
[hipCUB]       |                 ^~~~~~~~~~
[hipCUB] /opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/type_traits:1369:12: note: 'std::extent' declared here
[hipCUB]  1369 |     struct extent
[hipCUB]       |            ^
[hipCUB] In file included from /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_hipcub_block_histogram.cpp:23:
[hipCUB] In file included from /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/common_test_header.hpp:56:
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:642:21: error: use of undeclared identifier 'extents'
[hipCUB]   642 | struct extents_size<extents<IndexType, Dims...>>
[hipCUB]       |                     ^~~~~~~
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:648:38: error: no template named 'constant_iterator' in namespace 'rocprim'
[hipCUB]   648 | using constant_iterator = ::rocprim::constant_iterator<T, Difference>;
[hipCUB]       |                           ~~~~~~~~~~~^
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:651:38: error: no template named 'counting_iterator' in namespace 'rocprim'
[hipCUB]   651 | using counting_iterator = ::rocprim::counting_iterator<T>;
[hipCUB]       |                           ~~~~~~~~~~~^
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:653:80: error: no template named 'it_value_t' in namespace 'hipcub::detail'
[hipCUB]   653 | template<typename It, typename UnaryOp, typename ValueType = ::hipcub::detail::it_value_t<It>>
[hipCUB]       |                                                              ~~~~~~~~~~~~~~~~~~^
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:654:39: error: no template named 'transform_iterator' in namespace 'rocprim'
[hipCUB]   654 | using transform_iterator = ::rocprim::transform_iterator<It, UnaryOp, ValueType>;
[hipCUB]       |                            ~~~~~~~~~~~^
[hipCUB] /__w/rocm-libraries/rocm-libraries/projects/hipcub/test/hipcub/test_utils.hpp:659:59: error: no template named 'transform_iterator'
[hipCUB]   659 |                                     UnaryOp transform) -> transform_iterator<It, UnaryOp>
[hipCUB]       |                                                           ^

https://github.com/ROCm/rocm-libraries/actions/runs/31525388455/job/93893239534?pr=10637

This needs to be addressed in order to land. PTAL @stanleytsang-amd.

@marbre looks like the gfx942 job completed, and the build looks good now.

@marbre
marbre self-requested a review August 13, 2026 15:27

@amd-jmahovsky amd-jmahovsky 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.

LGTM

@marbre
marbre merged commit dc74b7e into release/therock-10.0 Aug 13, 2026
43 of 55 checks passed
@marbre
marbre deleted the users/stanleytsang-amd/cccl-3.0-revert-cherrypick-rocm-10 branch August 13, 2026 17:09
stanleytsang-amd pushed a commit that referenced this pull request Aug 17, 2026
## Motivation

Closes #10848.

* Reapplies: #8538
  * Was reverted in: #10849
* Fixes a compilation error in the transform basic benchmark. This
failure was exposed due to the recent revert of libhipcxx inclusion
(#10637).

## Technical Details

* Added a fallback path to include `thrust/functional.h` if no libhipcxx
or libcudacxx is detected.
  * Also fallback to `thrust::detail::proclaim_copyable_arguments`.

## Test Plan

* Compiled locally with and without fix.

## Test Result

* Error reproduced without fix.
* Resolved with fix.

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
assistant-librarian Bot pushed a commit to ROCm/rocRAND that referenced this pull request Aug 17, 2026
fix(rocthrust): fix transform basic compile error

## Motivation

Closes ROCm/rocm-libraries#10848.

* Reapplies: ROCm/rocm-libraries#8538
  * Was reverted in: ROCm/rocm-libraries#10849
* Fixes a compilation error in the transform basic benchmark. This
failure was exposed due to the recent revert of libhipcxx inclusion
(ROCm/rocm-libraries#10637).

## Technical Details

* Added a fallback path to include `thrust/functional.h` if no libhipcxx
or libcudacxx is detected.
  * Also fallback to `thrust::detail::proclaim_copyable_arguments`.

## Test Plan

* Compiled locally with and without fix.

## Test Result

* Error reproduced without fix.
* Resolved with fix.

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
marbre added a commit to ROCm/TheRock that referenced this pull request Aug 17, 2026
Bumps rocm-libraries to include cherry-pick

* ROCm/rocm-libraries#10637 - JIRA ID AIRDEL-36
marbre added a commit to ROCm/TheRock that referenced this pull request Aug 18, 2026
Bumps rocm-libraries to include cherry-pick

* ROCm/rocm-libraries#10637 - JIRA ID AIRDEL-36
marbre added a commit to ROCm/TheRock that referenced this pull request Aug 19, 2026
Bumps rocm-libraries to include cherry-picks for JIRA ID AIRDEL-36

* ROCm/rocm-libraries#10637
* ROCm/rocm-libraries#10879
* ROCm/rocm-libraries#10967
* ROCm/rocm-libraries#10991
marbre added a commit to ROCm/TheRock that referenced this pull request Aug 20, 2026
stanleytsang-amd pushed a commit that referenced this pull request Sep 18, 2026
## Motivation

Closes #10848.

* Reapplies: #8538
  * Was reverted in: #10849
* Fixes a compilation error in the transform basic benchmark. This
failure was exposed due to the recent revert of libhipcxx inclusion
(#10637).

## Technical Details

* Added a fallback path to include `thrust/functional.h` if no libhipcxx
or libcudacxx is detected.
  * Also fallback to `thrust::detail::proclaim_copyable_arguments`.

## Test Plan

* Compiled locally with and without fix.

## Test Result

* Error reproduced without fix.
* Resolved with fix.

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
illsilin pushed a commit to igorluppi/rocm-libraries that referenced this pull request Oct 1, 2026
## Motivation

Closes ROCm#10848.

* Reapplies: ROCm#8538
  * Was reverted in: ROCm#10849
* Fixes a compilation error in the transform basic benchmark. This
failure was exposed due to the recent revert of libhipcxx inclusion
(ROCm#10637).

## Technical Details

* Added a fallback path to include `thrust/functional.h` if no libhipcxx
or libcudacxx is detected.
  * Also fallback to `thrust::detail::proclaim_copyable_arguments`.

## Test Plan

* Compiled locally with and without fix.

## Test Result

* Error reproduced without fix.
* Resolved with fix.

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants