Skip to content

Commit b92649e

Browse files
committed
Merge remote-tracking branch 'origin/sycl' into llvmspirv_pulldown
2 parents 0fd909a + 16b7bcb commit b92649e

File tree

134 files changed

+2128
-1694
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+2128
-1694
lines changed

.github/workflows/sycl-containers.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ permissions: read-all
2828
jobs:
2929
build_and_push_images:
3030
if: github.repository == 'intel/llvm'
31-
name: Build and Push Docker Images
31+
name: "Containers"
3232
runs-on: ubuntu-latest
3333
permissions:
3434
packages: write

.github/workflows/sycl-linux-build.yml

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ jobs:
210210
# Emulate default value for manual dispatch as we've run out of available arguments.
211211
run: cmake --build $GITHUB_WORKSPACE/build --target ${{ inputs.build_target || 'sycl-toolchain' }}
212212
- name: check-llvm
213-
if: always() && !cancelled() && contains(inputs.changes, 'llvm')
213+
if: ${{ !cancelled() && contains(inputs.changes, 'llvm') }}
214214
env:
215215
# Can't inline to support possible quotes inside:
216216
BUILD_CONFIGURE_EXTRA_ARGS: ${{ inputs.build_configure_extra_args }}
@@ -222,7 +222,7 @@ jobs:
222222
223223
cmake --build $GITHUB_WORKSPACE/build --target check-llvm
224224
- name: check-clang
225-
if: always() && !cancelled() && contains(inputs.changes, 'clang')
225+
if: ${{ !cancelled() && contains(inputs.changes, 'clang') }}
226226
env:
227227
# Can't inline to support possible quotes inside:
228228
BUILD_CONFIGURE_EXTRA_ARGS: ${{ inputs.build_configure_extra_args }}
@@ -235,71 +235,71 @@ jobs:
235235
fi
236236
cmake --build $GITHUB_WORKSPACE/build --target check-clang
237237
- name: check-sycl
238-
if: always() && !cancelled() && contains(inputs.changes, 'sycl')
238+
if: ${{ !cancelled() && contains(inputs.changes, 'sycl') }}
239239
run: |
240240
# TODO consider moving this to Dockerfile.
241241
export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH
242242
cmake --build $GITHUB_WORKSPACE/build --target check-sycl
243243
- name: check-sycl-unittests
244-
if: always() && !cancelled() && contains(inputs.changes, 'sycl')
244+
if: ${{ !cancelled() && contains(inputs.changes, 'sycl') }}
245245
run: |
246246
# TODO consider moving this to Dockerfile.
247247
export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH
248248
cmake --build $GITHUB_WORKSPACE/build --target check-sycl-unittests
249249
- name: check-llvm-spirv
250-
if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv')
250+
if: ${{ !cancelled() && contains(inputs.changes, 'llvm_spirv') }}
251251
run: |
252252
cmake --build $GITHUB_WORKSPACE/build --target check-llvm-spirv
253253
- name: check-xptifw
254-
if: always() && !cancelled() && contains(inputs.changes, 'xptifw')
254+
if: ${{ !cancelled() && contains(inputs.changes, 'xptifw') }}
255255
run: |
256256
cmake --build $GITHUB_WORKSPACE/build --target check-xptifw
257257
- name: check-libclc
258-
if: always() && !cancelled() && contains(inputs.changes, 'libclc')
258+
if: ${{ !cancelled() && contains(inputs.changes, 'libclc') }}
259259
run: |
260260
cmake --build $GITHUB_WORKSPACE/build --target check-libclc
261261
- name: check-libdevice
262-
if: always() && !cancelled() && contains(inputs.changes, 'sycl')
262+
if: ${{ !cancelled() && contains(inputs.changes, 'sycl') }}
263263
run: |
264264
cmake --build $GITHUB_WORKSPACE/build --target check-libdevice
265265
- name: Check E2E test requirements
266-
if: always() && !cancelled() && !contains(inputs.changes, 'sycl')
266+
if: ${{ !cancelled() && !contains(inputs.changes, 'sycl') }}
267267
run: |
268268
# TODO consider moving this to Dockerfile.
269269
export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH
270270
LIT_OPTS="--allow-empty-runs" LIT_FILTER="e2e_test_requirements" cmake --build $GITHUB_WORKSPACE/build --target check-sycl
271271
- name: Install sycl-toolchain
272-
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }}
272+
if: ${{ !cancelled() && steps.build.conclusion == 'success' }}
273273
run: |
274274
cmake --build $GITHUB_WORKSPACE/build --target deploy-sycl-toolchain
275275
276276
- name: Pack toolchain release
277-
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' && inputs.release_toolchain_artifact != '' }}
277+
if: ${{ !cancelled() && steps.build.conclusion == 'success' && inputs.release_toolchain_artifact != '' }}
278278
run: tar -I '${{ steps.artifact_info.outputs.COMPRESS }}' -cf ${{ steps.artifact_info.outputs.ARCHIVE_NAME }} -C $GITHUB_WORKSPACE/toolchain .
279279
- name: Upload toolchain release
280-
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' && inputs.release_toolchain_artifact != '' }}
280+
if: ${{ !cancelled() && steps.build.conclusion == 'success' && inputs.release_toolchain_artifact != '' }}
281281
uses: actions/upload-artifact@v5
282282
with:
283283
name: ${{ inputs.release_toolchain_artifact }}
284284
path: ${{ steps.artifact_info.outputs.ARCHIVE_NAME }}
285285
retention-days: ${{ inputs.retention-days }}
286286

