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

Use rapids-build-backend #5804

Merged
merged 62 commits into from
Jun 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
1008a77
Use rapids-build-backend
KyleFromNVIDIA Mar 14, 2024
f6171d9
Fix build_wheel.sh
KyleFromNVIDIA Mar 14, 2024
0f0ddd6
Fix build_wheel.sh
KyleFromNVIDIA Mar 14, 2024
58ec8e4
Fix devcontainers
KyleFromNVIDIA Mar 14, 2024
f046ba8
Fix devcontainers
KyleFromNVIDIA Mar 14, 2024
66e117a
Fix build.sh
KyleFromNVIDIA Mar 14, 2024
5cd19ec
Fix dependencies
KyleFromNVIDIA Mar 14, 2024
d9be176
Fix dependencies
KyleFromNVIDIA Mar 14, 2024
8bfa5f2
Fix dependencies
KyleFromNVIDIA Mar 14, 2024
fcb2a7d
Fix dependencies
KyleFromNVIDIA Mar 15, 2024
071b186
Fix meta.yaml
KyleFromNVIDIA Mar 15, 2024
1c0db89
Fix meta.yaml
KyleFromNVIDIA Mar 15, 2024
5ed005e
Merge branch 'branch-24.04' into rapids-build-backend
KyleFromNVIDIA Mar 15, 2024
531b274
Merge remote-tracking branch 'github/origin/branch-24.06' into rapids…
KyleFromNVIDIA Mar 19, 2024
cff5de7
rapids-build-backend packages are now available
KyleFromNVIDIA Mar 19, 2024
924c8e1
Add rapids-build-backend to conda recipes
KyleFromNVIDIA Mar 19, 2024
d6175e8
Merge branch 'branch-24.06' into rapids-build-backend
KyleFromNVIDIA Mar 19, 2024
1608bb8
Merge branch 'branch-24.06' into rapids-build-backend
bdice Mar 20, 2024
e21e86f
Revert "Add rapids-build-backend to conda recipes"
KyleFromNVIDIA Mar 26, 2024
e73ef62
Revert "rapids-build-backend packages are now available"
KyleFromNVIDIA Mar 26, 2024
a7ae5ee
Use the use-dfg branch of rbb
KyleFromNVIDIA Mar 26, 2024
90bf7b2
Set dependencies-file
KyleFromNVIDIA Mar 26, 2024
15c3214
Use DFG's pyproject matrix capabilities
KyleFromNVIDIA Mar 26, 2024
204ac93
pip install instead of pip wheel
KyleFromNVIDIA Mar 26, 2024
8a10d22
Revert "pip install instead of pip wheel"
KyleFromNVIDIA Mar 26, 2024
907a908
Add alpha version specifiers
KyleFromNVIDIA Mar 26, 2024
81278a5
Remove unneeded variable
KyleFromNVIDIA Mar 26, 2024
4004adb
Update dask-cuda dependency
KyleFromNVIDIA Mar 27, 2024
96a7728
Update rapids-dask-dependency
KyleFromNVIDIA Mar 27, 2024
24f9c44
Update rmm dependency
KyleFromNVIDIA Mar 27, 2024
18f04f4
Add temporary DFG dependency
KyleFromNVIDIA Mar 27, 2024
45f0136
Fix conda recipe dependencies
KyleFromNVIDIA Mar 27, 2024
63b1762
Merge branch 'branch-24.06' into rapids-build-backend
KyleFromNVIDIA Apr 24, 2024
2dc7853
Forcefully bump RBB version
KyleFromNVIDIA Apr 24, 2024
41d9a55
Bump version in more places
KyleFromNVIDIA Apr 24, 2024
58def44
Merge branch 'branch-24.06' into rapids-build-backend
KyleFromNVIDIA Apr 25, 2024
424ce9b
Review feedback
KyleFromNVIDIA May 1, 2024
dd76a0a
Merge branch 'branch-24.06' into rapids-build-backend
KyleFromNVIDIA May 1, 2024
ff267f7
Use main branch of RBB
KyleFromNVIDIA May 3, 2024
8d7b562
Add back fake dependencies
KyleFromNVIDIA May 8, 2024
b42e17c
Read VERSION and GIT_COMMIT relative to __package__
KyleFromNVIDIA May 9, 2024
c807146
Use published rapids-build-backend packages
KyleFromNVIDIA May 9, 2024
b7bac94
Don't depend on RBB in conda
KyleFromNVIDIA May 9, 2024
0b6eec9
Add rapids-build-backend back to Conda
KyleFromNVIDIA May 13, 2024
52a3e16
Update for RBB 0.2.0
KyleFromNVIDIA May 15, 2024
d147f5b
Update RBB version
KyleFromNVIDIA May 16, 2024
c211478
Merge branch 'branch-24.08' into rapids-build-backend
KyleFromNVIDIA May 21, 2024
42c5abe
Add alpha specifiers everywhere
KyleFromNVIDIA May 21, 2024
fe50181
disable-cuda
KyleFromNVIDIA May 22, 2024
9f815dd
config-setting
KyleFromNVIDIA May 22, 2024
ebdea8f
Update RBB to version 0.3.0
KyleFromNVIDIA May 23, 2024
cc459cd
Pipe rapids-generate-version directly to VERSION
KyleFromNVIDIA May 23, 2024
7de358b
Merge branch 'branch-24.08' into rapids-build-backend
KyleFromNVIDIA May 23, 2024
c19f2bf
Merge branch 'branch-24.08' into rapids-build-backend
KyleFromNVIDIA May 24, 2024
260a5c2
s/--config-setting/--config-settings/
KyleFromNVIDIA May 24, 2024
167bb34
Test cuml._version
KyleFromNVIDIA May 29, 2024
4cd072a
cupy does not require alpha spec
KyleFromNVIDIA May 29, 2024
c66b832
Update DFG, reorder dependencies
KyleFromNVIDIA May 30, 2024
b3a7550
Update dependencies.yaml
jameslamb May 31, 2024
3256ff4
Update ci/build_wheel.sh
jameslamb May 31, 2024
29911b6
consolidate version informatin in build scripts
jameslamb May 31, 2024
351b0e0
Merge branch 'branch-24.08' into rapids-build-backend
jameslamb Jun 4, 2024
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
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ repos:
pass_filenames: false
language: python
- repo: https://github.com/rapidsai/dependency-file-generator
rev: v1.8.0
rev: v1.13.11
hooks:
- id: rapids-dependency-file-generator
args: ["--clean"]
Expand Down
4 changes: 2 additions & 2 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ if (! hasArg --configure-only) && (completeBuild || hasArg cuml || hasArg pydocs
fi

SKBUILD_CMAKE_ARGS="-DCMAKE_MESSAGE_LOG_LEVEL=${CMAKE_LOG_LEVEL};${SKBUILD_EXTRA_CMAKE_ARGS}" \
python -m pip install --no-build-isolation --no-deps ${REPODIR}/python
python -m pip install --no-build-isolation --no-deps --config-settings rapidsai.disable-cuda=true ${REPODIR}/python

if hasArg pydocs; then
cd ${REPODIR}/docs
Expand All @@ -304,5 +304,5 @@ fi

if hasArg cuml-cpu; then
SKBUILD_CMAKE_ARGS="-DCUML_CPU=ON;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE" \
python -m pip install --no-build-isolation --no-deps -v ${REPODIR}/python
python -m pip install --no-build-isolation --no-deps --config-settings rapidsai.disable-cuda=true ${REPODIR}/python
fi
6 changes: 2 additions & 4 deletions ci/build_cpp.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
# Copyright (c) 2022-2023, NVIDIA CORPORATION.
# Copyright (c) 2022-2024, NVIDIA CORPORATION.

set -euo pipefail

Expand All @@ -13,10 +13,8 @@ export CMAKE_GENERATOR=Ninja

rapids-print-env

version=$(rapids-generate-version)

rapids-logger "Begin cpp build"

RAPIDS_PACKAGE_VERSION=${version} rapids-conda-retry mambabuild conda/recipes/libcuml
RAPIDS_PACKAGE_VERSION=$(rapids-generate-version) rapids-conda-retry mambabuild conda/recipes/libcuml

rapids-upload-conda-to-s3 cpp
16 changes: 4 additions & 12 deletions ci/build_python.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
# Copyright (c) 2022-2023, NVIDIA CORPORATION.
# Copyright (c) 2022-2024, NVIDIA CORPORATION.

set -euo pipefail

Expand All @@ -13,23 +13,15 @@ export CMAKE_GENERATOR=Ninja

rapids-print-env

package_name="cuml"
package_dir="python"

version=$(rapids-generate-version)
git_commit=$(git rev-parse HEAD)
export RAPIDS_PACKAGE_VERSION=${version}

echo "${version}" > VERSION
sed -i "/^__git_commit__/ s/= .*/= \"${git_commit}\"/g" "${package_dir}/${package_name}/_version.py"
rapids-generate-version > ./VERSION

rapids-logger "Begin py build"

CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp)

