Skip to content

Commit 9874c70

Browse files
authored
Build and test with CUDA 13.0.0 (#5236)
Contributes to rapidsai/build-planning#208 * uses CUDA 13.0.0 to build and test * adds CUDA 13 devcontainers * moves some dependency pins: - `cuda-python`: `>=12.9.2` (CUDA 12), `>=13.0.1` (CUDA 13) - `cupy`: `>=13.6.0` Contributes to rapidsai/build-planning#68 * updates to CUDA 13 dependencies in fallback entries in `dependencies.yaml` matrices (i.e., the ones that get written to `pyproject.toml` in source control) ## Notes for Reviewers This switches GitHub Actions workflows to the `cuda13.0` branch from here: rapidsai/shared-workflows#413 A future round of PRs will revert that back to `branch-25.10`, once all of RAPIDS supports CUDA 13. Authors: - James Lamb (https://github.com/jameslamb) - Robert Maynard (https://github.com/robertmaynard) Approvers: - Chuck Hastings (https://github.com/ChuckHastings) - Ralph Liu (https://github.com/nv-rliu) - Vyas Ramasubramani (https://github.com/vyasr) URL: #5236
1 parent 263557a commit 9874c70

File tree

19 files changed

+415
-79
lines changed

19 files changed

+415
-79
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"build": {
3+
"context": "${localWorkspaceFolder}/.devcontainer",
4+
"dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile",
5+
"args": {
6+
"CUDA": "13.0",
7+
"PYTHON_PACKAGE_MANAGER": "conda",
8+
"BASE": "rapidsai/devcontainers:25.10-cpp-mambaforge"
9+
}
10+
},
11+
"runArgs": [
12+
"--rm",
13+
"--name",
14+
"${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.10-cuda13.0-conda",
15+
"--ulimit",
16+
"nofile=500000"
17+
],
18+
"hostRequirements": {"gpu": "optional"},
19+
"features": {
20+
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:25.10": {}
21+
},
22+
"overrideFeatureInstallOrder": [
23+
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
24+
],
25+
"initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda13.0-envs}"],
26+
"postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"],
27+
"workspaceFolder": "/home/coder",
28+
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/cugraph,type=bind,consistency=consistent",
29+
"mounts": [
30+
"source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent",
31+
"source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent",
32+
"source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent",
33+
"source=${localWorkspaceFolder}/../.conda/pkgs,target=/home/coder/.conda/pkgs,type=bind,consistency=consistent",
34+
"source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename}-cuda13.0-envs,target=/home/coder/.conda/envs,type=bind,consistency=consistent"
35+
],
36+
"customizations": {
37+
"vscode": {
38+
"extensions": [
39+
"ms-python.flake8",
40+
"nvidia.nsight-vscode-edition"
41+
]
42+
}
43+
}
44+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
{
2+
"build": {
3+
"context": "${localWorkspaceFolder}/.devcontainer",
4+
"dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile",
5+
"args": {
6+
"CUDA": "13.0",
7+
"PYTHON_PACKAGE_MANAGER": "pip",
8+
"BASE": "rapidsai/devcontainers:25.10-cpp-cuda13.0-ucx1.19.0-openmpi5.0.7"
9+
}
10+
},
11+
"runArgs": [
12+
"--rm",
13+
"--name",
14+
"${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.10-cuda13.0-pip",
15+
"--ulimit",
16+
"nofile=500000"
17+
],
18+
"hostRequirements": {"gpu": "optional"},
19+
"features": {
20+
"ghcr.io/rapidsai/devcontainers/features/cuda:25.10": {
21+
"version": "13.0",
22+
"installcuBLAS": true,
23+
"installcuSOLVER": true,
24+
"installcuRAND": true,
25+
"installcuSPARSE": true
26+
},
27+
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:25.10": {}
28+
},
29+
"overrideFeatureInstallOrder": [
30+
"ghcr.io/rapidsai/devcontainers/features/cuda",
31+
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
32+
],
33+
"initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda13.0-venvs}"],
34+
"postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"],
35+
"workspaceFolder": "/home/coder",
36+
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/cugraph,type=bind,consistency=consistent",
37+
"mounts": [
38+
"source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent",
39+
"source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent",
40+
"source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent",
41+
"source=${localWorkspaceFolder}/../.local/share/${localWorkspaceFolderBasename}-cuda13.0-venvs,target=/home/coder/.local/share/venvs,type=bind,consistency=consistent"
42+
],
43+
"customizations": {
44+
"vscode": {
45+
"extensions": [
46+
"ms-python.flake8",
47+
"nvidia.nsight-vscode-edition"
48+
]
49+
}
50+
}
51+
}

