-
Notifications
You must be signed in to change notification settings - Fork 50
add build wheel script and accompanying version info #167
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
Merged
Merged
Changes from 13 commits
Commits
Show all changes
86 commits
Select commit
Hold shift + click to select a range
28afe76
add build wheel script and accompanying version info
msarahan a92cf98
move pip args to requirements output
msarahan 14c8799
Remove hardcoded versions
vyasr d48d5a4
Fix sed expressions so that they run (overzealous, but OK)
vyasr 99b940d
Find Development.Embed component to make Python3::Python target avail…
vyasr 7e2426c
SKBUILD_CMAKE_ARGS is semicolon-separated
vyasr 955b360
Don't change to dir and just use absolute paths everywhere
vyasr 6c894db
Make sure ucxx_python is also installed
vyasr a175ee7
Make sure all associated targets are set
vyasr ef88198
Enabling Python is now automatic
vyasr a0c72b0
Don't load gtest if not necessary
vyasr 0d6c53a
Consolidate rmm logic and ensure it is only called when requested
vyasr b7a9d6e
Properly enable Python by default
vyasr df1150d
Switch back to raw find_package
vyasr d0e2046
Make `ci/test_wheel.sh` executable
pentschev 697c799
Remove policy from upload artifact
vyasr e24e23c
Also update cudf
vyasr 3580d0b
Fix cupy dependencies and patching
vyasr cd01361
Move CI C++/Python test implementations to common script
pentschev 47ed425
Add basic wheel test set
pentschev fd4aab7
Fix `BINARY_PATH`
pentschev 5f8b0c9
Check for `ucx_info` presence before running
pentschev 3742bb5
Fix `ucx_info` chek
pentschev 9305a32
Prevent `which` call from causing a failure
pentschev 1da02e6
Simplify `ucx_info` error handling
pentschev fff8e48
Disable C++ testing in wheels tests
pentschev f888489
Run tests with `python -m`
pentschev 7378821
Patch UCX libraries
pentschev 40d5e8a
Switch to `rapids-dask-dependency` for `dask-cudf`
pentschev fb1c523
Build wheel for distributed-ucxx package
pentschev abe6e7e
Merge remote-tracking branch 'upstream/branch-0.36' into wheel-build-ci
pentschev f470e02
Fix pyproject
pentschev e2e9951
Add distributed-ucxx build/tests to GH workflows
pentschev 5858b02
Add execution permission for new wheel build scripts
pentschev 257ad3d
Add missing `fi` statement
pentschev 07f9b42
Fix distributed-ucxx package directory
pentschev 7818f33
Set `RAPIDS_PY_CUDA_SUFFIX` in caller scripts
pentschev 0d7330b
Export `RAPIDS_PY_CUDA_SUFFIX`
pentschev a43a9bf
Update distributed-ucxx versioning
pentschev 3e1fb71
Add missing distributed-ucxx wheel build step
pentschev 17adea4
Package name fixes
pentschev 0ad3955
Do not export `PROJECT_NAME`
pentschev bcbed26
Use `rapids-dask-dependency` for `distributed-ucxx` conda package
pentschev f09d4d7
Comment out distributed-ucxx wheels GH workflows
pentschev d7dc399
Only use rapids-dask-dependency in conda until we enable distributed-…
bdice 3de787f
Skip distributed-ucxx jobs.
bdice 535a830
Use RAPIDS version for rapids-dask-dependency.
bdice f7044a3
Merge remote-tracking branch 'upstream/branch-0.36' into wheel-build-ci
bdice 1b6c1df
Increase nofile ulimit in CI workflows for wheels
pentschev 32c14a2
Merge remote-tracking branch 'upstream/branch-0.37' into wheel-build-ci
bdice 27f68dc
Update to 24.04.
bdice 0fa2763
Uncomment distributed-ucxx CI jobs.
bdice 05fb96b
Rename ucxx dependency lists.
bdice 0ee77f6
Use rapids-dependency-file-generator for distributed-ucxx.
bdice 360f559
Fix conda dependency list.
bdice a12e420
Add ucxx dependency to distributed-ucxx.
bdice 0ab6f18
Update update-version.sh.
bdice dbb3350
Rewrite alpha_spec for distributed-ucxx's dependency on ucxx.
bdice 3d97f46
Fix sed command.
bdice 6199aea
Fix sed command again.
bdice 199cb25
Install ucxx from this build when testing distributed-ucxx.
bdice 128237d
Install ucxx deps.
bdice f5182cc
Add missing RMM dependency to ucxx run requirements.
bdice 47bceb5
Merge remote-tracking branch 'upstream/branch-0.37' into wheel-build-ci
vyasr 27573d9
Update VERSION to 0.37.00
bdice b596c25
Merge remote-tracking branch 'upstream/branch-0.37' into wheel-build-ci
bdice 8b5007f
Clean up merge diff.
bdice 7748935
Add VERSION symlink to distributed-ucxx.
bdice 35c211d
Update copyrights.
bdice 1348dcb
Add alpha_spec to rapids-dask-dependency.
bdice 7ba3ae7
Merge remote-tracking branch 'upstream/branch-0.37' into wheel-build-ci
pentschev 02dc566
Install Distributed development version in wheel test
pentschev 3ef814b
Add smoke tests for aarch wheel
pentschev dd4e439
Don't print ucx info
vyasr e782fc7
Run pytest via python
vyasr cc017be
Fix path to wheel smoke tests
pentschev 90c3152
Merge remote-tracking branch 'msarahan/wheel-build-ci' into wheel-bui…
pentschev 3d43a5c
Fix smoke test copyright headers
pentschev 2107f16
Remove irrelevant comment from wheel smoke test
pentschev 1b3977f
Fix CMake comment on spdlog
pentschev 9e6ce88
Move `ci/test_utils.sh` functions to `ci/test_common.sh`
pentschev d6af7c6
Remove unneeded wheel test import
pentschev 6e4482f
GH workflow fixes
pentschev 4fa91fb
Make wheel build script more consistent
pentschev 2a8495d
Move `RAPIDS_PY_CUDA_SUFFIX` and build to `ci/build_wheel.sh`
pentschev 035c453
Do not prevent errors in `print_ucx_config`
pentschev 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 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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| 0.36.00 | ||
bdice marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| #!/bin/bash | ||
| # Copyright (c) 2023-2024, NVIDIA CORPORATION. | ||
|
|
||
| set -euo pipefail | ||
|
|
||
| package_name="ucxx" | ||
| package_dir="python" | ||
|
|
||
| source rapids-configure-sccache | ||
| source rapids-date-string | ||
|
|
||
| version=$(rapids-generate-version) | ||
| commit=$(git rev-parse HEAD) | ||
|
|
||
| RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})" | ||
|
|
||
| # This is the version of the suffix with a preceding hyphen. It's used | ||
| # everywhere except in the final wheel name. | ||
| PACKAGE_CUDA_SUFFIX="-${RAPIDS_PY_CUDA_SUFFIX}" | ||
|
|
||
| # Patch project metadata files to include the CUDA version suffix and version override. | ||
| pyproject_file="${package_dir}/pyproject.toml" | ||
|
|
||
| sed -i -E "s/^name = \"${package_name}(.*)?\"$/name = \"${package_name}${PACKAGE_CUDA_SUFFIX}\"/g" ${pyproject_file} | ||
| echo "${version}" > VERSION | ||
| sed -i "/^__git_commit__/ s/= .*/= \"${commit}\"/g" "${package_dir}/${package_name//-/_}/_version.py" | ||
|
|
||
| # For nightlies we want to ensure that we're pulling in alphas as well. The | ||
| # easiest way to do so is to augment the spec with a constraint containing a | ||
| # min alpha version that doesn't affect the version bounds but does allow usage | ||
| # of alpha versions for that dependency without --pre | ||
| alpha_spec='' | ||
| if ! rapids-is-release-build; then | ||
| alpha_spec=',>=0.0.0a0' | ||
| fi | ||
|
|
||
| # Add -cuXX to package name | ||
| sed -r -i "s/rmm(.*)\"/rmm${PACKAGE_CUDA_SUFFIX}\1${alpha_spec}\"/g" ${pyproject_file} | ||
vyasr marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| SKBUILD_CMAKE_ARGS="-DUCXX_ENABLE_RMM=ON" \ | ||
| python -m pip wheel "${package_dir}"/ -w "${package_dir}"/dist -vvv --no-deps --disable-pip-version-check | ||
|
|
||
| python -m auditwheel repair -w ${package_dir}/final_dist ${package_dir}/dist/* | ||
|
|
||
| RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})" | ||
| RAPIDS_PY_WHEEL_NAME="ucxx_${AUDITWHEEL_POLICY}_${RAPIDS_PY_CUDA_SUFFIX}" rapids-upload-wheels-to-s3 ${package_dir}/final_dist | ||
vyasr marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| #!/bin/bash | ||
| # Copyright (c) 2023, NVIDIA CORPORATION. | ||
|
|
||
| set -euo pipefail | ||
|
|
||
| export PROJECT_NAME="ucxx" | ||
|
|
||
| mkdir -p ./dist | ||
| RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})" | ||
| RAPIDS_PY_WHEEL_NAME="${PROJECT_NAME}_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-s3 ./dist | ||
|
|
||
| # On arm also need to install CMake because treelite needs to be compiled (no wheels available for arm). | ||
| if [[ "$(arch)" == "aarch64" ]]; then | ||
| python -m pip install cmake | ||
| fi | ||
|
|
||
| # echo to expand wildcard before adding `[extra]` requires for pip | ||
| python -m pip install $(echo ./dist/${PROJECT_NAME}*.whl)[test] | ||
|
|
||
| # Run smoke tests for aarch64 pull requests | ||
| # if [[ "$(arch)" == "aarch64" && "${RAPIDS_BUILD_TYPE}" == "pull-request" ]]; then | ||
| # python ci/wheel_smoke_test.py | ||
| # else | ||
| # python -m pytest ./python/${PROJECT_NAME}/tests -k 'not test_sparse_pca_inputs' -n 4 --ignore=python/cuml/tests/dask && python -m pytest ./python/${PROJECT_NAME}/tests -k 'test_sparse_pca_inputs' && python -m pytest ./python/cuml/tests/dask | ||
| # fi | ||
|
|
||
| echo "Please add meaningful tests here. This file was copied from CuML and needs to be adapted to UCXX's needs." | ||
| exit 1 |
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| ../../VERSION |
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| # Copyright (c) 2023, NVIDIA CORPORATION. | ||
| # | ||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||
| # you may not use this file except in compliance with the License. | ||
| # You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| # See the License for the specific language governing permissions and | ||
| # limitations under the License. | ||
|
|
||
| import importlib.resources | ||
|
|
||
| __version__ = importlib.resources.files("ucxx").joinpath("VERSION").read_text().strip() | ||
| __git_commit__ = "" |
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
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.
Uh oh!
There was an error while loading. Please reload this page.