Skip to content

Commit 6824e00

Browse files
committed
CI: tidy test-matrix nightly; add arm64 gh200; bump torch to 2.12.1
- ci/test-matrix.yml: move per-row MODE/TORCH_VER/TORCH_CUDA into the ENV map (rides the existing matrix-env injection step). Add a nightly-standard arm64 gh200 row. Bump latest-PyTorch rows from 2.11.0 to 2.12.1; 2.9.1 rows untouched. - .github/workflows/ci-nightly.yml: matrix_filter selectors now key on .ENV.MODE. - .github/workflows/test-wheel-{linux,windows}.yml: job-name format strings read TORCH_VER/MODE from matrix.ENV; TORCH_CUDA also rendered in the name (e.g. ", 2.12.1+cu126"). Drop the now-redundant TORCH_VER/TORCH_CUDA lines from the pytorch step's env block.
1 parent 1e53cc6 commit 6824e00

4 files changed

Lines changed: 34 additions & 35 deletions

File tree

.github/workflows/ci-nightly.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ jobs:
9898
run-id: ${{ needs.find-wheels.outputs.RUN_ID }}
9999
sha: ${{ needs.find-wheels.outputs.HEAD_SHA }}
100100
test-mode: nightly-pytorch
101-
matrix_filter: 'map(select(.MODE == "nightly-pytorch"))'
101+
matrix_filter: 'map(select(.ENV.MODE == "nightly-pytorch"))'
102102

103103
test-pytorch-linux-aarch64:
104104
name: "Nightly PyTorch (linux-aarch64)"
@@ -116,7 +116,7 @@ jobs:
116116
run-id: ${{ needs.find-wheels.outputs.RUN_ID }}
117117
sha: ${{ needs.find-wheels.outputs.HEAD_SHA }}
118118
test-mode: nightly-pytorch
119-
matrix_filter: 'map(select(.MODE == "nightly-pytorch"))'
119+
matrix_filter: 'map(select(.ENV.MODE == "nightly-pytorch"))'
120120

121121
test-pytorch-windows:
122122
name: "Nightly PyTorch (win-64)"
@@ -134,7 +134,7 @@ jobs:
134134
run-id: ${{ needs.find-wheels.outputs.RUN_ID }}
135135
sha: ${{ needs.find-wheels.outputs.HEAD_SHA }}
136136
test-mode: nightly-pytorch
137-
matrix_filter: 'map(select(.MODE == "nightly-pytorch"))'
137+
matrix_filter: 'map(select(.ENV.MODE == "nightly-pytorch"))'
138138

139139
# ── numba-cuda tests ──
140140

@@ -154,7 +154,7 @@ jobs:
154154
run-id: ${{ needs.find-wheels.outputs.RUN_ID }}
155155
sha: ${{ needs.find-wheels.outputs.HEAD_SHA }}
156156
test-mode: nightly-numba-cuda
157-
matrix_filter: 'map(select(.MODE == "nightly-numba-cuda"))'
157+
matrix_filter: 'map(select(.ENV.MODE == "nightly-numba-cuda"))'
158158

159159
test-numba-cuda-linux-aarch64:
160160
name: "Nightly numba-cuda (linux-aarch64)"
@@ -172,7 +172,7 @@ jobs:
172172
run-id: ${{ needs.find-wheels.outputs.RUN_ID }}
173173
sha: ${{ needs.find-wheels.outputs.HEAD_SHA }}
174174
test-mode: nightly-numba-cuda
175-
matrix_filter: 'map(select(.MODE == "nightly-numba-cuda"))'
175+
matrix_filter: 'map(select(.ENV.MODE == "nightly-numba-cuda"))'
176176

177177
test-numba-cuda-windows:
178178
name: "Nightly numba-cuda (win-64)"
@@ -190,7 +190,7 @@ jobs:
190190
run-id: ${{ needs.find-wheels.outputs.RUN_ID }}
191191
sha: ${{ needs.find-wheels.outputs.HEAD_SHA }}
192192
test-mode: nightly-numba-cuda
193-
matrix_filter: 'map(select(.MODE == "nightly-numba-cuda"))'
193+
matrix_filter: 'map(select(.ENV.MODE == "nightly-numba-cuda"))'
194194

195195
# ── Standard tests on nightly-only runners ──
196196

@@ -210,7 +210,7 @@ jobs:
210210
run-id: ${{ needs.find-wheels.outputs.RUN_ID }}
211211
sha: ${{ needs.find-wheels.outputs.HEAD_SHA }}
212212
test-mode: standard
213-
matrix_filter: 'map(select(.MODE == "nightly-standard"))'
213+
matrix_filter: 'map(select(.ENV.MODE == "nightly-standard"))'
214214