.github/workflows/build.yaml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ concurrency:
3434
jobs:
3535
cpp-build:
3636
secrets: inherit
37-
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-25.10
37+
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@cuda13.0
3838
with:
3939
build_type: ${{ inputs.build_type || 'branch' }}
4040
branch: ${{ inputs.branch }}
@@ -45,7 +45,7 @@ jobs:
4545
python-build:
4646
needs: [cpp-build]
4747
secrets: inherit
48-
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-25.10
48+
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@cuda13.0
4949
with:
5050
build_type: ${{ inputs.build_type || 'branch' }}
5151
branch: ${{ inputs.branch }}
@@ -55,7 +55,7 @@ jobs:
5555
upload-conda:
5656
needs: [cpp-build, python-build]
5757
secrets: inherit
58-
uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-25.10
58+
uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@cuda13.0
5959
with:
6060
build_type: ${{ inputs.build_type || 'branch' }}
6161
branch: ${{ inputs.branch }}
@@ -65,7 +65,7 @@ jobs:
6565
if: github.ref_type == 'branch'
6666
needs: python-build
6767
secrets: inherit
68-
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.10
68+
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0
6969
with:
7070
arch: "amd64"
7171
branch: ${{ inputs.branch }}
@@ -77,7 +77,7 @@ jobs:
7777
sha: ${{ inputs.sha }}
7878
wheel-build-libcugraph:
7979
secrets: inherit
80-
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10
80+
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0
8181
with:
8282
# build for every combination of arch and CUDA version, but only for the latest Python version
8383
matrix_filter: group_by([.ARCH, (.CUDA_VER|split(".")|map(tonumber)|.[0])]) | map(max_by(.PY_VER|split(".")|map(tonumber)))
@@ -92,7 +92,7 @@ jobs:
9292
wheel-publish-libcugraph:
9393
needs: wheel-build-libcugraph
9494
secrets: inherit
95-
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-25.10
95+
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda13.0
9696
with:
9797
build_type: ${{ inputs.build_type || 'branch' }}
9898
branch: ${{ inputs.branch }}
@@ -103,7 +103,7 @@ jobs:
103103
wheel-build-pylibcugraph:
104104
needs: wheel-build-libcugraph
105105
secrets: inherit
106-
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10
106+
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0
107107
with:
108108
build_type: ${{ inputs.build_type || 'branch' }}
109109
branch: ${{ inputs.branch }}
@@ -115,7 +115,7 @@ jobs:
115115
wheel-publish-pylibcugraph:
116116
needs: wheel-build-pylibcugraph
117117
secrets: inherit
118-
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-25.10
118+
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda13.0
119119
with:
120120
build_type: ${{ inputs.build_type || 'branch' }}
121121
branch: ${{ inputs.branch }}
@@ -126,7 +126,7 @@ jobs:
126126
wheel-build-cugraph:
127127
needs: wheel-build-pylibcugraph
128128
secrets: inherit
129-
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10
129+
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0
130130
with:
131131
build_type: ${{ inputs.build_type || 'branch' }}
132132
branch: ${{ inputs.branch }}
@@ -138,7 +138,7 @@ jobs:
138138
wheel-publish-cugraph:
139139
needs: wheel-build-cugraph
140140
secrets: inherit
141-
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-25.10
141+
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda13.0
142142
with:
143143
build_type: ${{ inputs.build_type || 'branch' }}
144144
branch: ${{ inputs.branch }}