287287
- name: Install utilities
288-
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }}
288+
if: ${{ !cancelled() && steps.build.conclusion == 'success' }}
289289
run: |
290290
cmake --build $GITHUB_WORKSPACE/build --target install-sycl-test-utilities
291291
292292
- name: Additional Install for "--shared-libs" build
293-
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' && contains(inputs.build_configure_extra_args, '--shared-libs') }}
293+
if: ${{ !cancelled() && steps.build.conclusion == 'success' && contains(inputs.build_configure_extra_args, '--shared-libs') }}
294294
run: |
295295
cmake --build $GITHUB_WORKSPACE/build --target install-clang-libraries
296296
cmake --build $GITHUB_WORKSPACE/build --target install-llvm-libraries
297297
298298
- name: Pack toolchain
299-
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }}
299+
if: ${{ !cancelled() && steps.build.conclusion == 'success' }}
300300
run: tar -I '${{ steps.artifact_info.outputs.COMPRESS }}' -cf ${{ steps.artifact_info.outputs.ARCHIVE_NAME }} -C $GITHUB_WORKSPACE/toolchain .
301301
- name: Upload toolchain
302-
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }}
302+
if: ${{ !cancelled() && steps.build.conclusion == 'success' }}
303303
uses: actions/upload-artifact@v5
304304
with:
305305
name: ${{ inputs.toolchain_artifact }}
@@ -310,7 +310,7 @@ jobs:
310310
- name: Source OneAPI TBB vars.sh
311311
# Tasks that use the just built toolchain below, need extra environment
312312
# setup. No harm in it if all of those tasks would get skipped.
313-
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }}
313+
if: ${{ !cancelled() && steps.build.conclusion == 'success' }}
314314
run: |
315315
# https://github.com/actions/runner/issues/1964 prevents us from using
316316
# the ENTRYPOINT in the image.
@@ -327,7 +327,7 @@ jobs:
327327
rm env_before env_after
328328
329329
- name: Build E2E tests
330-
if: ${{ inputs.e2e_binaries_artifact && always() && !cancelled() && steps.build.conclusion == 'success' }}
330+
if: ${{ inputs.e2e_binaries_artifact && !cancelled() && steps.build.conclusion == 'success' }}
331331
uses: ./devops/actions/run-tests/e2e
332332
with:
333333
ref: ${{ inputs.ref || github.sha }}
@@ -338,11 +338,11 @@ jobs:
338338
extra_lit_opts: --param sycl_build_targets="spir;nvidia;amd"
339339

