-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update CCCL to 2.1.0. #399
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given that Thrust
now brings in a copy of libcudacxx
we will need to update rapids-cmake/cpm/thrust.cmake
to first call rapids-cmake/cpm/libcudacxx.cmake
so that we always use our version of libcudacxx
.
I have now updated libcudacxx and it appears that builds/tests are passing for rmm. I verified in the logs that Thrust/CUB/libcudacxx versions 2.1.0 are being used. I will open testing PRs for other RAPIDS repositories. (cross-posted from rapidsai/rmm#1247 (comment)) |
Several packages (cuDF, cuML, cuGraph) are complaining about problems with device lambdas. I will need to investigate this further. We'll likely need to write proper functors/callable structs for these lambdas. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving ops-codeowner
file changes
EDIT---
whoops, didn't realize this was still draft. I'll probably have to re-approve when it's ready, but that's fine.
Update: there was a minor issue with |
Go with a tag and a versions.json patch entry. |
This PR updates cuCollections to rapids-cmake 23.10. This helps prepare for CCCL 2.1.0 updates (rapidsai/rapids-cmake#399).
/ok to test |
…cuda::proclaim_return_type."
This will make sure that thrust uses our version of libcudacxx instead of the version packaged inside of it.
d446b3e
to
db19079
Compare
I rebased and force-pushed this PR so that all commits are signed. Now, future changes should not require |
0c59db0
to
ae9f333
Compare
This PR separates out the libcudacxx update from #399. I am proposing to update only libcudacxx to 2.1.0, and leave thrust/cub pinned at 1.17.2 until all of RAPIDS is ready to update. Then we can move forward with #399 next. Separating the update for libcudacxx should allow RAPIDS to use some of the new features we want while giving more time to RAPIDS libraries to migrate to CCCL 2.1.0 (particularly for breaking changes in Thrust/CUB). **Immediate benefits of bumping only libcudacxx to 2.1.0:** - Enables migration to Thrust/CUB 2.1.0 to be done more incrementally, because we could merge PRs using `cuda::proclaim_return_type` into cudf/etc. which would reduce the amount of unmerged code we're maintaining in the "testing PRs" while waiting for all RAPIDS repos to be ready for Thrust/CUB 2.1.0. - Unblocks work in rmm (rapidsai/rmm#1095) and quite a few planned changes for cuCollections (such as NVIDIA/cuCollections#332, NVIDIA/cuCollections#331, NVIDIA/cuCollections#289) **Risk Assessment:** This should be fairly low risk because libcudacxx 2.1.0 is similar to our current pinning of 1.9.1 -- the major version bump was meant to align with Thrust/CUB and isn't indicative of major breaking changes. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - Robert Maynard (https://github.com/robertmaynard) - Vyas Ramasubramani (https://github.com/vyasr) URL: #464
Closing this, now that #495 is merged. We will leave |
Description
This PR updates rapids-cmake to use CCCL version 2.1.0 (thrust, cub, libcudacxx). I will test this downstream with other repositories before opening this draft for review.
Checklist
cmake-format.json
is up to date with these changes.include_guard(GLOBAL)
)