.github/workflows/pr.yaml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
- telemetry-setup
2929
- devcontainer
3030
secrets: inherit
31-
uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-25.10
31+
uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@cuda13.0
3232
if: always()
3333
with:
3434
needs: ${{ toJSON(needs) }}
@@ -53,7 +53,7 @@ jobs:
5353
changed-files:
5454
secrets: inherit
5555
needs: telemetry-setup
56-
uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@branch-25.10
56+
uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@cuda13.0
5757
with:
5858
files_yaml: |
5959
test_cpp:
@@ -87,52 +87,52 @@ jobs:
8787
checks:
8888
secrets: inherit
8989
needs: telemetry-setup
90-
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-25.10
90+
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@cuda13.0
9191
with:
9292
enable_check_generated_files: false
9393
ignored_pr_jobs: telemetry-summarize
9494
conda-cpp-build:
9595
needs: checks
9696
secrets: inherit
97-
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-25.10
97+
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@cuda13.0
9898
with:
9999
build_type: pull-request
100100
node_type: cpu32
101101
script: ci/build_cpp.sh
102102
conda-cpp-tests:
103103
needs: [conda-cpp-build, changed-files]
104104
secrets: inherit
105-
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-25.10
105+
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@cuda13.0
106106
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp
107107
with:
108108
build_type: pull-request
109109
script: ci/test_cpp.sh
110110
conda-cpp-checks:
111111
needs: conda-cpp-build
112112
secrets: inherit
113-
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@branch-25.10
113+
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@cuda13.0
114114
with:
115115
build_type: pull-request
116116
symbol_exclusions: (cugraph::ops|hornet|void writeEdgeCountsKernel|void markUniqueOffsetsKernel)
117117
conda-python-build:
118118
needs: conda-cpp-build
119119
secrets: inherit
120-
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-25.10
120+
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@cuda13.0
121121
with:
122122
build_type: pull-request
123123
script: ci/build_python.sh
124124
conda-python-tests:
125125
needs: [conda-python-build, changed-files]
126126
secrets: inherit
127-
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-25.10
127+
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@cuda13.0
128128
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
129129
with:
130130
build_type: pull-request
131131
script: ci/test_python.sh
132132
conda-notebook-tests:
133133
needs: [conda-python-build, changed-files]
134134
secrets: inherit
135-
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.10
135+
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0
136136
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_notebooks
137137
with:
138138
build_type: pull-request
@@ -143,7 +143,7 @@ jobs:
143143
docs-build:
144144
needs: conda-python-build
145145
secrets: inherit
146-
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.10
146+
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0
147147
with:
148148
build_type: pull-request
149149
node_type: "gpu-l4-latest-1"
@@ -153,7 +153,7 @@ jobs:
153153
wheel-build-libcugraph:
154154
needs: checks
155155
secrets: inherit
156-
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10
156+
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0
157157
with:
158158
# build for every combination of arch and CUDA version, but only for the latest Python
159159
matrix_filter: group_by([.ARCH, (.CUDA_VER|split(".")|map(tonumber)|.[0])]) | map(max_by(.PY_VER|split(".")|map(tonumber)))
@@ -164,7 +164,7 @@ jobs:
164164
wheel-build-pylibcugraph:
165165
needs: wheel-build-libcugraph
166166
secrets: inherit
167-
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10
167+
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0
168168
with:
169169
build_type: pull-request
170170
script: ci/build_wheel_pylibcugraph.sh
@@ -173,15 +173,15 @@ jobs:
173173
wheel-tests-pylibcugraph:
174174
needs: [wheel-build-pylibcugraph, changed-files]
175175
secrets: inherit
176-
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.10
176+
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda13.0
177177
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
178178
with:
179179
build_type: pull-request
180180
script: ci/test_wheel_pylibcugraph.sh
181181
wheel-build-cugraph:
182182
needs: wheel-build-pylibcugraph
183183
secrets: inherit
184-
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10
184+
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0
185185
with:
186186
build_type: pull-request
187187
script: ci/build_wheel_cugraph.sh
@@ -190,18 +190,18 @@ jobs:
190190
wheel-tests-cugraph:
191191
needs: [wheel-build-cugraph, changed-files]
192192
secrets: inherit
193-
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.10
193+
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda13.0
194194
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
195195
with:
196196
build_type: pull-request
197197
script: ci/test_wheel_cugraph.sh
198198
devcontainer:
199199
secrets: inherit
200200
needs: telemetry-setup
201-
uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@branch-25.10
201+
uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@cuda13.0
202202
with:
203203
arch: '["amd64", "arm64"]'
204-
cuda: '["12.9"]'
204+
cuda: '["13.0"]'
205205
node_type: "cpu8"
206206
rapids-aux-secret-1: GIST_REPO_READ_ORG_GITHUB_TOKEN
207207
env: |

