5
5
strategy :
6
6
fail-fast : false
7
7
matrix :
8
- # TODO: align host-platform names with conda convention
9
8
host-platform :
10
- - linux-x64
9
+ - linux-64
11
10
- linux-aarch64
12
- - win-x64
11
+ - win-64
13
12
python-version :
14
- - " 3.13"
15
- - " 3.12"
16
- - " 3.11"
17
- - " 3.10"
13
+ # - "3.13"
14
+ # - "3.12"
15
+ # - "3.11"
16
+ # - "3.10"
18
17
- " 3.9"
19
18
cuda-version :
20
19
# Note: this is for build-time only.
21
20
- " 12.6.2"
22
- name : Build (${{ matrix.host-platform }}, Python " ${{ matrix.python-version }}" )
21
+ name : Build (${{ matrix.host-platform }}, Python ${{ matrix.python-version }}, CUDA ${{ matrix.cuda-version }} )
23
22
if : ${{ github.repository_owner == 'nvidia' }}
24
23
permissions :
25
24
id-token : write # This is required for configure-aws-credentials
26
25
contents : read # This is required for actions/checkout
27
- runs-on : ${{ (matrix.host-platform == 'linux-x64 ' && 'linux-amd64-cpu8') ||
26
+ runs-on : ${{ (matrix.host-platform == 'linux-64 ' && 'linux-amd64-cpu8') ||
28
27
(matrix.host-platform == 'linux-aarch64' && 'linux-arm64-cpu8') ||
29
- (matrix.host-platform == 'win-x64 ' && 'windows-2019') }}
30
- # (matrix.host-platform == 'win-x64 ' && 'windows-amd64-cpu8') }}
28
+ (matrix.host-platform == 'win-64 ' && 'windows-2019') }}
29
+ # (matrix.host-platform == 'win-64 ' && 'windows-amd64-cpu8') }}
31
30
outputs :
32
31
BUILD_CTK_VER : ${{ steps.pass_env.outputs.CUDA_VERSION }}
33
32
steps :
@@ -116,47 +115,47 @@ jobs:
116
115
host-platform : ${{ matrix.host-platform }}
117
116
cuda-version : ${{ matrix.cuda-version }}
118
117
119
- - name : Build cuda.bindings wheel
120
-
121
- env :
122
- CIBW_BUILD : ${{ env.CIBW_BUILD }}
123
- CIBW_ARCHS_LINUX : " native"
124
- CIBW_BUILD_VERBOSITY : 1
125
- # CIBW mounts the host filesystem under /host
126
- CIBW_ENVIRONMENT_LINUX : >
127
- CUDA_PATH=/host/${{ env.CUDA_PATH }}
128
- PARALLEL_LEVEL=${{ env.PARALLEL_LEVEL }}
129
- CIBW_ENVIRONMENT_WINDOWS : >
130
- CUDA_HOME="$(cygpath -w ${{ env.CUDA_PATH }})"
131
- # PARALLEL_LEVEL=${{ env.PARALLEL_LEVEL }}
132
- with :
133
- package-dir : ./cuda_bindings/
134
- output-dir : ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
135
-
136
- - name : List the cuda.bindings artifacts directory
137
- shell : bash --noprofile --norc -xeuo pipefail {0}
138
- run : |
139
- if [[ "${{ matrix.host-platform }}" == win* ]]; then
140
- export CHOWN=chown
141
- else
142
- export CHOWN="sudo chown"
143
- fi
144
- $CHOWN -R $(whoami) ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
145
- ls -lahR ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
146
-
147
- # TODO: enable this after NVIDIA/cuda-python#297 is resolved
148
- # - name: Check cuda.bindings wheel
149
- # shell: bash --noprofile --norc -xeuo pipefail {0}
150
- # run: |
151
- # twine check ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}/*.whl
152
-
153
- - name : Upload cuda.bindings build artifacts
154
- uses : actions/upload-artifact@v4
155
- with :
156
- name : ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}
157
- path : ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}/*.whl
158
- if-no-files-found : error
159
- overwrite : ' true'
118
+ # - name: Build cuda.bindings wheel
119
+
120
+ # env:
121
+ # CIBW_BUILD: ${{ env.CIBW_BUILD }}
122
+ # CIBW_ARCHS_LINUX: "native"
123
+ # CIBW_BUILD_VERBOSITY: 1
124
+ # # CIBW mounts the host filesystem under /host
125
+ # CIBW_ENVIRONMENT_LINUX: >
126
+ # CUDA_PATH=/host/${{ env.CUDA_PATH }}
127
+ # PARALLEL_LEVEL=${{ env.PARALLEL_LEVEL }}
128
+ # CIBW_ENVIRONMENT_WINDOWS: >
129
+ # CUDA_HOME="$(cygpath -w ${{ env.CUDA_PATH }})"
130
+ # # PARALLEL_LEVEL=${{ env.PARALLEL_LEVEL }}
131
+ # with:
132
+ # package-dir: ./cuda_bindings/
133
+ # output-dir: ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
134
+ #
135
+ # - name: List the cuda.bindings artifacts directory
136
+ # shell: bash --noprofile --norc -xeuo pipefail {0}
137
+ # run: |
138
+ # if [[ "${{ matrix.host-platform }}" == win* ]]; then
139
+ # export CHOWN=chown
140
+ # else
141
+ # export CHOWN="sudo chown"
142
+ # fi
143
+ # $CHOWN -R $(whoami) ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
144
+ # ls -lahR ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
145
+ #
146
+ # # TODO: enable this after NVIDIA/cuda-python#297 is resolved
147
+ # # - name: Check cuda.bindings wheel
148
+ # # shell: bash --noprofile --norc -xeuo pipefail {0}
149
+ # # run: |
150
+ # # twine check ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}/*.whl
151
+ #
152
+ # - name: Upload cuda.bindings build artifacts
153
+ # uses: actions/upload-artifact@v4
154
+ # with:
155
+ # name: ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}
156
+ # path: ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}/*.whl
157
+ # if-no-files-found: error
158
+ # overwrite: 'true'
160
159
161
160
- name : Pass environment variables to the next runner
162
161
id : pass_env
@@ -166,31 +165,39 @@ jobs:
166
165
test :
167
166
strategy :
168
167
fail-fast : false
168
+ # TODO: add driver version here
169
169
matrix :
170
- # TODO: align host-platform names with conda convention
171
170
host-platform :
172
- - linux-x64
171
+ - linux-64
173
172
- linux-aarch64
174
173
# TODO: enable testing once win-64 GPU runners are up
175
- # - win-x64
174
+ # - win-64
176
175
python-version :
177
- - " 3.13"
178
- - " 3.12"
179
- - " 3.11"
180
- - " 3.10"
176
+ # - "3.13"
177
+ # - "3.12"
178
+ # - "3.11"
179
+ # - "3.10"
181
180
- " 3.9"
182
181
cuda-version :
183
182
# Note: this is for test-time only.
184
183
- " 12.6.2"
185
184
- " 12.0.1"
186
185
- " 11.8.0"
187
- name : Test (${{ matrix.host-platform }}, CUDA ${{ matrix.cuda-version }}, Python "${{ matrix.python-version }}")
186
+ runner :
187
+ - default
188
+ include :
189
+ - host-platform : linux-64
190
+ python-version : " 3.12"
191
+ cuda-version : " 12.6.2"
192
+ runner : H100
193
+ name : Test (${{ matrix.host-platform }}, Python ${{ matrix.python-version }}, CUDA ${{ matrix.cuda-version }}, Runner ${{ matrix.runner }})
188
194
if : ${{ (github.repository_owner == 'nvidia') }}
189
195
permissions :
190
196
id-token : write # This is required for configure-aws-credentials
191
197
contents : read # This is required for actions/checkout
192
- runs-on : ${{ (matrix.host-platform == 'linux-x64' && 'linux-amd64-gpu-v100-latest-1') ||
193
- (matrix.host-platform == 'linux-aarch64' && 'linux-arm64-gpu-a100-latest-1') }}
198
+ runs-on : ${{ (matrix.runner == 'default' && matrix.host-platform == 'linux-64' && 'linux-amd64-gpu-v100-latest-1') ||
199
+ (matrix.runner == 'default' && matrix.host-platform == 'linux-aarch64' && 'linux-arm64-gpu-a100-latest-1') ||
200
+ (matrix.runner == 'H100' && 'linux-amd64-gpu-h100-latest-1-testing') }}
194
201
# Our self-hosted runners require a container
195
202
# TODO: use a different (nvidia?) container
196
203
container :
@@ -227,42 +234,35 @@ jobs:
227
234
echo "CUDA_BINDINGS_ARTIFACT_NAME=cuda-bindings-python${PYTHON_VERSION_FORMATTED}-cuda${{ needs.build.outputs.BUILD_CTK_VER }}-${{ matrix.host-platform }}-${{ github.sha }}" >> $GITHUB_ENV
228
235
echo "CUDA_BINDINGS_ARTIFACTS_DIR=$(realpath "$REPO_DIR/cuda_bindings/dist")" >> $GITHUB_ENV
229
236
230
- - name : Download bindings build artifacts
231
- uses : actions/download-artifact@v4
232
- with :
233
- name : ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}
234
- path : ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
235
-
236
- - name : Display structure of downloaded bindings artifacts
237
- shell : bash --noprofile --norc -xeuo pipefail {0}
238
- run : |
239
- pwd
240
- ls -lahR $CUDA_BINDINGS_ARTIFACTS_DIR
241
-
242
- - name : Download core build artifacts
243
- uses : actions/download-artifact@v4
244
- with :
245
- name : ${{ env.CUDA_CORE_ARTIFACT_NAME }}
246
- path : ${{ env.CUDA_CORE_ARTIFACTS_DIR }}
247
-
248
- - name : Display structure of downloaded core build artifacts
249
- shell : bash --noprofile --norc -xeuo pipefail {0}
250
- run : |
251
- pwd
252
- ls -lahR $CUDA_CORE_ARTIFACTS_DIR
237
+ # - name: Download bindings build artifacts
238
+ # uses: actions/download-artifact@v4
239
+ # with:
240
+ # name: ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}
241
+ # path: ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
242
+ #
243
+ # - name: Display structure of downloaded bindings artifacts
244
+ # shell: bash --noprofile --norc -xeuo pipefail {0}
245
+ # run: |
246
+ # pwd
247
+ # ls -lahR $CUDA_BINDINGS_ARTIFACTS_DIR
248
+ #
249
+ # - name: Download core build artifacts
250
+ # uses: actions/download-artifact@v4
251
+ # with:
252
+ # name: ${{ env.CUDA_CORE_ARTIFACT_NAME }}
253
+ # path: ${{ env.CUDA_CORE_ARTIFACTS_DIR }}
254
+ #
255
+ # - name: Display structure of downloaded core build artifacts
256
+ # shell: bash --noprofile --norc -xeuo pipefail {0}
257
+ # run: |
258
+ # pwd
259
+ # ls -lahR $CUDA_CORE_ARTIFACTS_DIR
253
260
254
261
- name : Set up Python ${{ matrix.python-version }}
255
262
uses : actions/setup-python@v5
256
263
with :
257
264
python-version : ${{ matrix.python-version }}
258
265
259
- # The cache action needs this
260
- - name : Install zstd
261
- shell : bash --noprofile --norc -xeuo pipefail {0}
262
- run : |
263
- apt update
264
- apt install zstd
265
-
266
266
- name : Set up mini CTK
267
267
uses : ./.github/actions/fetch_ctk
268
268
continue-on-error : false
0 commit comments