-
Notifications
You must be signed in to change notification settings - Fork 548
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'branch-25.02' into ignore-cudf-dataframe-deprecation-2
- Loading branch information
Showing
172 changed files
with
818 additions
and
309 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -66,21 +66,44 @@ jobs: | |
branch: ${{ inputs.branch }} | ||
date: ${{ inputs.date }} | ||
sha: ${{ inputs.sha }} | ||
wheel-build-cuml: | ||
wheel-build-libcuml: | ||
secrets: inherit | ||
uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
with: | ||
build_type: ${{ inputs.build_type || 'branch' }} | ||
branch: ${{ inputs.branch }} | ||
sha: ${{ inputs.sha }} | ||
date: ${{ inputs.date }} | ||
script: ci/build_wheel.sh | ||
script: ci/build_wheel_libcuml.sh | ||
# Note that this approach to cloning repos obviates any modification to | ||
# the CMake variables in get_cumlprims_mg.cmake since CMake will just use | ||
# the clone as is. | ||
extra-repo: rapidsai/cumlprims_mg | ||
extra-repo-sha: branch-25.02 | ||
extra-repo-deploy-key: CUMLPRIMS_SSH_PRIVATE_DEPLOY_KEY | ||
# build for every combination of arch and CUDA version, but only for the latest Python | ||
matrix_filter: group_by([.ARCH, (.CUDA_VER|split(".")|map(tonumber)|.[0])]) | map(max_by(.PY_VER|split(".")|map(tonumber))) | ||
wheel-publish-libcuml: | ||
needs: wheel-build-libcuml | ||
secrets: inherit | ||
uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
with: | ||
build_type: ${{ inputs.build_type || 'branch' }} | ||
branch: ${{ inputs.branch }} | ||
sha: ${{ inputs.sha }} | ||
date: ${{ inputs.date }} | ||
package-name: libcuml | ||
package-type: cpp | ||
wheel-build-cuml: | ||
needs: wheel-build-libcuml | ||
secrets: inherit | ||
uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
with: | ||
build_type: ${{ inputs.build_type || 'branch' }} | ||
branch: ${{ inputs.branch }} | ||
sha: ${{ inputs.sha }} | ||
date: ${{ inputs.date }} | ||
script: ci/build_wheel_cuml.sh | ||
wheel-publish-cuml: | ||
needs: wheel-build-cuml | ||
secrets: inherit | ||
|
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,6 +25,7 @@ jobs: | |
- conda-notebook-tests | ||
- docs-build | ||
- telemetry-setup | ||
- wheel-build-libcuml | ||
- wheel-build-cuml | ||
- wheel-tests-cuml | ||
- devcontainer | ||
|
@@ -166,16 +167,28 @@ jobs: | |
arch: "amd64" | ||
container_image: "rapidsai/ci-conda:latest" | ||
run_script: "ci/build_docs.sh" | ||
wheel-build-cuml: | ||
wheel-build-libcuml: | ||
needs: checks | ||
secrets: inherit | ||
uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
with: | ||
build_type: pull-request | ||
script: ci/build_wheel.sh | ||
branch: ${{ inputs.branch }} | ||
sha: ${{ inputs.sha }} | ||
date: ${{ inputs.date }} | ||
script: ci/build_wheel_libcuml.sh | ||
extra-repo: rapidsai/cumlprims_mg | ||
extra-repo-sha: branch-25.02 | ||
extra-repo-deploy-key: CUMLPRIMS_SSH_PRIVATE_DEPLOY_KEY | ||
# build for every combination of arch and CUDA version, but only for the latest Python | ||
matrix_filter: group_by([.ARCH, (.CUDA_VER|split(".")|map(tonumber)|.[0])]) | map(max_by(.PY_VER|split(".")|map(tonumber))) | ||
wheel-build-cuml: | ||
needs: [checks, wheel-build-libcuml] | ||
secrets: inherit | ||
uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
with: | ||
build_type: pull-request | ||
script: ci/build_wheel_cuml.sh | ||
wheel-tests-cuml: | ||
needs: [wheel-build-cuml, changed-files] | ||
secrets: inherit | ||
|
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,55 +1,26 @@ | ||
#!/bin/bash | ||
# Copyright (c) 2023-2024, NVIDIA CORPORATION. | ||
# Copyright (c) 2023-2025, NVIDIA CORPORATION. | ||
|
||
set -euo pipefail | ||
|
||
package_dir="python/cuml" | ||
package_name=$1 | ||
package_dir=$2 | ||
|
||
source rapids-configure-sccache | ||
source rapids-date-string | ||
|
||
RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})" | ||
|
||
rapids-generate-version > ./VERSION | ||
|
||
cd ${package_dir} | ||
|
||
case "${RAPIDS_CUDA_VERSION}" in | ||
12.*) | ||
EXCLUDE_ARGS=( | ||
--exclude "libcuvs.so" | ||
--exclude "libcublas.so.12" | ||
--exclude "libcublasLt.so.12" | ||
--exclude "libcufft.so.11" | ||
--exclude "libcurand.so.10" | ||
--exclude "libcusolver.so.11" | ||
--exclude "libcusparse.so.12" | ||
--exclude "libnvJitLink.so.12" | ||
) | ||
EXTRA_CMAKE_ARGS=";-DUSE_CUDA_MATH_WHEELS=ON" | ||
;; | ||
11.*) | ||
EXCLUDE_ARGS=( | ||
--exclude "libcuvs.so" | ||
) | ||
EXTRA_CMAKE_ARGS=";-DUSE_CUDA_MATH_WHEELS=OFF" | ||
;; | ||
esac | ||
cd "${package_dir}" | ||
|
||
sccache --zero-stats | ||
|
||
SKBUILD_CMAKE_ARGS="-DDETECT_CONDA_ENV=OFF;-DDISABLE_DEPRECATION_WARNINGS=ON;-DCPM_cumlprims_mg_SOURCE=${GITHUB_WORKSPACE}/cumlprims_mg/;-DUSE_CUVS_WHEEL=ON${EXTRA_CMAKE_ARGS}" \ | ||
python -m pip wheel . \ | ||
rapids-logger "Building '${package_name}' wheel" | ||
python -m pip wheel \ | ||
-w dist \ | ||
-v \ | ||
--no-deps \ | ||
--disable-pip-version-check | ||
--disable-pip-version-check \ | ||
. | ||
|
||
sccache --show-adv-stats | ||
|
||
mkdir -p final_dist | ||
python -m auditwheel repair -w final_dist "${EXCLUDE_ARGS[@]}" dist/* | ||
|
||
../../ci/validate_wheel.sh final_dist | ||
|
||
RAPIDS_PY_WHEEL_NAME="cuml_${RAPIDS_PY_CUDA_SUFFIX}" rapids-upload-wheels-to-s3 python final_dist |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
#!/bin/bash | ||
# Copyright (c) 2023-2025, NVIDIA CORPORATION. | ||
|
||
set -euo pipefail | ||
|
||
package_name="cuml" | ||
package_dir="python/cuml" | ||
|
||
RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})" | ||
|
||
# Download the libcuml wheel built in the previous step and make it | ||
# available for pip to find. | ||
RAPIDS_PY_WHEEL_NAME="libcuml_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-s3 cpp /tmp/libcuml_dist | ||
echo "libcuml-${RAPIDS_PY_CUDA_SUFFIX} @ file://$(echo /tmp/libcuml_dist/libcuml_*.whl)" >> /tmp/constraints.txt | ||
export PIP_CONSTRAINT="/tmp/constraints.txt" | ||
|
||
EXCLUDE_ARGS=( | ||
--exclude "libcuml++.so" | ||
--exclude "libcumlprims_mg.so" | ||
--exclude "libcuvs.so" | ||
--exclude "libraft.so" | ||
--exclude "libcublas.so.*" | ||
--exclude "libcublasLt.so.*" | ||
--exclude "libcufft.so.*" | ||
--exclude "libcurand.so.*" | ||
--exclude "libcusolver.so.*" | ||
--exclude "libcusparse.so.*" | ||
--exclude "libnvJitLink.so.*" | ||
) | ||
|
||
export SKBUILD_CMAKE_ARGS="-DDISABLE_DEPRECATION_WARNINGS=ON;-DSINGLEGPU=OFF;-DUSE_LIBCUML_WHEEL=ON" | ||
./ci/build_wheel.sh "${package_name}" "${package_dir}" | ||
|
||
mkdir -p ${package_dir}/final_dist | ||
python -m auditwheel repair \ | ||
"${EXCLUDE_ARGS[@]}" \ | ||
-w ${package_dir}/final_dist \ | ||
${package_dir}/dist/* | ||
|
||
./ci/validate_wheel.sh ${package_dir} final_dist | ||
|
||
RAPIDS_PY_WHEEL_NAME="${package_name}_${RAPIDS_PY_CUDA_SUFFIX}" rapids-upload-wheels-to-s3 python "${package_dir}/final_dist" |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
#!/bin/bash | ||
# Copyright (c) 2025, NVIDIA CORPORATION. | ||
|
||
set -euo pipefail | ||
|
||
package_name="libcuml" | ||
package_dir="python/libcuml" | ||
|
||
RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})" | ||
|
||
rapids-logger "Generating build requirements" | ||
|
||
rapids-dependency-file-generator \ | ||
--output requirements \ | ||
--file-key "py_build_${package_name}" \ | ||
--file-key "py_rapids_build_${package_name}" \ | ||
--matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION};cuda_suffixed=true" \ | ||
| tee /tmp/requirements-build.txt | ||
|
||
rapids-logger "Installing build requirements" | ||
python -m pip install \ | ||
-v \ | ||
--prefer-binary \ | ||
-r /tmp/requirements-build.txt | ||
|
||
# build with '--no-build-isolation', for better sccache hit rate | ||
# 0 really means "add --no-build-isolation" (ref: https://github.com/pypa/pip/issues/5735) | ||
export PIP_NO_BUILD_ISOLATION=0 | ||
|
||
# NOTE: 'libcumlprims_mg.so' is marked as '--exclude' here because auditwheel doesn't detect it, | ||
# but it really is intentionally included in 'libcuml' wheels | ||
EXCLUDE_ARGS=( | ||
--exclude "libcumlprims_mg.so" | ||
--exclude "libcuvs.so" | ||
--exclude "libraft.so" | ||
--exclude "libcublas.so.*" | ||
--exclude "libcublasLt.so.*" | ||
--exclude "libcufft.so.*" | ||
--exclude "libcurand.so.*" | ||
--exclude "libcusolver.so.*" | ||
--exclude "libcusparse.so.*" | ||
--exclude "libnvJitLink.so.*" | ||
) | ||
|
||
export SKBUILD_CMAKE_ARGS="-DDISABLE_DEPRECATION_WARNINGS=ON;-DCPM_cumlprims_mg_SOURCE=${GITHUB_WORKSPACE}/cumlprims_mg/" | ||
./ci/build_wheel.sh "${package_name}" "${package_dir}" | ||
|
||
mkdir -p ${package_dir}/final_dist | ||
python -m auditwheel repair \ | ||
"${EXCLUDE_ARGS[@]}" \ | ||
-w ${package_dir}/final_dist \ | ||
${package_dir}/dist/* | ||
|
||
./ci/validate_wheel.sh ${package_dir} final_dist | ||
|
||
RAPIDS_PY_WHEEL_NAME="${package_name}_${RAPIDS_PY_CUDA_SUFFIX}" rapids-upload-wheels-to-s3 cpp "${package_dir}/final_dist" |
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.