Skip to content

[RELEASE] rapids-cmake v25.06 #852

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

Merged
merged 36 commits into from
Jun 5, 2025
Merged

[RELEASE] rapids-cmake v25.06 #852

merged 36 commits into from
Jun 5, 2025

Conversation

AyodeAwe
Copy link
Contributor

❄️ Code freeze for branch-25.06 and v25.06 release

What does this mean?

Only critical/hotfix level issues should be merged into branch-25.06 until release (merging of this PR).

What is the purpose of this PR?

  • Update documentation
  • Allow testing for the new release
  • Enable a means to merge branch-25.06 into main for the release

raydouglass and others added 30 commits March 13, 2025 14:53
Forward-merge branch-25.04 into branch-25.06
Forward-merge branch-25.04 into branch-25.06
This enables patches that only affect the build process of a project and not its exported headers or runtime functionality. If all of a project's patches are build patches, it is not required to be downloaded and can be found with `find_package()`.

Resolves #799

TODO:

- [x] Add tests for `rapids_cpm_find()`

Authors:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

Approvers:
  - Robert Maynard (https://github.com/robertmaynard)

URL: #801
Forward-merge branch-25.04 into branch-25.06
…ces (#810)

The conda package `rapids_core_dependencies` isn't used anywhere, but we're spending CI cycles building and testing this package.

I've removed the recipe entirely, and all the resources for `build_cpp.sh` and `test_cpp.sh`.

Authors:
  - Gil Forsyth (https://github.com/gforsyth)

Approvers:
  - Bradley Dice (https://github.com/bdice)
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

URL: #810
With NVTX now properly exporting its targets, use that instead of exporting it ourselves.

Depends on NVIDIA/NVTX#114

Authors:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

Approvers:
  - Vyas Ramasubramani (https://github.com/vyasr)
  - Jake Awe (https://github.com/AyodeAwe)
  - Bradley Dice (https://github.com/bdice)

URL: #804
We are specifying a hash rather than a branch or tag, [which requires a non-shallow clone in CMake](https://cmake.org/cmake/help/latest/module/ExternalProject.html#git).

Authors:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

Approvers:
  - Vyas Ramasubramani (https://github.com/vyasr)
  - Bradley Dice (https://github.com/bdice)

URL: #811
Tags are mutable and can be replaced with malicious code. Replace them with the hash that the tag points to at the time of this PR.

Each hash was found by doing:

```
curl https://api.github.com/repos/$OWNER/$REPO/tags | jq -r '.[] | select(.name == "$TAG") | .commit.sha'
```

nvtx and bs_thread_pool are separately covered by #811.

Authors:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

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

URL: #812
CMP0135 changed behavior in CMake 3.24. Now that we require CMake 3.30.4+, we don't need to be concerned about old versions of the policy. https://cmake.org/cmake/help/latest/policy/CMP0135.html

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

Approvers:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

URL: #816
Retrying to download files is useful when there are network instabilities that may succeed after a few retries.

Authors:
  - Peter Andreas Entschev (https://github.com/pentschev)
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

Approvers:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)
  - Bradley Dice (https://github.com/bdice)

URL: #809
And strip the include guard from download_with_retry.cmake and download.cmake when writing them to the export file.

Follow-up to #809

Authors:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

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

URL: #818
Forward-merge branch-25.04 into branch-25.06
This PR enables pre-commit rules to format all CMake code.

`cmake-format` now runs on the entire repository.

The `testing/` directory is excluded from `cmake-lint` but all other code is linted.

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

Approvers:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

URL: #821
Remove the default version from `RAPIDS.cmake`, so that it no longer needs to be updated. From now on, projects that inline `RAPIDS.cmake` must provide the `rapids-cmake-version` variable.

Authors:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

Approvers:
  - Peter Andreas Entschev (https://github.com/pentschev)
  - Bradley Dice (https://github.com/bdice)

URL: #822
Remove the default version from `RAPIDS.cmake`, so that it no longer
needs to be updated. From now on, projects that inline `RAPIDS.cmake`
must provide the `rapids-cmake-version` variable.

xref: rapidsai/build-infra#206

Identical to #822, which had to be reverted due to being merged prematurely and breaking downstream projects.

Authors:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

Approvers: None

URL: #825
…GIC_ERROR` in `rapids_cpm_cccl` (#807)

Adds additional definitions to also disable CUB's arch-dependent namespaces

Authors:
  - Paul Taylor (https://github.com/trxcllnt)

Approvers:
  - Robert Maynard (https://github.com/robertmaynard)

URL: #807
Fixes #798

Add compiler flags in conda-build runs to remap binary embedded paths from absolute paths (with `$PREFIX`) to `$PREFIX` relative paths. This keeps the meaningful portion of the path while dropping the build time specific `$PREFIX`. Plus bypasses the need to do prefix replacement with these paths.

<hr>

Authors:
  - https://github.com/jakirkham
  - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)
  - Vyas Ramasubramani (https://github.com/vyasr)
  - Bradley Dice (https://github.com/bdice)
  - Robert Maynard (https://github.com/robertmaynard)

URL: #817
NOTE: I need to test it locally

Authors:
  - Michael Schellenberger Costa (https://github.com/miscco)

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

URL: #828
Updates CCCL to 2.8.3. This pins to the 2.8.3 tag, plus one commit needed for clang-tidy to work in libcudf. I will request a 2.8.4 tag after this is merged if it seems stable for a week (that way we can get any additional fixes that may be needed).

Part of rapidsai/build-planning#157.

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

Approvers:
  - Robert Maynard (https://github.com/robertmaynard)
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

URL: #793
This PR fetches the latest nvbench which supports throttling control.

Authors:
  - Yunsong Wang (https://github.com/PointKernel)

Approvers:
  - Robert Maynard (https://github.com/robertmaynard)

URL: #830
Due to
conda-forge/cuda-nvcc-feedstock@18f55c5, we can now expect CUDAARCHS to be present in the test environment. Unset it when needed for the test.

Authors:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

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

URL: #835
Contributes to rapidsai/build-planning#120

This PR adds support for Python 3.13.

## Notes for Reviewers

This is part of ongoing work to add Python 3.13 support across RAPIDS.
It temporarily introduces a build/test matrix including Python 3.13, from rapidsai/shared-workflows#268.

A follow-up PR will revert back to pointing at the `branch-25.06` branch of `shared-workflows` once all
RAPIDS repos have added Python 3.13 support.

### This will fail until all dependencies have been updated to Python 3.13

CI here is expected to fail until all of this project's upstream dependencies support Python 3.13.

This can be merged whenever all CI jobs are passing.

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

Approvers:
  - James Lamb (https://github.com/jameslamb)
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)

URL: #834
This PR upgrades the cuco version to incorporate a performance improvement related to MurmurHash: NVIDIA/cuCollections#701.

Authors:
  - Yunsong Wang (https://github.com/PointKernel)

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

URL: #838
This updates CCCL to get NVIDIA/cccl#4616, which was backported to `branch/2.8.x`.

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

Approvers:
  - Karthikeyan (https://github.com/karthikeyann)
  - Yunsong Wang (https://github.com/PointKernel)
  - Nghia Truong (https://github.com/ttnghia)
  - Vyas Ramasubramani (https://github.com/vyasr)

URL: #840
This PR uses CUDA 12.9.0 to build and test.

xref: rapidsai/build-planning#173

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

Approvers:
  - James Lamb (https://github.com/jameslamb)

URL: #842
bdice and others added 5 commits May 14, 2025 01:31
This updates to CCCL 2.8.4. No downstream testing is needed, as this is identical to the previously pinned commit hash aside from the version number. The 2.8.4 tag was made specifically for RAPIDS, so we should use it.

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

Approvers:
  - Vyas Ramasubramani (https://github.com/vyasr)

URL: #845
This PR updates the cuco version to fetch several bug fixes and updates related to CCCL version bump.

Authors:
  - Yunsong Wang (https://github.com/PointKernel)

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

URL: #843
Contributes to rapidsai/build-planning#177

This PR updates the clang version to 20.

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

Approvers:
  - Vyas Ramasubramani (https://github.com/vyasr)

URL: #846
This PR reverts shared-workflows branches to `branch-25.06` and ensures builds use CUDA 12.8.

CUDA 12.9 will be used in the test matrix but not for builds in RAPIDS 25.06. See rapidsai/build-planning#173 (comment) for more information.

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

Approvers:
  - Gil Forsyth (https://github.com/gforsyth)

URL: #847
Proposes a batch of small, mostly-unrelated changes to building and packaging.

These are all part of RAPIDS-wide efforts to make it easier to reproduce CI locally and to use artifacts from one project's CI in another project's CI.

Contributes to rapidsai/shared-workflows#356

* explicitly provides an input for `script` to workflows using it, instead of relying on a default value coming from the workflow file

Contributes to rapidsai/shared-workflows#337

* switches from input `run_script` to `script` in uses of the `custom-job` workflow

## Notes for Reviewers

#

Authors:
  - James Lamb (https://github.com/jameslamb)

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

URL: #849
@AyodeAwe AyodeAwe requested review from a team as code owners May 22, 2025 17:44
@AyodeAwe AyodeAwe requested a review from gforsyth May 22, 2025 17:44
@raydouglass raydouglass merged commit f4a0429 into main Jun 5, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.