215215
# ── Status check ──
216216

.github/workflows/test-wheel-linux.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ jobs:
100100
echo "OLD_BRANCH=${OLD_BRANCH}" >> "$GITHUB_OUTPUT"
101101
102102
test:
103-
name: Python ${{ matrix.PY_VER }}, CUDA ${{ matrix.CUDA_VER }} (${{ (matrix.LOCAL_CTK == '1' && 'local') || 'wheels' }}), GPU ${{ matrix.GPU }}${{ matrix.GPU_COUNT != '1' && format(' (x{0})', matrix.GPU_COUNT) || '' }}${{ matrix.FLAVOR && format(', {0}', matrix.FLAVOR) || '' }}${{ matrix.TORCH_VER && format(', {0}', matrix.TORCH_VER) || '' }}${{ matrix.MODE == 'nightly-numba-cuda' && ', latest' || '' }}
103+
name: Python ${{ matrix.PY_VER }}, CUDA ${{ matrix.CUDA_VER }} (${{ (matrix.LOCAL_CTK == '1' && 'local') || 'wheels' }}), GPU ${{ matrix.GPU }}${{ matrix.GPU_COUNT != '1' && format(' (x{0})', matrix.GPU_COUNT) || '' }}${{ matrix.FLAVOR && format(', {0}', matrix.FLAVOR) || '' }}${{ matrix.ENV.TORCH_VER && format(', {0}+{1}', matrix.ENV.TORCH_VER, matrix.ENV.TORCH_CUDA) || '' }}${{ matrix.ENV.MODE == 'nightly-numba-cuda' && ', latest' || '' }}
104104
timeout-minutes: 60
105105
needs: compute-matrix
106106
strategy:
@@ -400,8 +400,6 @@ jobs:
400400
env:
401401
CUDA_VER: ${{ matrix.CUDA_VER }}
402402
LOCAL_CTK: ${{ matrix.LOCAL_CTK }}
403-
TORCH_VER: ${{ matrix.TORCH_VER }}
404-
TORCH_CUDA: ${{ matrix.TORCH_CUDA }}
405403
run: run-tests nightly-pytorch
406404

407405
- name: Install cuda-python wheels + numba-cuda

.github/workflows/test-wheel-windows.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ jobs:
9090
echo "MATRIX=${MATRIX}" | tee --append "${GITHUB_OUTPUT}"
9191
9292
test:
93-
name: Python ${{ matrix.PY_VER }}, CUDA ${{ matrix.CUDA_VER }} (${{ (matrix.LOCAL_CTK == '1' && 'local') || 'wheels' }}), GPU ${{ matrix.GPU }}${{ matrix.GPU_COUNT != '1' && format(' (x{0})', matrix.GPU_COUNT) || '' }} (${{ matrix.DRIVER_MODE }})${{ matrix.TORCH_VER && format(', {0}', matrix.TORCH_VER) || '' }}${{ matrix.MODE == 'nightly-numba-cuda' && ', latest' || '' }}
93+
name: Python ${{ matrix.PY_VER }}, CUDA ${{ matrix.CUDA_VER }} (${{ (matrix.LOCAL_CTK == '1' && 'local') || 'wheels' }}), GPU ${{ matrix.GPU }}${{ matrix.GPU_COUNT != '1' && format(' (x{0})', matrix.GPU_COUNT) || '' }} (${{ matrix.DRIVER_MODE }})${{ matrix.ENV.TORCH_VER && format(', {0}+{1}', matrix.ENV.TORCH_VER, matrix.ENV.TORCH_CUDA) || '' }}${{ matrix.ENV.MODE == 'nightly-numba-cuda' && ', latest' || '' }}
9494
timeout-minutes: 60
9595
# The build stage could fail but we want the CI to keep moving.
9696
needs: compute-matrix
@@ -377,8 +377,6 @@ jobs:
377377
env:
378378
CUDA_VER: ${{ matrix.CUDA_VER }}
379379
LOCAL_CTK: ${{ matrix.LOCAL_CTK }}
380-
TORCH_VER: ${{ matrix.TORCH_VER }}
381-
TORCH_CUDA: ${{ matrix.TORCH_CUDA }}
382380
shell: bash --noprofile --norc -xeuo pipefail {0}
383381
run: run-tests nightly-pytorch
384382

ci/test-matrix.yml

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@
2727
# job. Every key/value pair is written to GITHUB_ENV after the standard
2828
# environment-variable setup step, so the variables are visible to all
2929
# subsequent steps (including the cuda.bindings and cuda.core test
30-
# steps). Example:
30+
# steps). Nightly rows also use ENV.MODE as a matrix-filter tag (see
31+
# ci-nightly.yml). Examples:
3132
# ENV: { CUDA_PYTHON_PER_THREAD_DEFAULT_STREAM: '1' }
33+
# ENV: { MODE: 'nightly-pytorch', TORCH_VER: '2.12.1', TORCH_CUDA: 'cu126' }
3234

