Skip to content

Sync the vendored RAPIDS.cmake with rapids-cmake release/25.12 - #466

Merged
oleksandr-pavlyk merged 1 commit into
NVIDIA:mainfrom
MaxFreedomPollard:fix-rapids-cmake-release-branch
Oct 7, 2026
Merged

oleksandr-pavlyk merged 1 commit into
NVIDIA:mainfrom
MaxFreedomPollard:fix-rapids-cmake-release-branch

Conversation

@MaxFreedomPollard

Copy link
Copy Markdown
Contributor

Fixes #465.

Configuring with any CMake 3.x currently fails, although the README and cmake_minimum_required say 3.30.4:

CMake Error at build/_deps/rapids-cmake-src/CMakeLists.txt:21 (cmake_minimum_required):
  CMake 4.0 or higher is required.  You are running version 3.31.10

The vendored cmake/RAPIDS.cmake turns the requested version into the branch name branch-25.12. rapids-cmake has moved its release branches to release/XX.YY, and GitHub now redirects branch-25.12 to main: the archive URL answers with a 302 to .../zip/main. So NVBench has been building against rapids-cmake main rather than 25.12, and main requires CMake 4.0.

rapids-cmake's own release/25.12 copy of RAPIDS.cmake already defaults to release/${rapids-cmake-version}. It differs from the vendored file only in that line and in the license header, so this syncs the vendored copy with it. I also updated the download URL in the comment in NVBenchRapidsCMake.cmake, which pointed at the old branch name.

Testing

In nvidia/cuda:12.9.1-devel-ubuntu24.04 with CMake 3.31.10 and -DCMAKE_CUDA_ARCHITECTURES=90 (no GPU):

  • before: configure fails with the error above
  • after: configure succeeds, the fetched rapids-cmake requires 3.30.4, and the nvbench target builds and links

Configuring with CMake 4.3.2 gets past rapids-cmake as well, so newer CMake is not affected.

The vendored copy still defaulted to the branch-XX.YY naming. rapids-cmake
has since moved its release branches to release/XX.YY, and GitHub now
redirects branch-25.12 to main. NVBench therefore fetched rapids-cmake main
instead of 25.12, and main requires CMake 4.0, so configuring with the
documented CMake 3.30.4 or any 3.x failed.

The release/25.12 copy of RAPIDS.cmake defaults to release/XX.YY. It differs
from the vendored one only in that line and in the license header.

Fixes NVIDIA#465
@copy-pr-bot

copy-pr-bot Bot commented Sep 19, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@oleksandr-pavlyk

Copy link
Copy Markdown
Collaborator

/ok to test 652a5a3

@oleksandr-pavlyk

Copy link
Copy Markdown
Collaborator

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@coderabbitai

coderabbitai Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

🧰 Additional context used
📚 Code guidelines (1)
.pre-commit-config.yaml — configured

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: NVIDIA/nvbench/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Enterprise
  • Run ID: b951bd6b-fc68-4b5c-8d8e-2844e6c6d916
📥 Commits

Reviewing files that changed from the base of the PR and between 410dcdd and 652a5a3.

📒 Files selected for processing (2)
  • cmake/NVBenchRapidsCMake.cmake
  • cmake/RAPIDS.cmake

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 9 remain after this review.


📝 Summary

Summary by CodeRabbit

  • Build & Configuration
    • Default RAPIDS.cmake downloads now use the release/XX.YY path instead of branch-XX.YY.
    • Updated the documented RAPIDS.cmake download URL to use the release-based path as well. This keeps the default download location and its documentation aligned for builds that do not specify a RAPIDS.cmake branch.

Walkthrough

The version-derived RAPIDS.cmake branch now uses release/${rapids-cmake-version}. The documented URL uses the corresponding release path. The CMake file header now uses SPDX identifiers and cmake-format directives.

Changes

RAPIDS.cmake version selection

Layer / File(s) Summary
Set the RAPIDS.cmake release path
cmake/RAPIDS.cmake, cmake/NVBenchRapidsCMake.cmake
The default branch derived from rapids-cmake-version now uses release/. The documented RAPIDS.cmake URL uses the same path. The RAPIDS.cmake header replaces the full license text with SPDX identifiers and adds cmake-format directives.

Assessment against linked issues

Objective Addressed Explanation
Use a RAPIDS.cmake version that works with the CMake version specified in the README [#465] ❓ The default now selects the release/ path, but the supplied change summary does not establish which CMake minimum that release requires.

Assessment against linked issues: Out-of-scope changes

Priority: ⬆️ High

Change: Bug fix · Severity of issue fixed: Medium

Merge Risk: ⚪ Minimal · up to 652a5

The release branch resolves through the configured fetch paths, and no actionable merge-blocking risk is established by these changes.

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR

@oleksandr-pavlyk
oleksandr-pavlyk merged commit 9b664cf into NVIDIA:main Oct 7, 2026
69 of 76 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.

cmake version specified in readme does not work

2 participants