Repository navigation
add wheel output #369
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
add wheel output #369
Changes from all commits
Commits
Show all changes
82 commits
Select commit
Hold shift + click to select a range
d650fa7
WIP: add wheel output
msarahan 1faa517
reorganize python folder to allow for libkvikio wheel
msarahan ea1992b
fix matrix_filter in the wrong place
msarahan 3b35c05
fix executability and add missing pyproject.toml
msarahan 3f9e1fe
fix version file location
msarahan a3e25f1
fix missing lib files
msarahan f8b55e0
remove load.py (kvikio is header-only)
msarahan 1c7ebd9
renaming workflows for consistency. Fix path for build.sh python
msarahan f3cfff0
straighten out paths from python deeper nesting
msarahan 3dceb00
linting cmake format
msarahan 4ebecce
add librmm wheel dep from PR, disable cmake find debugging
msarahan 9206dcd
adapt devcontainer run to account for different python package path
msarahan 3298a1a
adjust cpm path; add cpm init to libkvikio wheel
msarahan 5002499
fix relpath to findcufile
msarahan 0a9b650
rapids cuda init architectures fix
msarahan eebdb55
Apply suggestions from code review
msarahan 7f2a9d7
adjusting dependencies and wheel tagging
msarahan e016651
remove build deps from py_wheel_cpp
msarahan e056546
remove findCufile in libkvikio wheel cmakelists
msarahan 55349a0
add wheel-python-tests in pr.yaml
msarahan 3bc31e2
comment librmm inclusion
msarahan 1249409
fix dependency on scikit-build for wheel
msarahan 430ffd2
fix dependency on scikit-build for wheel
msarahan 977d905
fix dependency on scikit-build for wheel
msarahan 28f0dbd
add wheel dep
msarahan 4fd111f
wheel has to be installed in build scripts
msarahan e2e73b8
wheel has to be installed in build scripts
msarahan 550b21d
fix s3 download cpp wheel filename
msarahan 71ba140
move libkvikio wheel to build reqs for kvikio wheel (header-only!)
msarahan 33d5b8a
add wheel.py-api to libkvikio wheel
msarahan 04801ef
fix missing -cuXY version for libkvikio
msarahan ff4e2bb
add install_aliased_imported_targets for nvcomp
msarahan abef47d
style
msarahan 4331fd8
try to get CMake install_aliased_imported_targets working
msarahan 899f249
remove unused get_nvcomp.cmake
msarahan ab4deb5
fix wrong WheelHelpers.cmake
msarahan a048172
reorganize python kvikio cmake
msarahan a58f445
restore get_nvcomp.cmake, move WheelHelpers.cmake
msarahan e8d1f22
typo in cmake thirdparty include
msarahan 891c1ce
set cython lib dir
msarahan a8d7377
install nvcomp stuff into _lib subfolder alongside cython .so's
msarahan f4fbf11
add simple wheel install/test script
msarahan 5e1f76b
Merge remote-tracking branch 'upstream/branch-24.06' into wheel-build
msarahan a33f3fa
chmod +x test_wheel.sh
msarahan efa116e
fix nesting too deep in test folder
msarahan 5eb6b80
Apply suggestions from code review
msarahan 798c60b
fix cuda-python not adjusting for cuda version
msarahan de87c1c
adjust more copyright dates
msarahan 2b22c5a
add sed for cupy-cuda11x -> cupy-cuda12x on cuda 12
msarahan 3d97ce3
add early cmake exit in libkvikio wheel if kvikio is already available
msarahan 0860a99
add wheel publishing in build.yaml
msarahan 9b89b29
cmake style fix
msarahan 0e4beee
Update .github/workflows/build.yaml
msarahan 649397d
Merge branch 'branch-24.06' into wheel-build
chyunsu3 d04de8b
Merge branch 'branch-24.08' into wheel-build
chyunsu3 d82635e
Bump libkvikio version
chyunsu3 619b9a1
Merge remote-tracking branch 'origin/branch-24.08' into wheel-build
chyunsu3 bbed671
Use latest workflows
chyunsu3 3dce076
Address reviewers' comments
chyunsu3 ff2182a
Fix formatting
chyunsu3 1b415f0
Defer to existing FindcuFile module
chyunsu3 3d1ac24
Remove unneeded build.sh
chyunsu3 8f058b9
Apply suggestions from code review
chyunsu3 ccbfd22
Removed outdated comment
chyunsu3 84d9e33
Use a separate build.sh
chyunsu3 eb127c4
Merge branch 'branch-24.08' into wheel-build
chyunsu3 e5c322b
Merge branch 'branch-24.08' of github.com:rapidsai/kvikio into wheel-…
msarahan 5b9da4a
rapids-build-backend for python extension-only wheel
msarahan 7c83f47
fix dependencies-file relative path
msarahan e2e46fe
always set cython_lib_dir
msarahan cbfd5f5
attempt to cut out sed stuff that RBB obviates
msarahan a32ad58
add RBB for libkvikio
msarahan df85d25
install RBB in build_wheel_*scripts
msarahan db0ce3b
rbb in build deps for libkvikio
msarahan bf7dc54
tweak build-backend in libkvikio pyproject.toml
msarahan f461ab2
libkvikio dynamic dep for pyproject
msarahan 5e2560b
allow alpha specs
msarahan dd2d246
clean up some unnecessary changes
msarahan 5706ee3
revert WheelHelpers removal and add note about install_aliased_import…
msarahan b728c93
Apply suggestions from code review
msarahan 5a8ab66
clean up extraneous skbuild stuff (from review)
msarahan 3cf7f82
Apply suggestions from code review
vyasr 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| #!/bin/bash | ||
| # Copyright (c) 2023-2024, NVIDIA CORPORATION. | ||
|
|
||
| set -euo pipefail | ||
|
|
||
| package_name="libkvikio" | ||
| package_dir="python/libkvikio" | ||
|
|
||
| source rapids-configure-sccache | ||
| source rapids-date-string | ||
|
|
||
| rapids-generate-version > ./VERSION | ||
|
|
||
| cd "${package_dir}" | ||
|
|
||
| python -m pip install wheel | ||
| # libkvikio is a header-only C++ library with no Python code, so | ||
| # it is entirely platform-agnostic. We cannot use auditwheel for | ||
| # retagging since it has no extension modules, so we use `wheel` | ||
| # directly instead. | ||
| python -m pip wheel . -w dist -vvv --no-deps --disable-pip-version-check | ||
|
vyasr marked this conversation as resolved.
|
||
| python -m wheel tags --platform any dist/* --remove | ||
|
|
||
| RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})" | ||
| RAPIDS_PY_WHEEL_NAME="${package_name}_${RAPIDS_PY_CUDA_SUFFIX}" rapids-upload-wheels-to-s3 cpp dist | ||
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,25 @@ | ||
| #!/bin/bash | ||
| # Copyright (c) 2023-2024, NVIDIA CORPORATION. | ||
|
|
||
| set -euo pipefail | ||
|
|
||
| package_name="kvikio" | ||
| package_dir="python/kvikio" | ||
|
|
||
| source rapids-configure-sccache | ||
| source rapids-date-string | ||
|
|
||
| RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})" | ||
|
|
||
|
vyasr marked this conversation as resolved.
Outdated
|
||
| rapids-generate-version > ./VERSION | ||
|
|
||
| CPP_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="libkvikio_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-s3 cpp /tmp/libkvikio_dist) | ||
|
|
||
| cd "${package_dir}" | ||
|
|
||
| python -m pip wheel . -w dist -vvv --no-deps --disable-pip-version-check --find-links ${CPP_WHEELHOUSE} | ||
|
|
||
| mkdir -p final_dist | ||
| python -m auditwheel repair -w final_dist dist/* | ||
|
|
||
| RAPIDS_PY_WHEEL_NAME="${package_name}_${RAPIDS_PY_CUDA_SUFFIX}" rapids-upload-wheels-to-s3 final_dist | ||
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,12 @@ | ||
| #!/bin/bash | ||
| # Copyright (c) 2023-2024, NVIDIA CORPORATION. | ||
|
|
||
| set -eou pipefail | ||
|
|
||
| RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})" | ||
| WHEELHOUSE="${PWD}/dist/" | ||
| RAPIDS_PY_WHEEL_NAME="kvikio_${RAPIDS_PY_CUDA_SUFFIX}" rapids-download-wheels-from-s3 python "${WHEELHOUSE}" | ||
|
|
||
| python -m pip install "$(echo ${WHEELHOUSE}/kvikio_${RAPIDS_PY_CUDA_SUFFIX}*.whl)[test]" | ||
|
|
||
| python -m pytest ./python/kvikio/tests |
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 was deleted.
Oops, something went wrong.
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,59 @@ | ||
| # ============================================================================= | ||
| # Copyright (c) 2022-2024, 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. | ||
| # ============================================================================= | ||
| include_guard(GLOBAL) | ||
|
|
||
| # Making libraries available inside wheels by installing the associated targets. | ||
| function(install_aliased_imported_targets) | ||
| list(APPEND CMAKE_MESSAGE_CONTEXT "install_aliased_imported_targets") | ||
|
|
||
| set(options "") | ||
| set(one_value "DESTINATION") | ||
| set(multi_value "TARGETS") | ||
| cmake_parse_arguments(_ "${options}" "${one_value}" "${multi_value}" ${ARGN}) | ||
|
|
||
| message(VERBOSE "Installing targets '${__TARGETS}' into lib_dir '${__DESTINATION}'") | ||
|
|
||
| foreach(target IN LISTS __TARGETS) | ||
|
|
||
| if(NOT TARGET ${target}) | ||
| message(VERBOSE "No target named ${target}") | ||
| continue() | ||
| endif() | ||
|
|
||
| get_target_property(alias_target ${target} ALIASED_TARGET) | ||
| if(alias_target) | ||
| set(target ${alias_target}) | ||
| endif() | ||
|
|
||
| get_target_property(is_imported ${target} IMPORTED) | ||
| if(NOT is_imported) | ||
| # If the target isn't imported, install it into the wheel | ||
| install(TARGETS ${target} DESTINATION ${__DESTINATION}) | ||
| message(VERBOSE "install(TARGETS ${target} DESTINATION ${__DESTINATION})") | ||
| else() | ||
| # If the target is imported, make sure it's global | ||
| get_target_property(type ${target} TYPE) | ||
| if(${type} STREQUAL "UNKNOWN_LIBRARY") | ||
| install(FILES $<TARGET_FILE:${target}> DESTINATION ${__DESTINATION}) | ||
| message(VERBOSE "install(FILES $<TARGET_FILE:${target}> DESTINATION ${__DESTINATION})") | ||
| else() | ||
| install(IMPORTED_RUNTIME_ARTIFACTS ${target} DESTINATION ${__DESTINATION}) | ||
| message( | ||
| VERBOSE | ||
| "install(IMPORTED_RUNTIME_ARTIFACTS $<TARGET_FILE:${target}> DESTINATION ${__DESTINATION})" | ||
| ) | ||
| endif() | ||
| endif() | ||
| endforeach() | ||
| endfunction() |
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
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.
Uh oh!
There was an error while loading. Please reload this page.