-
Notifications
You must be signed in to change notification settings - Fork 197
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
introduce libraft wheels #2531
Merged
Merged
introduce libraft wheels #2531
Changes from 40 commits
Commits
Show all changes
42 commits
Select commit
Hold shift + click to select a range
24a4db8
start adding libraft wheels
jameslamb c0f059c
libraft minimally working
jameslamb d116417
pylibraft builds mostly working
jameslamb eb17735
more changes
jameslamb d317235
comment out more CI
jameslamb 679d289
more changes
jameslamb 51e7041
more dependencies.yaml fiddling
jameslamb 6d38c19
actually run builds
jameslamb 717df6f
pre-commit
jameslamb d815242
merge branch-25.02
jameslamb 11168a1
install libraft wheels
jameslamb 46bfcfa
fewer builds, fix libraft downloads
jameslamb 97f5d31
fix branches
jameslamb f492d59
more fixes to CI scripts
jameslamb ad13d08
download libraft in wheel test jobs, change file-size limits
jameslamb 6bf5eba
pylibraft no longer needs CUDA-wheels runtime dependency
jameslamb 9783244
update thresholds
jameslamb d0b6385
Merge branch 'branch-25.02' into libraft-wheels
jameslamb ee99702
try re-enabling conda CI
jameslamb 0ac23f4
Merge branch 'branch-25.02' of github.com:rapidsai/raft into libraft-…
jameslamb 48c98b8
more changes
jameslamb 2070b11
Merge branch 'branch-25.02' into libraft-wheels
jameslamb 345f0e5
Merge branch 'branch-25.02' into libraft-wheels
jameslamb 4c657b2
comments
jameslamb dbbfbb5
merge branch-25.02
jameslamb 6deeb51
Merge branch 'libraft-wheels' of github.com:jameslamb/raft into libra…
jameslamb c6579e1
exclude static raft from wheels
jameslamb 1fd7603
add a RAFT_BUILD_STATIC_LIB option
jameslamb a1a905d
be more thorough in skipping the static library
jameslamb c224e27
more fixes
jameslamb 76d788b
clean up dependencies
jameslamb d275c99
Merge branch 'branch-25.02' into libraft-wheels
jameslamb b2a5107
uncomment more CI
jameslamb 4b793be
Merge branch 'branch-25.02' into libraft-wheels
jameslamb 002e824
Merge branch 'branch-25.02' of github.com:rapidsai/raft into libraft-…
jameslamb 020ce6a
Merge branch 'libraft-wheels' of github.com:jameslamb/raft into libra…
jameslamb 1d9e1e9
make builds depends on builds, stop passing DETECT_CONDA_ENV in wheel…
jameslamb a800691
enforce rapids-cmake CMake style
jameslamb 6635330
Merge branch 'branch-25.02' of github.com:rapidsai/raft into libraft-…
jameslamb 0d6597b
empty commit to re-trigger CI
jameslamb 93f39fb
add devcontainer builds back
jameslamb 38aede9
Merge branch 'branch-25.02' of github.com:rapidsai/raft into libraft-…
jameslamb File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -66,7 +66,30 @@ jobs: | |
node_type: "gpu-v100-latest-1" | ||
run_script: "ci/build_docs.sh" | ||
sha: ${{ inputs.sha }} | ||
wheel-build-libraft: | ||
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_libraft.sh | ||
# 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-libraft: | ||
needs: wheel-build-libraft | ||
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: libraft | ||
package-type: cpp | ||
wheel-build-pylibraft: | ||
needs: wheel-build-libraft | ||
secrets: inherit | ||
uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
with: | ||
|
@@ -85,7 +108,9 @@ jobs: | |
sha: ${{ inputs.sha }} | ||
date: ${{ inputs.date }} | ||
package-name: pylibraft | ||
package-type: python | ||
wheel-build-raft-dask: | ||
needs: wheel-build-libraft | ||
secrets: inherit | ||
uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
with: | ||
|
@@ -104,3 +129,4 @@ jobs: | |
sha: ${{ inputs.sha }} | ||
date: ${{ inputs.date }} | ||
package-name: raft_dask | ||
package-type: python |
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 |
---|---|---|
|
@@ -21,11 +21,12 @@ jobs: | |
- conda-python-build | ||
- conda-python-tests | ||
- docs-build | ||
- wheel-build-libraft | ||
- wheel-build-pylibraft | ||
- wheel-tests-pylibraft | ||
- wheel-build-raft-dask | ||
- wheel-tests-raft-dask | ||
- devcontainer | ||
# - devcontainer | ||
secrets: inherit | ||
uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
if: always() | ||
|
@@ -116,10 +117,22 @@ jobs: | |
arch: "amd64" | ||
container_image: "rapidsai/ci-conda:latest" | ||
run_script: "ci/build_docs.sh" | ||
wheel-build-pylibraft: | ||
wheel-build-libraft: | ||
needs: checks | ||
secrets: inherit | ||
uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
with: | ||
build_type: pull-request | ||
branch: ${{ inputs.branch }} | ||
sha: ${{ inputs.sha }} | ||
date: ${{ inputs.date }} | ||
script: ci/build_wheel_libraft.sh | ||
# 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-pylibraft: | ||
needs: [checks, wheel-build-libraft] | ||
secrets: inherit | ||
uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
with: | ||
build_type: pull-request | ||
script: ci/build_wheel_pylibraft.sh | ||
|
@@ -132,7 +145,7 @@ jobs: | |
build_type: pull-request | ||
script: ci/test_wheel_pylibraft.sh | ||
wheel-build-raft-dask: | ||
needs: wheel-tests-pylibraft | ||
needs: [checks, wheel-build-libraft] | ||
vyasr marked this conversation as resolved.
Show resolved
Hide resolved
|
||
secrets: inherit | ||
uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
with: | ||
|
@@ -146,13 +159,13 @@ jobs: | |
with: | ||
build_type: pull-request | ||
script: ci/test_wheel_raft_dask.sh | ||
devcontainer: | ||
secrets: inherit | ||
uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
with: | ||
arch: '["amd64"]' | ||
cuda: '["12.5"]' | ||
build_command: | | ||
sccache -z; | ||
build-all -DBUILD_PRIMS_BENCH=ON --verbose; | ||
sccache -s; | ||
# devcontainer: | ||
# secrets: inherit | ||
# uses: rapidsai/shared-workflows/.github/workflows/[email protected] | ||
# with: | ||
# arch: '["amd64"]' | ||
# cuda: '["12.5"]' | ||
# build_command: | | ||
# sccache -z; | ||
# build-all -DBUILD_PRIMS_BENCH=ON --verbose; | ||
# sccache -s; |
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 |
---|---|---|
@@ -0,0 +1,43 @@ | ||
#!/bin/bash | ||
# Copyright (c) 2024, NVIDIA CORPORATION. | ||
|
||
set -euo pipefail | ||
|
||
package_name="libraft" | ||
package_dir="python/libraft" | ||
|
||
rapids-logger "Generating build requirements" | ||
matrix_selectors="cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION};cuda_suffixed=true" | ||
|
||
rapids-dependency-file-generator \ | ||
--output requirements \ | ||
--file-key "py_build_${package_name}" \ | ||
--file-key "py_rapids_build_${package_name}" \ | ||
--matrix "${matrix_selectors}" \ | ||
| 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 | ||
|
||
RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})" | ||
|
||
case "${RAPIDS_CUDA_VERSION}" in | ||
12.*) | ||
EXTRA_CMAKE_ARGS="-DUSE_CUDA_MATH_WHEELS=ON" | ||
;; | ||
11.*) | ||
EXTRA_CMAKE_ARGS="-DUSE_CUDA_MATH_WHEELS=OFF" | ||
;; | ||
esac | ||
|
||
export SKBUILD_CMAKE_ARGS="${EXTRA_CMAKE_ARGS}" | ||
|
||
ci/build_wheel.sh libraft ${package_dir} cpp | ||
ci/validate_wheel.sh ${package_dir} final_dist libraft |
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
vyasr marked this conversation as resolved.
Show resolved
Hide resolved
|
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.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: Put this back before merging.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just pushed 93f39fb restoring the devcontainer builds.
They'll still fail because the manifest in devcontainers needs to be updated. Summarizing plan we agreed to offline:
rapidsai/raft
, observe it passing CI, merge it normally