Skip to content

Commit 4b1b93b

Browse files
authored
Support CUDA 12.0 for pip wheels (#3544)
Authors: - Divye Gala (https://github.com/divyegala) - Vyas Ramasubramani (https://github.com/vyasr) Approvers: - AJ Schmidt (https://github.com/ajschmidt8) - Brad Rees (https://github.com/BradReesWork) URL: #3544
1 parent c9234ef commit 4b1b93b

File tree

11 files changed

+32
-32
lines changed

11 files changed

+32
-32
lines changed

.github/workflows/build.yaml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
run_script: "ci/build_docs.sh"
6666
wheel-build-pylibcugraph:
6767
secrets: inherit
68-
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@manylinux_v2
68+
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@cuda-120-pip
6969
with:
7070
build_type: ${{ inputs.build_type || 'branch' }}
7171
branch: ${{ inputs.branch }}
@@ -85,7 +85,7 @@ jobs:
8585
wheel-publish-pylibcugraph:
8686
needs: wheel-build-pylibcugraph
8787
secrets: inherit
88-
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-publish.yml@manylinux_v2
88+
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-publish.yml@cuda-120-pip
8989
with:
9090
build_type: ${{ inputs.build_type || 'branch' }}
9191
branch: ${{ inputs.branch }}
@@ -95,7 +95,7 @@ jobs:
9595
wheel-build-cugraph:
9696
needs: wheel-publish-pylibcugraph
9797
secrets: inherit
98-
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@manylinux_v2
98+
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@cuda-120-pip
9999
with:
100100
build_type: ${{ inputs.build_type || 'branch' }}
101101
branch: ${{ inputs.branch }}
@@ -111,11 +111,12 @@ jobs:
111111
extra-repo-sha: branch-23.06
112112
extra-repo-deploy-key: CUGRAPH_OPS_SSH_PRIVATE_DEPLOY_KEY
113113

114-
skbuild-configure-options: "-DDETECT_CONDA_ENV=OFF -DCUGRAPH_BUILD_WHEELS=ON -DFIND_CUGRAPH_CPP=OFF -DCPM_cugraph-ops_SOURCE=${GITHUB_WORKSPACE}/python/pylibcugraph/cugraph-ops/"
114+
before-wheel: "RAPIDS_PY_WHEEL_NAME=pylibcugraph_${{ '${PIP_CU_VERSION}' }} rapids-download-wheels-from-s3 /local-wheelhouse"
115+
skbuild-configure-options: "-DDETECT_CONDA_ENV=OFF -DCUGRAPH_BUILD_WHEELS=ON -DFIND_CUGRAPH_CPP=OFF -DCPM_cugraph-ops_SOURCE=${GITHUB_WORKSPACE}/python/cugraph/cugraph-ops/"
115116
wheel-publish-cugraph:
116117
needs: wheel-build-cugraph
117118
secrets: inherit
118-
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-publish.yml@manylinux_v2
119+
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-publish.yml@cuda-120-pip
119120
with:
120121
build_type: ${{ inputs.build_type || 'branch' }}
121122
branch: ${{ inputs.branch }}

.github/workflows/pr.yaml

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ jobs:
7878
wheel-build-pylibcugraph:
7979
needs: checks
8080
secrets: inherit
81-
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@manylinux_v2
81+
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@cuda-120-pip
8282
with:
8383
build_type: pull-request
8484
package-name: pylibcugraph
@@ -90,38 +90,35 @@ jobs:
9090
wheel-tests-pylibcugraph:
9191
needs: wheel-build-pylibcugraph
9292
secrets: inherit
93-
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@manylinux_v2
93+
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@cuda-120-pip
9494
with:
9595
build_type: pull-request
9696
package-name: pylibcugraph
97-
# On arm also need to install cupy from the specific webpage.
98-
test-before-arm64: "pip install 'cupy-cuda11x<12.0.0' -f https://pip.cupy.dev/aarch64"
9997
test-unittest: "RAPIDS_DATASET_ROOT_DIR=./datasets pytest ./python/pylibcugraph/pylibcugraph/tests"
10098
test-smoketest: "python ci/wheel_smoke_test_pylibcugraph.py"
10199
wheel-build-cugraph:
102100
needs: wheel-tests-pylibcugraph
103101
secrets: inherit
104-
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@manylinux_v2
102+
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@cuda-120-pip
105103
with:
106104
build_type: pull-request
107105
package-name: cugraph
108106
package-dir: python/cugraph
109107
extra-repo: rapidsai/cugraph-ops
110108
extra-repo-sha: branch-23.06
111109
extra-repo-deploy-key: CUGRAPH_OPS_SSH_PRIVATE_DEPLOY_KEY
112-
before-wheel: "RAPIDS_PY_WHEEL_NAME=pylibcugraph_cu11 rapids-download-wheels-from-s3 ./local-pylibcugraph && python -m pip install --no-deps ./local-pylibcugraph/pylibcugraph*.whl"
110+
before-wheel: "RAPIDS_PY_WHEEL_NAME=pylibcugraph_${{ '${PIP_CU_VERSION}' }} rapids-download-wheels-from-s3 /local-wheelhouse"
113111
skbuild-configure-options: "-DDETECT_CONDA_ENV=OFF -DCUGRAPH_BUILD_WHEELS=ON -DFIND_CUGRAPH_CPP=OFF -DCPM_cugraph-ops_SOURCE=${GITHUB_WORKSPACE}/python/cugraph/cugraph-ops/"
114112
wheel-tests-cugraph:
115113
needs: wheel-build-cugraph
116114
secrets: inherit
117-
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@manylinux_v2
115+
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@cuda-120-pip
118116
with:
119117
build_type: pull-request
120118
package-name: cugraph
121119
# Always want to test against latest dask/distributed.
122-
test-before-amd64: "cd ./datasets && bash ./get_test_data.sh && cd - && RAPIDS_PY_WHEEL_NAME=pylibcugraph_cu11 rapids-download-wheels-from-s3 ./local-pylibcugraph-dep && pip install --no-deps ./local-pylibcugraph-dep/*.whl && pip install git+https://github.com/dask/dask.git@2023.3.2 git+https://github.com/dask/distributed.git@2023.3.2.1 git+https://github.com/rapidsai/dask-cuda.git@branch-23.06"
120+
test-before-amd64: "cd ./datasets && bash ./get_test_data.sh && cd - && RAPIDS_PY_WHEEL_NAME=pylibcugraph_${{ '${PIP_CU_VERSION}' }} rapids-download-wheels-from-s3 ./local-pylibcugraph-dep && pip install --no-deps ./local-pylibcugraph-dep/*.whl && pip install git+https://github.com/dask/dask.git@2023.3.2 git+https://github.com/dask/distributed.git@2023.3.2.1 git+https://github.com/rapidsai/dask-cuda.git@branch-23.06"
123121
# Skip dataset downloads on arm to save CI time -- arm only runs smoke tests.
124-
# On arm also need to install cupy from the specific site.
125-
test-before-arm64: "RAPIDS_PY_WHEEL_NAME=pylibcugraph_cu11 rapids-download-wheels-from-s3 ./local-pylibcugraph-dep && pip install --no-deps ./local-pylibcugraph-dep/*.whl && pip install 'cupy-cuda11x<12.0.0' -f https://pip.cupy.dev/aarch64 && pip install git+https://github.com/dask/dask.git@2023.3.2 git+https://github.com/dask/distributed.git@2023.3.2.1 git+https://github.com/rapidsai/dask-cuda.git@branch-23.06"
122+
test-before-arm64: "RAPIDS_PY_WHEEL_NAME=pylibcugraph_${{ '${PIP_CU_VERSION}' }} rapids-download-wheels-from-s3 ./local-pylibcugraph-dep && pip install --no-deps ./local-pylibcugraph-dep/*.whl && pip install git+https://github.com/dask/dask.git@2023.3.2 git+https://github.com/dask/distributed.git@2023.3.2.1 git+https://github.com/rapidsai/dask-cuda.git@branch-23.06"
126123
test-unittest: "RAPIDS_DATASET_ROOT_DIR=/__w/cugraph/cugraph/datasets pytest -m sg ./python/cugraph/cugraph/tests"
127124
test-smoketest: "python ci/wheel_smoke_test_cugraph.py"

.github/workflows/test.yaml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@ jobs:
3939
date: ${{ inputs.date }}
4040
sha: ${{ inputs.sha }}
4141
package-name: pylibcugraph
42-
# On arm also need to install cupy from the specific webpage.
43-
test-before-arm64: "pip install 'cupy-cuda11x<12.0.0' -f https://pip.cupy.dev/aarch64"
4442
test-unittest: "RAPIDS_DATASET_ROOT_DIR=./datasets pytest ./python/pylibcugraph/pylibcugraph/tests"
4543
wheel-tests-cugraph:
4644
secrets: inherit
@@ -53,6 +51,5 @@ jobs:
5351
package-name: cugraph
5452
# Always want to test against latest dask/distributed.
5553
test-before-amd64: "cd ./datasets && bash ./get_test_data.sh && cd - && pip install git+https://github.com/dask/dask.git@2023.3.2 git+https://github.com/dask/distributed.git@2023.3.2.1 git+https://github.com/rapidsai/dask-cuda.git@branch-23.06"
56-
# On arm also need to install cupy from the specific webpage.
57-
test-before-arm64: "cd ./datasets && bash ./get_test_data.sh && cd - && pip install 'cupy-cuda11x<12.0.0' -f https://pip.cupy.dev/aarch64 && pip install git+https://github.com/dask/dask.git@2023.3.2 git+https://github.com/dask/distributed.git@2023.3.2.1 git+https://github.com/rapidsai/dask-cuda.git@branch-23.06"
54+
test-before-arm64: "cd ./datasets && bash ./get_test_data.sh && cd - && pip install git+https://github.com/dask/dask.git@2023.3.2 git+https://github.com/dask/distributed.git@2023.3.2.1 git+https://github.com/rapidsai/dask-cuda.git@branch-23.06"
5855
test-unittest: "RAPIDS_DATASET_ROOT_DIR=/__w/cugraph/cugraph/datasets pytest -m sg ./python/cugraph/cugraph/tests"

ci/release/apply_wheel_modifications.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,8 @@ sed -i "s/raft-dask/raft-dask${CUDA_SUFFIX}/g" python/cugraph/pyproject.toml
2929
sed -i "s/pylibcugraph/pylibcugraph${CUDA_SUFFIX}/g" python/cugraph/pyproject.toml
3030
sed -i "s/pylibraft/pylibraft${CUDA_SUFFIX}/g" python/cugraph/pyproject.toml
3131
sed -i "s/ucx-py/ucx-py${CUDA_SUFFIX}/g" python/cugraph/pyproject.toml
32+
33+
if [[ $CUDA_SUFFIX == "-cu12" ]]; then
34+
sed -i "s/cupy-cuda11x/cupy-cuda12x/g" python/cugraph/pyproject.toml
35+
sed -i "s/numba[<=>\.,0-9]*/numba>=0.57/g" python/cugraph/pyproject.toml
36+
fi

conda/environments/all_cuda-118_arch-x86_64.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ dependencies:
3737
- networkx>=2.5.1
3838
- ninja
3939
- notebook>=0.5.0
40-
- numba>=0.56.2
41-
- numpy>=1.21
40+
- numba>=0.56.4,<0.57
41+
- numpy>=1.21,<1.24
4242
- numpydoc
4343
- nvcc_linux-64=11.8
4444
- openmpi

dependencies.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ dependencies:
303303
- &distributed distributed==2023.3.2.1
304304
- &dask_cuda dask-cuda==23.6.*
305305
- &dask_cudf dask-cudf==23.6.*
306-
- &numba numba>=0.56.2
306+
- &numba numba>=0.56.4,<0.57
307307
- raft-dask==23.6.*
308308
- *rmm
309309
- &ucx_py ucx-py==0.32.*
@@ -329,7 +329,7 @@ dependencies:
329329
- output_types: [conda, pyproject]
330330
packages:
331331
- *numba
332-
- &numpy numpy>=1.21
332+
- &numpy numpy>=1.21,<1.24 # Temporarily upper bound numpy to avoid overflow deprecations
333333
- output_types: [pyproject]
334334
packages:
335335
- &cugraph cugraph==23.6.*

python/cugraph-dgl/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ license = { text = "Apache 2.0" }
2020
requires-python = ">=3.9"
2121
dependencies = [
2222
"cugraph==23.6.*",
23-
"numba>=0.56.2",
24-
"numpy>=1.21",
23+
"numba>=0.56.4,<0.57",
24+
"numpy>=1.21,<1.24",
2525
] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.
2626
classifiers = [
2727
"Intended Audience :: Developers",

python/cugraph-pyg/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ classifiers = [
2727
]
2828
dependencies = [
2929
"cugraph==23.6.*",
30-
"numba>=0.56.2",
31-
"numpy>=1.21",
30+
"numba>=0.56.4,<0.57",
31+
"numpy>=1.21,<1.24",
3232
] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.
3333

3434
[project.urls]

python/cugraph-service/server/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ dependencies = [
2727
"dask-cudf==23.6.*",
2828
"dask==2023.3.2",
2929
"distributed==2023.3.2.1",
30-
"numpy>=1.21",
30+
"numpy>=1.21,<1.24",
3131
"rmm==23.6.*",
3232
"thriftpy2",
3333
"ucx-py==0.32.*",
@@ -45,7 +45,7 @@ test = [
4545
"aiohttp",
4646
"fsspec[http]>=0.6.0",
4747
"networkx>=2.5.1",
48-
"numpy>=1.21",
48+
"numpy>=1.21,<1.24",
4949
"pandas",
5050
"pytest",
5151
"pytest-benchmark",

python/cugraph/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ dependencies = [
3535
"dask-cudf==23.6.*",
3636
"dask==2023.3.2",
3737
"distributed==2023.3.2.1",
38-
"numba>=0.56.2",
38+
"numba>=0.56.4,<0.57",
3939
"pylibcugraph==23.6.*",
4040
"raft-dask==23.6.*",
4141
"rmm==23.6.*",
@@ -53,7 +53,7 @@ test = [
5353
"aiohttp",
5454
"fsspec[http]>=0.6.0",
5555
"networkx>=2.5.1",
56-
"numpy>=1.21",
56+
"numpy>=1.21,<1.24",
5757
"pandas",
5858
"pytest",
5959
"pytest-benchmark",

0 commit comments

Comments
 (0)