3335
linux:
3436
pull-request:
@@ -81,22 +83,23 @@ linux:
8183
- { ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '13.3.0', LOCAL_CTK: '0', GPU: 'rtx4090', GPU_COUNT: '1', DRIVER: 'latest', FLAVOR: 'wsl' }
8284
nightly:
8385
# nightly-pytorch
84-
- { MODE: 'nightly-pytorch', ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '12.6.3', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', TORCH_VER: '2.11.0', TORCH_CUDA: 'cu126' }
85-
- { MODE: 'nightly-pytorch', ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '13.0.2', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', TORCH_VER: '2.11.0', TORCH_CUDA: 'cu130' }
86-
- { MODE: 'nightly-pytorch', ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '12.6.3', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', TORCH_VER: '2.9.1', TORCH_CUDA: 'cu126' }
87-
- { MODE: 'nightly-pytorch', ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '13.0.2', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', TORCH_VER: '2.9.1', TORCH_CUDA: 'cu130' }
88-
- { MODE: 'nightly-pytorch', ARCH: 'arm64', PY_VER: '3.12', CUDA_VER: '12.6.3', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', TORCH_VER: '2.11.0', TORCH_CUDA: 'cu126' }
89-
- { MODE: 'nightly-pytorch', ARCH: 'arm64', PY_VER: '3.12', CUDA_VER: '13.0.2', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', TORCH_VER: '2.11.0', TORCH_CUDA: 'cu130' }
90-
- { MODE: 'nightly-pytorch', ARCH: 'arm64', PY_VER: '3.12', CUDA_VER: '12.6.3', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', TORCH_VER: '2.9.1', TORCH_CUDA: 'cu126' }
91-
- { MODE: 'nightly-pytorch', ARCH: 'arm64', PY_VER: '3.12', CUDA_VER: '13.0.2', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', TORCH_VER: '2.9.1', TORCH_CUDA: 'cu130' }
86+
- { ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '12.6.3', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', ENV: { MODE: 'nightly-pytorch', TORCH_VER: '2.12.1', TORCH_CUDA: 'cu126' } }
87+
- { ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '13.0.2', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', ENV: { MODE: 'nightly-pytorch', TORCH_VER: '2.12.1', TORCH_CUDA: 'cu130' } }
88+
- { ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '12.6.3', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', ENV: { MODE: 'nightly-pytorch', TORCH_VER: '2.9.1', TORCH_CUDA: 'cu126' } }
89+
- { ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '13.0.2', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', ENV: { MODE: 'nightly-pytorch', TORCH_VER: '2.9.1', TORCH_CUDA: 'cu130' } }
90+
- { ARCH: 'arm64', PY_VER: '3.12', CUDA_VER: '12.6.3', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', ENV: { MODE: 'nightly-pytorch', TORCH_VER: '2.12.1', TORCH_CUDA: 'cu126' } }
91+
- { ARCH: 'arm64', PY_VER: '3.12', CUDA_VER: '13.0.2', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', ENV: { MODE: 'nightly-pytorch', TORCH_VER: '2.12.1', TORCH_CUDA: 'cu130' } }
92+
- { ARCH: 'arm64', PY_VER: '3.12', CUDA_VER: '12.6.3', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', ENV: { MODE: 'nightly-pytorch', TORCH_VER: '2.9.1', TORCH_CUDA: 'cu126' } }
93+
- { ARCH: 'arm64', PY_VER: '3.12', CUDA_VER: '13.0.2', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', ENV: { MODE: 'nightly-pytorch', TORCH_VER: '2.9.1', TORCH_CUDA: 'cu130' } }
9294
# nightly-numba-cuda
93-
- { MODE: 'nightly-numba-cuda', ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '12.9.1', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest' }
94-
- { MODE: 'nightly-numba-cuda', ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '13.3.0', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: '580.65.06' }
95-
- { MODE: 'nightly-numba-cuda', ARCH: 'arm64', PY_VER: '3.12', CUDA_VER: '12.9.1', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest' }
96-
- { MODE: 'nightly-numba-cuda', ARCH: 'arm64', PY_VER: '3.12', CUDA_VER: '13.3.0', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest' }
97-
# nightly-standard (arm64 l4×2 — nightly-only per runner team request)
98-
- { MODE: 'nightly-standard', ARCH: 'arm64', PY_VER: '3.14', CUDA_VER: '13.3.0', LOCAL_CTK: '1', GPU: 'l4', GPU_COUNT: '2', DRIVER: 'latest' }
99-
- { MODE: 'nightly-standard', ARCH: 'arm64', PY_VER: '3.14t', CUDA_VER: '13.3.0', LOCAL_CTK: '1', GPU: 'l4', GPU_COUNT: '2', DRIVER: 'latest' }
95+
- { ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '12.9.1', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', ENV: { MODE: 'nightly-numba-cuda' } }
96+
- { ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '13.3.0', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: '580.65.06', ENV: { MODE: 'nightly-numba-cuda' } }
97+
- { ARCH: 'arm64', PY_VER: '3.12', CUDA_VER: '12.9.1', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', ENV: { MODE: 'nightly-numba-cuda' } }
98+
- { ARCH: 'arm64', PY_VER: '3.12', CUDA_VER: '13.3.0', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', ENV: { MODE: 'nightly-numba-cuda' } }
99+
# nightly-standard (arm64 nightly-only runners — per runner team request)
100+
- { ARCH: 'arm64', PY_VER: '3.14', CUDA_VER: '13.3.0', LOCAL_CTK: '1', GPU: 'gh200', GPU_COUNT: '1', DRIVER: 'latest', ENV: { MODE: 'nightly-standard' } }
101+
- { ARCH: 'arm64', PY_VER: '3.14', CUDA_VER: '13.3.0', LOCAL_CTK: '1', GPU: 'l4', GPU_COUNT: '2', DRIVER: 'latest', ENV: { MODE: 'nightly-standard' } }
102+
- { ARCH: 'arm64', PY_VER: '3.14t', CUDA_VER: '13.3.0', LOCAL_CTK: '1', GPU: 'l4', GPU_COUNT: '2', DRIVER: 'latest', ENV: { MODE: 'nightly-standard' } }
100103

101104
windows:
102105
pull-request:
@@ -124,10 +127,10 @@ windows:
124127
- { ARCH: 'amd64', PY_VER: '3.14', CUDA_VER: '13.3.0', LOCAL_CTK: '0', GPU: 'h100', GPU_COUNT: '2', DRIVER: 'latest', DRIVER_MODE: 'MCDM' }
125128
nightly:
126129
# nightly-pytorch
127-
- { MODE: 'nightly-pytorch', ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '12.6.3', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', DRIVER_MODE: 'TCC', TORCH_VER: '2.11.0', TORCH_CUDA: 'cu126' }
128-
- { MODE: 'nightly-pytorch', ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '13.0.2', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', DRIVER_MODE: 'TCC', TORCH_VER: '2.11.0', TORCH_CUDA: 'cu130' }
129-
- { MODE: 'nightly-pytorch', ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '12.6.3', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', DRIVER_MODE: 'TCC', TORCH_VER: '2.9.1', TORCH_CUDA: 'cu126' }
130-
- { MODE: 'nightly-pytorch', ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '13.0.2', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', DRIVER_MODE: 'TCC', TORCH_VER: '2.9.1', TORCH_CUDA: 'cu130' }
130+
- { ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '12.6.3', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', DRIVER_MODE: 'TCC', ENV: { MODE: 'nightly-pytorch', TORCH_VER: '2.12.1', TORCH_CUDA: 'cu126' } }
131+
- { ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '13.0.2', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', DRIVER_MODE: 'TCC', ENV: { MODE: 'nightly-pytorch', TORCH_VER: '2.12.1', TORCH_CUDA: 'cu130' } }
132+
- { ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '12.6.3', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', DRIVER_MODE: 'TCC', ENV: { MODE: 'nightly-pytorch', TORCH_VER: '2.9.1', TORCH_CUDA: 'cu126' } }
133+
- { ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '13.0.2', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', DRIVER_MODE: 'TCC', ENV: { MODE: 'nightly-pytorch', TORCH_VER: '2.9.1', TORCH_CUDA: 'cu130' } }
131134
# nightly-numba-cuda
132-
- { MODE: 'nightly-numba-cuda', ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '12.9.1', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', DRIVER_MODE: 'TCC' }
133-
- { MODE: 'nightly-numba-cuda', ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '13.3.0', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: '596.36', DRIVER_MODE: 'TCC' }
135+
- { ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '12.9.1', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: 'latest', DRIVER_MODE: 'TCC', ENV: { MODE: 'nightly-numba-cuda' } }
136+
- { ARCH: 'amd64', PY_VER: '3.12', CUDA_VER: '13.3.0', LOCAL_CTK: '0', GPU: 'l4', GPU_COUNT: '1', DRIVER: '596.36', DRIVER_MODE: 'TCC', ENV: { MODE: 'nightly-numba-cuda' } }

0 commit comments

Comments
 (0)