Skip to content
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

WIP: [DO NOT MERGE] build wheels without build isolation #4719

Draft
wants to merge 5 commits into
base: branch-24.12
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions ci/build_wheel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,50 @@ set -euo pipefail

package_name=$1
package_dir=$2
underscore_package_name=$(echo "${package_name}" | tr "-" "_")

source rapids-configure-sccache
source rapids-date-string

RAPIDS_PY_CUDA_SUFFIX="$(rapids-wheel-ctk-name-gen ${RAPIDS_CUDA_VERSION})"

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_${underscore_package_name}" \
--matrix "${matrix_selectors}" \
| tee /tmp/requirements-build.txt

rapids-dependency-file-generator \
--output requirements \
--file-key "py_rapids_build_${underscore_package_name}" \
--matrix "${matrix_selectors}" \
| tee -a /tmp/requirements-build.txt

rapids-logger "Installing build requirements"
python -m pip install \
-v \
--prefer-binary \
-r /tmp/requirements-build.txt

rapids-generate-version > ./VERSION

cd "${package_dir}"

rapids-logger "Building '${package_name}' wheel"
python -m pip wheel \
-w dist \
-v \
--no-build-isolation \
--no-deps \
--disable-pip-version-check \
--extra-index-url https://pypi.nvidia.com \
.

sccache --show-adv-stats

# pure-python packages should be marked as pure, and not have auditwheel run on them.
if [[ ${package_name} == "nx-cugraph" ]] || \
[[ ${package_name} == "cugraph-dgl" ]] || \
Expand Down
42 changes: 42 additions & 0 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,13 @@ files:
includes:
- python_build_rapids
- python_build_wheel
py_rapids_build_nx_cugraph:
output: pyproject
pyproject_dir: python/nx-cugraph
extras:
table: tool.rapids-build-backend
key: requires
includes: []
py_run_nx_cugraph:
output: pyproject
pyproject_dir: python/nx-cugraph
Expand All @@ -184,6 +191,13 @@ files:
includes:
- python_build_rapids
- python_build_wheel
py_rapids_build_cugraph_dgl:
output: pyproject
pyproject_dir: python/cugraph-dgl
extras:
table: tool.rapids-build-backend
key: requires
includes: []
py_run_cugraph_dgl:
output: pyproject
pyproject_dir: python/cugraph-dgl
Expand Down Expand Up @@ -211,6 +225,13 @@ files:
includes:
- python_build_rapids
- python_build_wheel
py_rapids_build_cugraph_pyg:
output: pyproject
pyproject_dir: python/cugraph-pyg
extras:
table: tool.rapids-build-backend
key: requires
includes: []
py_run_cugraph_pyg:
output: pyproject
pyproject_dir: python/cugraph-pyg
Expand Down Expand Up @@ -238,6 +259,13 @@ files:
includes:
- python_build_rapids
- python_build_wheel
py_rapids_build_cugraph_equivariant:
output: pyproject
pyproject_dir: python/cugraph-equivariant
extras:
table: tool.rapids-build-backend
key: requires
includes: []
py_run_cugraph_equivariant:
output: pyproject
pyproject_dir: python/cugraph-equivariant
Expand All @@ -262,6 +290,13 @@ files:
includes:
- python_build_rapids
- python_build_wheel
py_rapids_build_cugraph_service_client:
output: pyproject
pyproject_dir: python/cugraph-service/client
extras:
table: tool.rapids-build-backend
key: requires
includes: []
py_run_cugraph_service_client:
output: pyproject
pyproject_dir: python/cugraph-service/client
Expand All @@ -277,6 +312,13 @@ files:
includes:
- python_build_rapids
- python_build_wheel
py_rapids_build_cugraph_service_server:
output: pyproject
pyproject_dir: python/cugraph-service/server
extras:
table: tool.rapids-build-backend
key: requires
includes: []
py_run_cugraph_service_server:
output: pyproject
pyproject_dir: python/cugraph-service/server
Expand Down
2 changes: 2 additions & 0 deletions python/cugraph-dgl/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,5 @@ include = [
build-backend = "setuptools.build_meta"
dependencies-file = "../../dependencies.yaml"
matrix-entry = "cuda_suffixed=true"
requires = [
] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.
2 changes: 2 additions & 0 deletions python/cugraph-equivariant/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,5 @@ include = [
build-backend = "setuptools.build_meta"
dependencies-file = "../../dependencies.yaml"
matrix-entry = "cuda_suffixed=true"
requires = [
] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.
2 changes: 2 additions & 0 deletions python/cugraph-pyg/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,5 @@ include = [
build-backend = "setuptools.build_meta"
dependencies-file = "../../dependencies.yaml"
matrix-entry = "cuda_suffixed=true"
requires = [
] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.
2 changes: 2 additions & 0 deletions python/cugraph-service/client/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,5 @@ build-backend = "setuptools.build_meta"
dependencies-file = "../../../dependencies.yaml"
disable-cuda = true
matrix-entry = "cuda_suffixed=true"
requires = [
] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../../dependencies.yaml and run `rapids-dependency-file-generator`.
2 changes: 2 additions & 0 deletions python/cugraph-service/server/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,5 @@ include = [
build-backend = "setuptools.build_meta"
dependencies-file = "../../../dependencies.yaml"
matrix-entry = "cuda_suffixed=true"
requires = [
] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../../dependencies.yaml and run `rapids-dependency-file-generator`.
2 changes: 2 additions & 0 deletions python/nx-cugraph/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@ build-backend = "setuptools.build_meta"
commit-files = ["_nx_cugraph/GIT_COMMIT"]
dependencies-file = "../../dependencies.yaml"
matrix-entry = "cuda_suffixed=true"
requires = [
] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.

[tool.black]
line-length = 88
Expand Down
Loading