Skip to content

feat(hipcub): Add CCCL 3.0.x support (copy) - #9931

Merged
umfranzw merged 98 commits into
developfrom
users/umfranzw/hipcub_cccl3.0_copy
Jul 25, 2026
Merged

feat(hipcub): Add CCCL 3.0.x support (copy)#9931
umfranzw merged 98 commits into
developfrom
users/umfranzw/hipcub_cccl3.0_copy

Conversation

@umfranzw

Copy link
Copy Markdown
Contributor

Note: this is a rocm-libraries-based copy of #4079 in case we need to make immediate changes.

Add CCCL 3.0.x support for hipCUB library.
Additional updates: fix CUB backend
JIRA ID : EXSWSTRHPC-300

@therock-pr-bot

therock-pr-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown

✅ All Checks Passed — Ready for Review

Check Status Details
🌿 Branch Name ✅ Pass
📝 PR Title/Description ✅ Pass
Forbidden Files ✅ Pass
🧪 Unit Test ✅ Pass
🔎 pre-commit ✅ Pass
🚫 Draft PR 🔜 To Be Enabled
🚩 Feature Flag 🔜 To Be Enabled
📊 Code Coverage 🔜 To Be Enabled
🤖 therock-pr-bot ✅ Pass

🎉 All checks passed! This PR is ready for review.

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

@therock-pr-bot

Copy link
Copy Markdown

🎉 All checks passed! This PR is ready for review.

@codecov

codecov Bot commented Jul 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Additional details and impacted files
@@             Coverage Diff              @@
##           develop    #9931       +/-   ##
============================================
+ Coverage    69.54%   91.34%   +21.80%     
============================================
  Files         2769      500     -2269     
  Lines       451674    42012   -409662     
  Branches     66439     5407    -61032     
============================================
- Hits        314101    38374   -275727     
+ Misses      116577     3272   -113305     
+ Partials     20996      366    -20630     
Flag Coverage Δ
TensileLite ?
TensileLite-CPP ?
TensileLite-Unit ?
hipBLAS ?
hipBLASLt ?
hipCUB ?
hipDNN ?
hipFFT ?
hipRAND ?
hipSOLVER ?
hipSPARSE ?
rocBLAS ?
rocFFT ?
rocRAND ?
rocSOLVER ?
rocSPARSE ?
rocThrust 91.34% <ø> (-0.02%) ⬇️
Files with missing lines Coverage Δ
projects/rocthrust/test/test_scan.cpp 1.35% <ø> (-<0.01%) ⬇️
projects/rocthrust/test/test_utils.hpp 73.83% <ø> (+0.20%) ⬆️
...s/rocthrust/test/test_zip_iterator_sort_by_key.cpp 97.73% <ø> (-2.27%) ⬇️

... and 2270 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.

Several tests are consistently failing on Windows with gfx1151.
Temporarily disable these until we locate the root cause and find a proper fix.
@umfranzw
umfranzw force-pushed the users/umfranzw/hipcub_cccl3.0_copy branch from 7ae6e35 to f06b631 Compare July 25, 2026 12:34
@umfranzw
umfranzw merged commit 72b6de5 into develop Jul 25, 2026
56 of 57 checks passed
@umfranzw
umfranzw deleted the users/umfranzw/hipcub_cccl3.0_copy branch July 25, 2026 22:36
assistant-librarian Bot pushed a commit to ROCm/hipCUB that referenced this pull request Jul 25, 2026
feat(hipcub): Add CCCL 3.0.x support (copy)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Note: this is a rocm-libraries-based copy of
ROCm/rocm-libraries#4079 in case we need to make
immediate changes.

Add CCCL 3.0.x support for hipCUB library.
Additional updates: fix CUB backend
JIRA ID : EXSWSTRHPC-300
assistant-librarian Bot pushed a commit to ROCm/rocPRIM that referenced this pull request Jul 25, 2026
feat(hipcub): Add CCCL 3.0.x support (copy)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Note: this is a rocm-libraries-based copy of
ROCm/rocm-libraries#4079 in case we need to make
immediate changes.

Add CCCL 3.0.x support for hipCUB library.
Additional updates: fix CUB backend
JIRA ID : EXSWSTRHPC-300
assistant-librarian Bot pushed a commit to ROCm/rocThrust that referenced this pull request Jul 25, 2026
feat(hipcub): Add CCCL 3.0.x support (copy)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Note: this is a rocm-libraries-based copy of
ROCm/rocm-libraries#4079 in case we need to make
immediate changes.

Add CCCL 3.0.x support for hipCUB library.
Additional updates: fix CUB backend
JIRA ID : EXSWSTRHPC-300
lamb-j added a commit to ROCm/llvm-project that referenced this pull request Jul 27, 2026
## Why

`Applications/monte_carlo_pi` was migrated off the CUB-style hipcub
iterators that CCCL 3.0 removed (ROCm/rocm-libraries#9931) to the
portable `thrust::` iterators — see ROCm/rocm-examples#493. That
migration pulls in a rocThrust dependency (`find_package(rocthrust
REQUIRED)`), which the SPIRV CI build job doesn't currently install, so
the `Test rocm-examples` job would fail at configure with `Could not
find rocthrust`.

## What

Add a rocThrust checkout + install into the staging tree so the
rocm-examples build can find it:

- Add `ROCTHRUST_BUILD` env var.
- Checkout `ROCm/rocThrust@develop`, configure + install into staging
after hipCUB. rocThrust is header-only, so it's a fast configure +
install, mirroring the hipCUB step.
- Include the build dir in the strip + tar steps.

## Ordering

The `Test rocm-examples` job stays red until **both** this and
rocm-examples#493 land (either order); then the next `amd-staging` run
goes green. The job is informational (not a required check), so this
doesn't block merges in the meantime.
lamb-j added a commit to ROCm/rocm-examples that referenced this pull request Jul 27, 2026
…493)

* fix(monte_carlo_pi): migrate off hipcub iterators removed in CUB 3.0

hipCUB's CCCL 3.0 update (ROCm/rocm-libraries#9931) removed the CUB-style
iterator headers (counting/constant/transform/discard) that
Applications/monte_carlo_pi included, breaking its build against current
hipCUB. Switch to the portable Thrust iterators, which is the replacement
CUB 3.0 itself points to.

Changes:
- main.hip: replace hipcub::CountingInputIterator / TransformInputIterator
  with thrust::counting_iterator / thrust::make_transform_iterator; drop the
  unused discard_output_iterator include. hipcub::DeviceReduce::Sum is
  unchanged and accepts Thrust iterators.
- CMakeLists.txt: find + link rocThrust on the AMD path (roc::rocthrust);
  NVIDIA gets the Thrust headers from the already-required CUDA Toolkit.

* Apply suggestion from @idubinov

Co-authored-by: idubinov <idubinov@amd.com>

---------

Co-authored-by: idubinov <idubinov@amd.com>
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.

6 participants