# TODO: Remove `--no-test` flag once importing on a CPU
# node works correctly
rapids-conda-retry mambabuild \
RAPIDS_PACKAGE_VERSION=$(head -1 ./VERSION) rapids-conda-retry mambabuild \
--no-test \
--channel "${CPP_CHANNEL}" \
conda/recipes/cuml
Expand All @@ -38,7 +30,7 @@ rapids-conda-retry mambabuild \
# version
RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}"
if [[ ${RAPIDS_CUDA_MAJOR} == "11" ]]; then
rapids-conda-retry mambabuild \
RAPIDS_PACKAGE_VERSION=$(head -1 ./VERSION) rapids-conda-retry mambabuild \
--no-test \
conda/recipes/cuml-cpu
fi
Expand Down
34 changes: 2 additions & 32 deletions ci/build_wheel.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
# Copyright (c) 2023, NVIDIA CORPORATION.
# Copyright (c) 2023-2024, NVIDIA CORPORATION.

set -euo pipefail

Expand All @@ -9,43 +9,13 @@ package_dir="python"
source rapids-configure-sccache
source rapids-date-string

version=$(rapids-generate-version)
git_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 "/^name.*cuml/ s/= \"cuml\"/= \"cuml${PACKAGE_CUDA_SUFFIX}\"/g" ${pyproject_file}
echo "${version}" > VERSION
sed -i "/^__git_commit__ / s/= .*/= \"${git_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

