Bracnh 25.04 merge branch 25.02#6268
Merged
AyodeAwe merged 11 commits intorapidsai:branch-25.04from Jan 28, 2025
Merged
Conversation
Contributes to rapidsai/build-planning#138 Updates to using UCX 1.18 in pip devcontainers here. Authors: - James Lamb (https://github.com/jameslamb) Approvers: - Ray Douglass (https://github.com/raydouglass) - https://github.com/jakirkham URL: rapidsai#6249
This PR updates cuML to use the new cuda-python `cuda.bindings` layout. See rapidsai/build-planning#117. Authors: - Bradley Dice (https://github.com/bdice) - https://github.com/jakirkham Approvers: - Dante Gama Dessavre (https://github.com/dantegd) - https://github.com/jakirkham URL: rapidsai#6233
CUDA 12.8 introduces sm_120 that requires a reduced number of threads per sm Authors: - Robert Maynard (https://github.com/robertmaynard) Approvers: - Vyas Ramasubramani (https://github.com/vyasr) - Dante Gama Dessavre (https://github.com/dantegd) URL: rapidsai#6250
Replaces rapidsai#6006, contributes to rapidsai/build-planning#33. Proposes packaging `libcuml` as a wheel, which is then re-used by `cuml-cu{11,12}` wheels. ## Notes for Reviewers ### Benefits of these changes * smaller wheels (see "Size Changes" below) * faster compile times - *no more re-compiling RAFT, thanks to rapidsai/raft#2531 * less use of CI resources (only compiling once per CPU architecture / CUDA versions, instead of once per those + Python minor version) * other benefits mentioned in rapidsai/build-planning#33 ### Wheel contents `libcuml`: * `libcuml++.so` (shared library) and its headers * `libcumlprims_mg.so` (shared library) and its headers * other vendored dependencies (CCCL, `fmt`) `cuml`: * `cuml` Python / Cython code and compiled Cython extensions ### Dependency Flows In short.... `libcuml` contains `libcuml.so` and `libcumlprims_mg.so` dynamic libraries and the headers to link against them. * Anything that needs to link against cuML at build time pulls in `libcugraph` wheels as a build dependency. * Anything that needs cuML's symbols at runtime pulls it in as a runtime dependency, and calls `libcuml.load_library()`. For more details and some flowcharts, see rapidsai/build-planning#33 (comment) ### Size changes (CUDA 12, Python 3.12, x86_64) | wheel | num files (before) | num files (this PR) | size (before) | size (this PR) | |:---------------:|------------------:|-----------------:|--------------:|-------------:| | `libcuml` | --- | 1766 | --- | 289M | | `cuml` | 442 | 441 | 527M | 9M | |**TOTAL** | **442** | **2207** | **527M** | **298M** | *NOTES: size = compressed, "before" = 2025-01-22 nightlies* <details><summary>how I calculated those (click me)</summary> ```shell docker run \ --rm \ --network host \ --env RAPIDS_NIGHTLY_DATE=2025-01-22 \ --env CUML_NIGHTLY_SHA=01e19bba9821954b062a04fbf31d3522afa4b0b1 \ --env CUML_PR="pull-request/6199" \ --env CUML_PR_SHA="9d5100ec4589e20230a31817518427efa1e49c6d" \ --env RAPIDS_PY_CUDA_SUFFIX=cu12 \ --env WHEEL_DIR_BEFORE=/tmp/wheels-before \ --env WHEEL_DIR_AFTER=/tmp/wheels-after \ -it rapidsai/ci-wheel:cuda12.5.1-rockylinux8-py3.12 \ bash # --- nightly wheels --- # mkdir -p ./wheels-before export RAPIDS_BUILD_TYPE=branch export RAPIDS_REF_NAME="branch-25.02" # cuml RAPIDS_PY_WHEEL_NAME="cuml_${RAPIDS_PY_CUDA_SUFFIX}" \ RAPIDS_REPOSITORY=rapidsai/cuml \ RAPIDS_SHA=${CUML_NIGHTLY_SHA} \ rapids-download-wheels-from-s3 python ./wheels-before # --- wheels from CI --- # mkdir -p ./wheels-after export RAPIDS_BUILD_TYPE="pull-request" # libcuml RAPIDS_PY_WHEEL_NAME="libcuml_${RAPIDS_PY_CUDA_SUFFIX}" \ RAPIDS_REPOSITORY=rapidsai/cuml \ RAPIDS_REF_NAME="${CUML_PR}" \ RAPIDS_SHA="${CUML_PR_SHA}" \ rapids-download-wheels-from-s3 cpp ./wheels-after # cuml RAPIDS_PY_WHEEL_NAME="cuml_${RAPIDS_PY_CUDA_SUFFIX}" \ RAPIDS_REPOSITORY=rapidsai/cuml \ RAPIDS_REF_NAME="${CUML_PR}" \ RAPIDS_SHA="${CUML_PR_SHA}" \ rapids-download-wheels-from-s3 python ./wheels-after pip install pydistcheck pydistcheck \ --inspect \ --select 'distro-too-large-compressed' \ ./wheels-before/*.whl \ | grep -E '^checking|files: | compressed' \ > ./before.txt # get more exact sizes du -sh ./wheels-before/* pydistcheck \ --inspect \ --select 'distro-too-large-compressed' \ ./wheels-after/*.whl \ | grep -E '^checking|files: | compressed' \ > ./after.txt # get more exact sizes du -sh ./wheels-after/* ``` </details> ### How I tested this These other PRs: * rapidsai/devcontainers#442 Authors: - James Lamb (https://github.com/jameslamb) - Bradley Dice (https://github.com/bdice) Approvers: - Bradley Dice (https://github.com/bdice) - Divye Gala (https://github.com/divyegala) URL: rapidsai#6199
Renames `test` directories to `tests` for alignment with the rest of RAPIDS. See also: rapidsai/build-planning#140 Authors: - Bradley Dice (https://github.com/bdice) Approvers: - Dante Gama Dessavre (https://github.com/dantegd) URL: rapidsai#6237
…apidsai#6227) Authors: - Dante Gama Dessavre (https://github.com/dantegd) - Vyas Ramasubramani (https://github.com/vyasr) Approvers: - Vyas Ramasubramani (https://github.com/vyasr) - Tim Head (https://github.com/betatim) URL: rapidsai#6227
`sklearn` requires `fit`/`fit_transform`/... always take a `y` parameter, even if it's ignored. This adds a test to ensure our signatures match this rule, and fixes any cases where they didn't. This makes it easier to include `cuml` estimators within sklearn pipelines. Fixes rapidsai#6255. Authors: - Jim Crist-Harif (https://github.com/jcrist) - Bradley Dice (https://github.com/bdice) - Tim Head (https://github.com/betatim) Approvers: - William Hicks (https://github.com/wphicks) - Tim Head (https://github.com/betatim) URL: rapidsai#6260
…ai#6248) CCCL is deprecating a lot of legacy thrust features, so replace them with the standard ones from libc++ or just drop them altogether Authors: - Michael Schellenberger Costa (https://github.com/miscco) Approvers: - Dante Gama Dessavre (https://github.com/dantegd) URL: rapidsai#6248
Cuda 12.8+ doesn't allow CUDA kernels to be called cross TUs when building in whole compilation mode. So in the 25.02 short-term we ignore this warning Authors: - Robert Maynard (https://github.com/robertmaynard) Approvers: - Dante Gama Dessavre (https://github.com/dantegd) - Bradley Dice (https://github.com/bdice) - Paul Taylor (https://github.com/trxcllnt) URL: rapidsai#6264
…rapidsai#6259) Fixes rapidsai#6216 by identifying whether the original input data is on host or device and conditionally builds the brute force index (required for a separate `transform()` call) for the correct matrix view. - [x] Identify and fix root cause - [x] Clean up implementation - [x] Implement unit test - [x] Document fix Closes rapidsai#6216 Authors: - Simon Adorf (https://github.com/csadorf) - Dante Gama Dessavre (https://github.com/dantegd) Approvers: - William Hicks (https://github.com/wphicks) - Victor Lafargue (https://github.com/viclafargue) URL: rapidsai#6259
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces #6257