.github/workflows/test.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ on:
2525
jobs:
2626
conda-cpp-checks:
2727
secrets: inherit
28-
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@branch-25.10
28+
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-post-build-checks.yaml@cuda13.0
2929
with:
3030
build_type: ${{ inputs.build_type }}
3131
branch: ${{ inputs.branch }}
@@ -34,7 +34,7 @@ jobs:
3434
symbol_exclusions: (cugraph::ops|hornet|void writeEdgeCountsKernel|void markUniqueOffsetsKernel)
3535
conda-cpp-tests:
3636
secrets: inherit
37-
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-25.10
37+
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@cuda13.0
3838
with:
3939
build_type: ${{ inputs.build_type }}
4040
branch: ${{ inputs.branch }}
@@ -43,7 +43,7 @@ jobs:
4343
sha: ${{ inputs.sha }}
4444
conda-python-tests:
4545
secrets: inherit
46-
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-25.10
46+
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@cuda13.0
4747
with:
4848
build_type: ${{ inputs.build_type }}
4949
branch: ${{ inputs.branch }}
@@ -52,7 +52,7 @@ jobs:
5252
sha: ${{ inputs.sha }}
5353
wheel-tests-pylibcugraph:
5454
secrets: inherit
55-
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.10
55+
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda13.0
5656
with:
5757
build_type: ${{ inputs.build_type }}
5858
branch: ${{ inputs.branch }}
@@ -61,7 +61,7 @@ jobs:
6161
script: ci/test_wheel_pylibcugraph.sh
6262
wheel-tests-cugraph:
6363
secrets: inherit
64-
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.10
64+
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda13.0
6565
with:
6666
build_type: ${{ inputs.build_type }}
6767
branch: ${{ inputs.branch }}

.github/workflows/trigger-breaking-change-alert.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
trigger-notifier:
1313
if: contains(github.event.pull_request.labels.*.name, 'breaking')
1414
secrets: inherit
15-
uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@branch-25.10
15+
uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@cuda13.0
1616
with:
1717
sender_login: ${{ github.event.sender.login }}
1818
sender_avatar: ${{ github.event.sender.avatar_url }}

conda/environments/all_cuda-129_arch-aarch64.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ dependencies:
1414
- cuda-nvcc
1515
- cuda-nvtx-dev
1616
- cuda-profiler-api
17-
- cuda-python>=12.6.2,<13.0a0
17+
- cuda-python>=12.9.2,<13.0a0
1818
- cuda-version=12.9
1919
- cudf==25.10.*,>=0.0.0a0
20-
- cupy>=12.0.0
20+
- cupy>=13.6.0
2121
- cxx-compiler
2222
- cython>=3.1.2
2323
- dask-cuda==25.10.*,>=0.0.0a0

0 commit comments

Comments
 (0)