340340
- name: Remove E2E tests before spirv-backend run
341-
if: ${{ inputs.e2e_binaries_spirv_backend_artifact && always() && !cancelled() && steps.build.conclusion == 'success' }}
341+
if: ${{ inputs.e2e_binaries_spirv_backend_artifact && !cancelled() && steps.build.conclusion == 'success' }}
342342
run: rm -rf build-e2e
343343

344344
- name: Build E2E tests with SPIR-V Backend
345-
if: ${{ inputs.e2e_binaries_spirv_backend_artifact && always() && !cancelled() && steps.build.conclusion == 'success' }}
345+
if: ${{ inputs.e2e_binaries_spirv_backend_artifact && !cancelled() && steps.build.conclusion == 'success' }}
346346
uses: ./devops/actions/run-tests/e2e
347347
with:
348348
ref: ${{ inputs.ref || github.sha }}
@@ -353,11 +353,11 @@ jobs:
353353
extra_lit_opts: --param spirv-backend=True
354354

355355
- name: Remove E2E tests before preview-mode run
356-
if: ${{ inputs.e2e_binaries_preview_artifact && always() && !cancelled() && steps.build.conclusion == 'success' }}
356+
if: ${{ inputs.e2e_binaries_preview_artifact && !cancelled() && steps.build.conclusion == 'success' }}
357357
run: rm -rf build-e2e
358358

359359
- name: Build E2E tests in Preview Mode
360-
if: ${{ inputs.e2e_binaries_preview_artifact && always() && !cancelled() && steps.build.conclusion == 'success' }}
360+
if: ${{ inputs.e2e_binaries_preview_artifact && !cancelled() && steps.build.conclusion == 'success' }}
361361
uses: ./devops/actions/run-tests/e2e
362362
with:
363363
ref: ${{ inputs.ref || github.sha }}