for dep in cudf pylibraft raft-dask rmm; do
sed -r -i "s/${dep}==(.*)\"/${dep}${PACKAGE_CUDA_SUFFIX}==\1${alpha_spec}\"/g" ${pyproject_file}
done

for dep in dask-cuda rapids-dask-dependency; do
sed -r -i "s/${dep}==(.*)\"/${dep}==\1${alpha_spec}\"/g" ${pyproject_file}
done

if [[ $PACKAGE_CUDA_SUFFIX == "-cu12" ]]; then
sed -i "s/cuda-python[<=>\.,0-9]*/cuda-python>=12.0,<13.0/g" ${pyproject_file}
sed -i "s/cupy-cuda11x/cupy-cuda12x/g" ${pyproject_file}
fi
rapids-generate-version > ./VERSION

cd ${package_dir}

Expand Down
2 changes: 1 addition & 1 deletion ci/release/update-version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ DEPENDENCIES=(
)
for FILE in dependencies.yaml conda/environments/*.yaml; do
for DEP in "${DEPENDENCIES[@]}"; do
sed_runner "/-.* ${DEP}\(-cu[[:digit:]]\{2\}\)\{0,1\}==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}.*/g" "${FILE}"
sed_runner "/-.* ${DEP}\(-cu[[:digit:]]\{2\}\)\{0,1\}==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}.*,>=0.0.0a0/g" "${FILE}"
jameslamb marked this conversation as resolved.
Show resolved Hide resolved
done
done

