Skip to content

Forward-merge release/26.04 into main - #7905

Merged
gforsyth merged 9 commits into
mainfrom
release/26.04
Mar 20, 2026
Merged

Forward-merge release/26.04 into main#7905
gforsyth merged 9 commits into
mainfrom
release/26.04

Conversation

@rapids-bot

@rapids-bot rapids-bot Bot commented Mar 16, 2026

Copy link
Copy Markdown
Contributor

Forward-merge triggered by push to release/26.04 that creates a PR to keep main up-to-date. If this PR is unable to be immediately merged due to conflicts, it will remain open for the team to manually merge. See forward-merger docs for more info.

@rapids-bot
rapids-bot Bot requested a review from a team as a code owner March 16, 2026 21:14
@rapids-bot
rapids-bot Bot requested a review from AyodeAwe March 16, 2026 21:14
@rapids-bot

rapids-bot Bot commented Mar 16, 2026

Copy link
Copy Markdown
Contributor Author

FAILURE - Unable to forward-merge due to an error, manual merge is necessary. Do not use the Resolve conflicts option in this PR, follow these instructions https://docs.rapids.ai/maintainers/forward-merger/

IMPORTANT: When merging this PR, do not use the auto-merger (i.e. the /merge comment). Instead, an admin must manually merge by changing the merging strategy to Create a Merge Commit. Otherwise, history will be lost and the branches become incompatible.

@github-actions github-actions Bot added conda conda issue Cython / Python Cython or Python issue labels Mar 16, 2026
@rapids-bot
rapids-bot Bot requested a review from a team as a code owner March 16, 2026 21:53
@rapids-bot
rapids-bot Bot requested a review from divyegala March 16, 2026 21:53
@jcrist

jcrist commented Mar 18, 2026

Copy link
Copy Markdown
Member

Addressing conflicts in #7910.

Closes #7827

The API reference section is now structured a bit more nicely. On `main` it is just one big page and it is hard to see what is what, what is where and who is who.

🖼️  Rendered preview https://downloads.rapids.ai/ci/cuml/pull-request/7798/55e9d3b/docs/cuml/html/api/ (can be outdated because it contains part of the commit hash)

With this PR the API reference makes use of subsections for the various modules and maintains a list of "all the things" on that first API page (makes it easy to ctrl-f for a class you know exists and just want to get to fast):

<img width="1265" height="955" alt="Screenshot 2026-02-13 at 11 56 31" src="https://github.com/user-attachments/assets/6d9d9288-0292-4e49-a7a4-d2ed4d9d42f1" />


You can navigate into a subsection and see the classes and functions available in it:

<img width="1263" height="990" alt="Screenshot 2026-02-13 at 11 57 49" src="https://github.com/user-attachments/assets/2432b3e2-e156-4b7c-891d-82edcb452fb3" />


And you can visit a particular class/function to read everything there is to know about that class:

<img width="1262" height="987" alt="Screenshot 2026-02-13 at 11 58 39" src="https://github.com/user-attachments/assets/a8e27fe7-1a19-41fe-9eaf-a2fb71ad66f4" />

---

There is an issue about restructuring the documentation, and we've discussed it a few times in the past. This morning I was frustrated enough while navigating the API reference section that I did this. I think it is a improvement on the status quo. It does surface that we could be more consistent with how we format our docstrings (eg without a linebreak after the first sentence all of the docstring ends up in the overview table or the fact that some metrics are shown directly on the "cuml.metrics" page but others referred to), etc but that is something we can tackle in a new issue I think.

What do people think? I'm happy to do more polishing and think about HTTP redirects we need and such, but it would be good to know if people agree that this is going in the right direction.

Authors:
  - Tim Head (https://github.com/betatim)
  - Simon Adorf (https://github.com/csadorf)

Approvers:
  - Gil Forsyth (https://github.com/gforsyth)
  - Simon Adorf (https://github.com/csadorf)
  - Jim Crist-Harif (https://github.com/jcrist)

URL: #7798
@rapids-bot
rapids-bot Bot requested a review from a team as a code owner March 18, 2026 19:50
gforsyth and others added 2 commits March 19, 2026 18:36
…vailable (#7916)

We bumped the default devcontainer Python version to 3.14 in rapidsai/devcontainers#677 but some repos (like `cuml`) have optional dependencies without Python 3.14 support. 

We need to override the Python version temporarily until those deps catch up.

I'll also open a tracking issue so we remember to undo this.

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

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

URL: #7916
#7907)

Contributes to rapidsai/build-planning#257

* builds CUDA 13 wheels with the 13.0 CTK
* ensures wheels ship with a runtime dependency of `nvidia-nvjitlink>={whatever-minor-version-they-were-built-against}`

Contributes to rapidsai/build-planning#256

* updates wheel tests to cover a range of CTK versions (we previously, accidentally, were only testing the latest 12.x and 13.x)

## Notes for Reviewers

### Doesn't this need conda changes too?

I don't think so.

cuML doesn't directly use libnvjitlink in conda packages, and it dynamically links to libcuvs:

https://github.com/rapidsai/cuml/blob/95b7be311789ef6b66bf1983d09f3cfd17b5e508/cpp/CMakeLists.txt#L64

https://github.com/rapidsai/cuml/blob/main/conda/recipes/libcuml/recipe.yaml#L118-L126

Wheels need a runtime dependency on `nvidia-nvjitlink` because they statically link cuVS:

https://github.com/rapidsai/cuml/blob/95b7be311789ef6b66bf1983d09f3cfd17b5e508/python/libcuml/CMakeLists.txt#L54

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

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

URL: #7907
@github-actions github-actions Bot added the ci label Mar 19, 2026
viclafargue and others added 3 commits March 19, 2026 22:46
After MNMG KMeans fit, the client was calling .result() on every worker's future, pulling the full fitted estimator (including `cluster_centers_`) from all workers back to the client. Since cluster centers are synchronized across workers via NCCL, every copy is identical making all but one transfer redundant.

This PR changes the post-fit aggregation to:
- Collect the full model from only the first worker
- Extract `labels_` and `inertia_` from the remaining workers remotely via client.submit(getattr, ...)

Authors:
  - Victor Lafargue (https://github.com/viclafargue)
  - Jim Crist-Harif (https://github.com/jcrist)

Approvers:
  - Jim Crist-Harif (https://github.com/jcrist)

URL: #7908
Numpy 2.4 no longer coerces 1 element arrays to scalars automatically. Small update to this line to support both 1-element alpha arrays and scalars. Fixes #7873.

Authors:
  - Jim Crist-Harif (https://github.com/jcrist)

Approvers:
  - Simon Adorf (https://github.com/csadorf)

URL: #7918
@gforsyth
gforsyth merged commit 5907ea7 into main Mar 20, 2026
34 of 35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci conda conda issue Cython / Python Cython or Python issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants