-
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 libcudacxx to 2.1.0 #464
Conversation
Tracking CI pass/fail in these PRs:
I think it should be sufficient if these pass, since these are the only RAPIDS repos that explicitly use |
cuSpatial is a bit tricky to test with an updated libcudacxx package unless I build it locally from source. I am going to attempt that tomorrow to verify, but overall I expect the risk of breaking builds by updating libcudacxx to 2.1.0 is very low. |
I verified that cuSpatial builds locally. This PR should be ready to review and merge. |
/merge |
This updates cuCollections to rapids-cmake 23.12. This comes with rapidsai/rapids-cmake#464, which updates libcudacxx to 2.1.0. That should unblock several cuCollections issues such as #332, #331, #289.
That is amazing, thanks a lot for pushing this through |
This PR adds `cuda::proclaim_return_type` to device lambdas used in `thrust::transform` and `thrust::make_transform_iterator`. This PR requires libcudacxx 2.1.0, which was provided by rapidsai/rapids-cmake#464. Closes #3863. Authors: - Seunghwa Kang (https://github.com/seunghwak) - Bradley Dice (https://github.com/bdice) Approvers: - Bradley Dice (https://github.com/bdice) - Chuck Hastings (https://github.com/ChuckHastings) URL: #3862
Description
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:
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.cuda::mr::memory_resource
instead of rawdevice_memory_resource
rmm#1095) and quite a few planned changes for cuCollections (such as Switch to cuda::std::span once available NVIDIA/cuCollections#332, Switch to cuda::stream_ref NVIDIA/cuCollections#331, [ENHANCEMENT]: Switch to cuda::memory_resource once it is available 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.
Checklist
cmake-format.json
is up to date with these changes.include_guard(GLOBAL)
)