Expand Down
23 changes: 12 additions & 11 deletions conda/environments/all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ dependencies:
- cuda-python>=11.7.1,<12.0a0
- cuda-version=11.8
- cudatoolkit
- cudf==24.8.*
- cudf==24.8.*,>=0.0.0a0
- cupy>=12.0.0
- cxx-compiler
- cython>=3.0.0
- dask-cuda==24.8.*
- dask-cudf==24.8.*
- dask-cuda==24.8.*,>=0.0.0a0
- dask-cudf==24.8.*,>=0.0.0a0
- dask-ml
- doxygen=1.9.1
- gcc_linux-64=11.*
Expand All @@ -31,16 +31,16 @@ dependencies:
- libcublas=11.11.3.6
- libcufft-dev=10.9.0.58
- libcufft=10.9.0.58
- libcumlprims==24.8.*
- libcumlprims==24.8.*,>=0.0.0a0
- libcurand-dev=10.3.0.86
- libcurand=10.3.0.86
- libcusolver-dev=11.4.1.48
- libcusolver=11.4.1.48
- libcusparse-dev=11.7.5.86
- libcusparse=11.7.5.86
- libraft-headers==24.8.*
- libraft==24.8.*
- librmm==24.8.*
- libraft-headers==24.8.*,>=0.0.0a0
- libraft==24.8.*,>=0.0.0a0
- librmm==24.8.*,>=0.0.0a0
- nbsphinx
- ninja
- nltk
Expand All @@ -50,18 +50,19 @@ dependencies:
- packaging
- pip
- pydata-sphinx-theme!=0.14.2
- pylibraft==24.8.*
- pylibraft==24.8.*,>=0.0.0a0
- pynndescent==0.5.8
- pytest-benchmark
- pytest-cases
- pytest-cov
- pytest-xdist
- pytest==7.*
- python>=3.9,<3.12
- raft-dask==24.8.*
- rapids-dask-dependency==24.8.*
- raft-dask==24.8.*,>=0.0.0a0
- rapids-build-backend>=0.3.0,<0.4.0.dev0
- rapids-dask-dependency==24.8.*,>=0.0.0a0
- recommonmark
- rmm==24.8.*
- rmm==24.8.*,>=0.0.0a0
- scikit-build-core>=0.7.0
- scikit-learn==1.5
- scipy>=1.8.0
Expand Down
23 changes: 12 additions & 11 deletions conda/environments/all_cuda-122_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ dependencies:
- cuda-profiler-api
- cuda-python>=12.0,<13.0a0
- cuda-version=12.2
- cudf==24.8.*
- cudf==24.8.*,>=0.0.0a0
- cupy>=12.0.0
- cxx-compiler
- cython>=3.0.0
- dask-cuda==24.8.*
- dask-cudf==24.8.*
- dask-cuda==24.8.*,>=0.0.0a0
- dask-cudf==24.8.*,>=0.0.0a0
- dask-ml
- doxygen=1.9.1
- gcc_linux-64=11.*
Expand All @@ -31,13 +31,13 @@ dependencies:
- joblib>=0.11
- libcublas-dev
- libcufft-dev
- libcumlprims==24.8.*
- libcumlprims==24.8.*,>=0.0.0a0
- libcurand-dev
- libcusolver-dev
- libcusparse-dev
- libraft-headers==24.8.*
- libraft==24.8.*
- librmm==24.8.*
- libraft-headers==24.8.*,>=0.0.0a0
- libraft==24.8.*,>=0.0.0a0
- librmm==24.8.*,>=0.0.0a0
- nbsphinx
- ninja
- nltk
Expand All @@ -46,18 +46,19 @@ dependencies:
- packaging
- pip
- pydata-sphinx-theme!=0.14.2
- pylibraft==24.8.*
- pylibraft==24.8.*,>=0.0.0a0
- pynndescent==0.5.8
- pytest-benchmark
- pytest-cases
- pytest-cov
- pytest-xdist
- pytest==7.*
- python>=3.9,<3.12
- raft-dask==24.8.*
- rapids-dask-dependency==24.8.*
- raft-dask==24.8.*,>=0.0.0a0
- rapids-build-backend>=0.3.0,<0.4.0.dev0
- rapids-dask-dependency==24.8.*,>=0.0.0a0
- recommonmark
- rmm==24.8.*
- rmm==24.8.*,>=0.0.0a0
- scikit-build-core>=0.7.0
- scikit-learn==1.5
- scipy>=1.8.0
Expand Down
8 changes: 4 additions & 4 deletions conda/environments/clang_tidy_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,16 @@ dependencies:
- libcublas=11.11.3.6
- libcufft-dev=10.9.0.58
- libcufft=10.9.0.58
- libcumlprims==24.8.*
- libcumlprims==24.8.*,>=0.0.0a0
- libcurand-dev=10.3.0.86
- libcurand=10.3.0.86
- libcusolver-dev=11.4.1.48
- libcusolver=11.4.1.48
- libcusparse-dev=11.7.5.86
- libcusparse=11.7.5.86
- libraft-headers==24.8.*
- libraft==24.8.*
- librmm==24.8.*
- libraft-headers==24.8.*,>=0.0.0a0
- libraft==24.8.*,>=0.0.0a0
- librmm==24.8.*,>=0.0.0a0
- ninja
- nvcc_linux-64=11.8
- sysroot_linux-64==2.17
Expand Down
8 changes: 4 additions & 4 deletions conda/environments/cpp_all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@ dependencies:
- libcublas=11.11.3.6
- libcufft-dev=10.9.0.58
- libcufft=10.9.0.58
- libcumlprims==24.8.*
- libcumlprims==24.8.*,>=0.0.0a0
- libcurand-dev=10.3.0.86
- libcurand=10.3.0.86
- libcusolver-dev=11.4.1.48
- libcusolver=11.4.1.48
- libcusparse-dev=11.7.5.86
- libcusparse=11.7.5.86
- libraft-headers==24.8.*
- libraft==24.8.*
- librmm==24.8.*
- libraft-headers==24.8.*,>=0.0.0a0
- libraft==24.8.*,>=0.0.0a0
- librmm==24.8.*,>=0.0.0a0
- ninja
- nvcc_linux-64=11.8
- sysroot_linux-64==2.17
Expand Down
8 changes: 4 additions & 4 deletions conda/environments/cpp_all_cuda-122_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ dependencies:
- gcc_linux-64=11.*
- libcublas-dev
- libcufft-dev
- libcumlprims==24.8.*
- libcumlprims==24.8.*,>=0.0.0a0
- libcurand-dev
- libcusolver-dev
- libcusparse-dev
- libraft-headers==24.8.*
- libraft==24.8.*
- librmm==24.8.*
- libraft-headers==24.8.*,>=0.0.0a0
- libraft==24.8.*,>=0.0.0a0
- librmm==24.8.*,>=0.0.0a0
- ninja
- sysroot_linux-64==2.17
name: cpp_all_cuda-122_arch-x86_64
1 change: 1 addition & 0 deletions conda/recipes/cuml-cpu/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ requirements:
- python x.x
- scikit-build-core >=0.7.0
- cython>=3.0.0
- rapids-build-backend>=0.3.0,<0.4.0.dev0
run:
- python x.x
- numpy>=1.23,<2.0a0
Expand Down
1 change: 1 addition & 0 deletions conda/recipes/cuml/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ requirements:
- raft-dask ={{ minor_version }}
- scikit-build-core >=0.7.0
- treelite {{ treelite_version }}
- rapids-build-backend>=0.3.0,<0.4.0.dev0
run:
- {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }}
{% if cuda_major == "11" %}
Expand Down
Loading
Loading