.github/workflows/sycl-linux-precommit.yml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
build:
5252
name: Self build
5353
needs: [detect_changes]
54-
if: always() && success()
54+
if: success()
5555
uses: ./.github/workflows/sycl-linux-build.yml
5656
with:
5757
build_ref: ${{ github.sha }}
@@ -70,7 +70,7 @@ jobs:
7070
# Build and run native cpu e2e tests separately as cannot currently
7171
# build all the e2e tests
7272
build_run_native_cpu_e2e_tests:
73-
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
73+
if: ${{ !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
7474
runs-on: [Linux, build]
7575
needs: [build]
7676
container:
@@ -109,7 +109,7 @@ jobs:
109109
# The idea is to ensure that the code works with both CUDA versions.
110110
build_ubuntu2204:
111111
needs: [detect_changes]
112-
if: always() && !cancelled() && contains(needs.detect_changes.outputs.filters, 'ur_cuda_adapter')
112+
if: ${{ !cancelled() && contains(needs.detect_changes.outputs.filters, 'ur_cuda_adapter') }}
113113
uses: ./.github/workflows/sycl-linux-build.yml
114114
with:
115115
build_ref: ${{ github.sha }}
@@ -143,7 +143,7 @@ jobs:
143143
144144
E2E:
145145
needs: [build, detect_changes, compat_read_exclude]
146-
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
146+
if: ${{ !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
147147
permissions:
148148
contents: write
149149
packages: read
@@ -189,18 +189,22 @@ jobs:
189189
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
190190
extra_lit_opts: --param test-preview-mode=True
191191
binaries_artifact: e2e_bin_preview
192+
193+
# We're in an ABI-breaking window, so these don't make sense for now.
192194
- name: ABI compatibility / sycl-rel-6_2
193195
runner: '["Linux", "pvc"]'
194196
image: ghcr.io/intel/llvm/sycl_prebuilt_tests:sycl-rel-6_2
195197
target_devices: level_zero:gpu
196198
extra_lit_opts: '--param test-preview-mode=False --filter-out "${{ needs.compat_read_exclude.outputs.FILTER_6_2 }}"'
197199
binaries_artifact: 'in-container'
200+
skip_run: true
198201
- name: ABI compatibility / sycl-rel-6_3
199202
runner: '["Linux", "pvc"]'
200203
image: ghcr.io/intel/llvm/sycl_prebuilt_tests:sycl-rel-6_3
201204
target_devices: level_zero:gpu
202205
extra_lit_opts: '--param test-preview-mode=False --filter-out "${{ needs.compat_read_exclude.outputs.FILTER_6_3 }}"'
203206
binaries_artifact: 'in-container'
207+
skip_run: true
204208

205209
uses: ./.github/workflows/sycl-linux-run-tests.yml
206210
with:
@@ -229,7 +233,7 @@ jobs:
229233
(contains(needs.detect_changes.outputs.filters, 'devigccfg') || contains(needs.detect_changes.outputs.filters, 'drivers')) ||
230234
'false' }}
231235
# Run only if the PR does not have the 'ci-no-devigc' label.
232-
skip_run: ${{matrix.use_igc_dev && contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') || 'false'}}
236+
skip_run: ${{matrix.use_igc_dev && contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') || matrix.skip_run || 'false'}}
233237
env: ${{ matrix.env || (contains(needs.detect_changes.outputs.filters, 'esimd') && '{}' || '{"LIT_FILTER_OUT":"ESIMD/"}') }}
234238

235239
test-perf:
@@ -238,7 +242,7 @@ jobs:
238242
contents: write
239243
packages: read
240244
if: |
241-
always() && !cancelled()
245+
!cancelled()
242246
&& needs.build.outputs.build_conclusion == 'success'
243247
&& (contains(github.event.pull_request.labels.*.name, 'run-perf-tests')
244248
|| contains(needs.detect_changes.outputs.filters, 'perf-tests'))

.github/workflows/sycl-linux-run-tests.yml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,16 @@ on:
135135
default: 'false'
136136
required: False
137137

138+
in_workflow_call_mode:
139+
description: |
140+
Unlike `github.event_type` that captures the original trigger, we use
141+
this to determine how this particular workflow has been called. This
142+
isn't supposed to be specified by a caller and only relies on the
143+
default value.
144+
default: 'true'
145+
required: False
146+
type: string
147+
138148
workflow_dispatch:
139149
inputs:
140150
runner:
@@ -332,7 +342,9 @@ jobs:
332342
timeout-minutes: 60
333343
with:
334344
ref: ${{ inputs.tests_ref || inputs.repo_ref || github.sha }}
335-
binaries_artifact: ${{ inputs.binaries_artifact }}
345+
binaries_artifact: ${{ inputs.in_workflow_call_mode && inputs.binaries_artifact
346+
|| inputs.testing_mode == 'run-only' && 'in-container'
347+
|| '' }}
336348
testing_mode: ${{ inputs.testing_mode }}
337349
extra_cmake_args: ${{ inputs.extra_cmake_args }}
338350
target_devices: ${{ inputs.target_devices }}
@@ -349,7 +361,9 @@ jobs:
349361
ref: ${{ inputs.tests_ref || 'main' }}
350362
extra_cmake_args: ${{ inputs.extra_cmake_args }}
351363
testing_mode: ${{ inputs.testing_mode }}
352-
binaries_artifact: ${{ inputs.binaries_artifact }}
364+
binaries_artifact: ${{ inputs.in_workflow_call_mode && inputs.binaries_artifact
365+
|| inputs.testing_mode == 'run-only' && 'in-container'
366+
|| '' }}
353367
target_devices: ${{ inputs.target_devices }}
354368
retention-days: ${{ inputs.retention-days }}
355369

.github/workflows/sycl-nightly.yml

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585
permissions:
8686
contents: write
8787
packages: read
88-
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
88+
if: ${{ !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
8989
strategy:
9090
fail-fast: false
9191
matrix:
@@ -175,7 +175,7 @@ jobs:
175175
permissions:
176176
contents: write
177177
packages: read
178-
if: ${{ always() && !cancelled() && needs.ubuntu2404_oneapi_build.outputs.build_conclusion == 'success' }}
178+
if: ${{ !cancelled() && needs.ubuntu2404_oneapi_build.outputs.build_conclusion == 'success' }}
179179
uses: ./.github/workflows/sycl-linux-run-tests.yml
180180
with:
181181
name: Intel PVC L0 oneAPI
@@ -204,8 +204,7 @@ jobs:
204204
needs: build-win
205205
# Continue if build was successful.
206206
if: |
207-
always()
208-
&& !cancelled()
207+
!cancelled()
209208
&& needs.build-win.outputs.build_conclusion == 'success'
210209
strategy:
211210
fail-fast: false
@@ -215,6 +214,10 @@ jobs:
215214
runner: '["Windows", "gen12"]'
216215
target_devices: level_zero:gpu
217216

217+
- name: Intel L0 Arc GPU
218+
runner: '["Windows", arc"]'
219+
target_devices: level_zero:gpu
220+
218221
- name: Intel L0 Battlemage GPU
219222
runner: '["Windows", "bmg"]'
220223
target_devices: level_zero:gpu
@@ -228,7 +231,7 @@ jobs:
228231

229232
cuda-aws-start:
230233
needs: [ubuntu2204_build]
231-
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
234+
if: ${{ !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
232235
uses: ./.github/workflows/sycl-aws.yml
233236
secrets: inherit
234237
with:
@@ -239,7 +242,7 @@ jobs:
239242
permissions:
240243
contents: write
241244
packages: read
242-
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
245+
if: ${{ !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
243246
uses: ./.github/workflows/sycl-linux-run-tests.yml
244247
with:
245248
name: CUDA E2E
@@ -255,7 +258,7 @@ jobs:
255258

256259
cuda-aws-stop:
257260
needs: [cuda-aws-start, cuda-run-tests]
258-
if: always() && ${{ needs.cuda-aws-start.result != 'skipped' }}
261+
if: ${{ needs.cuda-aws-start.result != 'skipped' }}
259262
uses: ./.github/workflows/sycl-aws.yml
260263
secrets: inherit
261264
with:
@@ -266,7 +269,7 @@ jobs:
266269
permissions:
267270
contents: write
268271
packages: read
269-
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
272+
if: ${{ !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
270273
uses: ./.github/workflows/sycl-linux-run-tests.yml
271274
with:
272275
name: Build SYCL-CTS for Linux
@@ -285,7 +288,7 @@ jobs:
285288
permissions:
286289
contents: write
287290
packages: read
288-
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
291+
if: ${{ !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
289292
strategy:
290293
fail-fast: false
291294
matrix:
@@ -315,7 +318,7 @@ jobs:
315318

316319
build-sycl-cts-win:
317320
needs: build-win
318-
if: ${{ always() && !cancelled() && needs.build-win.outputs.build_conclusion == 'success' }}
321+
if: ${{ !cancelled() && needs.build-win.outputs.build_conclusion == 'success' }}
319322
uses: ./.github/workflows/sycl-windows-run-tests.yml
320323
with:
321324
name: Build SYCL-CTS for Windows
@@ -328,7 +331,7 @@ jobs:
328331

329332
run-sycl-cts-win:
330333
needs: [build-win, build-sycl-cts-win]
331-
if: ${{ always() && !cancelled() && needs.build-win.outputs.build_conclusion == 'success' }}
334+
if: ${{ !cancelled() && needs.build-win.outputs.build_conclusion == 'success' }}
332335
strategy:
333336
fail-fast: false
334337
matrix:
@@ -368,7 +371,7 @@ jobs:
368371
with:
369372
name: sycl_windows_default
370373
- name: Sign with sigstore/cosign
371-
uses: sigstore/gh-action-sigstore-python@v3.1.0
374+
uses: sigstore/gh-action-sigstore-python@f832326173235dcb00dd5d92cd3f353de3188e6c # v3.1.0
372375
with:
373376
inputs: sycl_linux.tar.gz sycl_windows.tar.gz
374377
- name: Compute tag
@@ -381,7 +384,7 @@ jobs:
381384
echo "TAG=$(date +'%Y-%m-%d')-${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT"
382385
fi
383386
- name: Upload binaries
384-
uses: softprops/action-gh-release@v2.4.1
387+
uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1
385388
with:
386389
files: |
387390
sycl_linux.tar.gz

0 commit comments

Comments
 (0)