Skip to content
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

CCCL 2.2.0 migration #502

Closed
25 of 26 tasks
bdice opened this issue Dec 8, 2023 · 2 comments
Closed
25 of 26 tasks

CCCL 2.2.0 migration #502

bdice opened this issue Dec 8, 2023 · 2 comments
Assignees
Labels
? - Needs Triage Need team to review and classify feature request New feature or request

Comments

@bdice
Copy link
Contributor

bdice commented Dec 8, 2023

This is a tracking issue for updates of RAPIDS to CCCL 2.2.0.

There are two phases: adding compatibility so that libraries can build with CCCL 2.2.0, and then actually doing the upgrade. I am opening separate PRs for each phase to minimize the diff that we have to keep in sync with ongoing library development.

High-Level Tasks

Some of this work is being done in parallel, following the RAPIDS dependency tree.

  • Open PRs for compatibility phase.
  • Test compatibility PRs locally.
  • Merge compatibility PRs.

Then:

  • Open PRs for version updates.
  • Test version update PRs (requires use of conda artifacts from upstream PRs).
  • Merge version update PRs.

Compatibility

PRs adding compatibility with CCCL 2.2.0 (e.g. by adding cuda::proclaim_return_type around device lambdas):

Version Updates

PRs updating to use rapids_cpm_cccl:

@bdice bdice added feature request New feature or request ? - Needs Triage Need team to review and classify labels Dec 8, 2023
@bdice bdice self-assigned this Dec 16, 2023
rapids-bot bot pushed a commit that referenced this issue Dec 19, 2023
Something is going wrong in `thrust::copy`, so I am adding a patch to revert NVIDIA/cccl#211. This will fix the failing tests for rapidsai/cuspatial#1315.

This is where it's failing, with `thrust::copy`:
https://github.com/rapidsai/cuspatial/blob/8e8fa0689339c0288746b01a8af66fb599f5c770/cpp/tests/range/multipolygon_range_test.cu#L800

CI log: https://github.com/rapidsai/cuspatial/actions/runs/7229405991/job/19700477218?pr=1315#step:7:3280

```
[ RUN      ] MultipolygonRangeOneTest/1.OneMultipolygonRange
unknown file: Failure
C++ exception with description "__copy:: D->D: failed: cudaErrorInvalidValue: invalid argument" thrown in the test body.

[  FAILED  ] MultipolygonRangeOneTest/1.OneMultipolygonRange, where TypeParam = double (0 ms)
```

I traced it down to this CCCL PR - note that `thrust::transform(..., thrust::identity{})` works, but the new `thrust::copy` code path in NVIDIA/cccl#211 that calls `cudaMemcpyAsync` doesn't work for some reason. I was not able to identify the exact reason why that PR causes the failure. Patching this out will unblock RAPIDS and let us migrate forward with CCCL 2.2.0.

This helps with #502.

Authors:
  - Bradley Dice (https://github.com/bdice)

Approvers:
  - Michael Schellenberger Costa (https://github.com/miscco)
  - Robert Maynard (https://github.com/robertmaynard)

URL: #511
rapids-bot bot pushed a commit that referenced this issue Dec 19, 2023
Part of #502. This updates cuCollections for CCCL 2.2.0 support. This should be merged when the rest of RAPIDS is ready to update to CCCL 2.2.0, just before merging RMM and other library PRs.

Authors:
  - Bradley Dice (https://github.com/bdice)

Approvers: None

URL: #510
@bdice
Copy link
Contributor Author

bdice commented Dec 19, 2023

I double-checked all the PRs linked above and we're ready to begin merging.

Here is the order of operations and their dependencies in parentheses:

  1. Merge Add patch reverting CCCL PR 211. #511
  2. (depends on 1) Merge Update cuCollections for CCCL 2.2.0 support. #510
  3. RMM (depends on 2) Revert testing changes and merge Update to CCCL 2.2.0. rmm#1404
  4. cuDF (depends on 3) Revert testing changes and merge Update to CCCL 2.2.0. cudf#14576
  5. RAFT (depends on 3) Revert testing changes and merge Update to CCCL 2.2.0. raft#2049
  6. cuSpatial (depends on 4) Revert testing changes and merge Update to CCCL 2.2.0. cuspatial#1315
  7. cuGraph-ops (depends on 5) Revert testing changes and merge https://github.com/rapidsai/cugraph-ops/pull/580
  8. cuML (depends on 5) Revert testing changes and merge Update to CCCL 2.2.0. cuml#5702
  9. cuOpt (depends on 5) Revert testing changes and merge https://github.com/rapidsai/cuopt/pull/1597
  10. cuGraph (depends on 7) Revert testing changes and merge Update to CCCL 2.2.0. cugraph#4052
  11. Revert Temporarily use cpu32 by default for accelerating CCCL 2.2.0 migration. shared-workflows#165

@bdice
Copy link
Contributor Author

bdice commented Jan 2, 2024

This migration is complete.

@bdice bdice closed this as completed Jan 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
? - Needs Triage Need team to review and classify feature request New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant