Skip to content

Commit 16914cb

Browse files
committed
Merge remote-tracking branch 'origin/sycl' into llvmspirv_pulldown
Conflicts: clang/test/Driver/linker-wrapper.c
2 parents 64daf45 + 70f92a0 commit 16914cb

File tree

190 files changed

+4763
-3262
lines changed

Some content is hidden

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

190 files changed

+4763
-3262
lines changed

.github/workflows/sycl-issues-ping-assignee.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
run:
2121
permissions:
2222
issues: write
23-
runs-on: ubuntu-20.04
23+
runs-on: ubuntu-latest
2424
env:
2525
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2626
REPO: ${{ github.repository }}
@@ -39,7 +39,7 @@ jobs:
3939
4040
- name: Filter issues and ping
4141
run: |
42-
days_to_stale=60
42+
days_to_stale=90
4343
current_time=$(date +%s)
4444
4545
cat issues.json | jq -c '.[]' | while read -r issue; do

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

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ on:
1414
build_image:
1515
type: string
1616
required: false
17-
default: "ghcr.io/intel/llvm/ubuntu2404_build:latest"
17+
default: "ghcr.io/intel/llvm/ubuntu2404_intel_drivers:alldeps"
1818
build_ref:
1919
type: string
2020
required: false
@@ -40,16 +40,13 @@ on:
4040
description: 'Filter matches for the changed files in the PR'
4141
default: '[llvm, clang, sycl, llvm_spirv, xptifw, libclc, libdevice]'
4242
required: false
43-
merge_ref:
44-
description: |
45-
Commit-ish to merge post-checkout if non-empty. Must be reachable from
46-
the default_branch input paramter.
47-
type: string
48-
default: 'FETCH_HEAD'
4943
retention-days:
5044
description: 'Artifacts retention period'
5145
type: string
5246
default: 3
47+
e2e_binaries_artifact:
48+
type: string
49+
required: False
5350

5451
outputs:
5552
build_conclusion:
@@ -70,7 +67,7 @@ on:
7067
build_image:
7168
type: choice
7269
options:
73-
- "ghcr.io/intel/llvm/sycl_ubuntu2204_nightly:build"
70+
- 'ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest'
7471
cc:
7572
type: choice
7673
options:
@@ -150,7 +147,6 @@ jobs:
150147
with:
151148
path: src
152149
ref: ${{ inputs.build_ref || github.sha }}
153-
merge_ref: ${{ inputs.merge_ref }}
154150
cache_path: "/__w/repo_cache/"
155151
- name: Setup oneAPI env
156152
if: ${{ inputs.cc == 'icx' || inputs.cxx == 'icpx' }}
@@ -199,9 +195,6 @@ jobs:
199195
cmake --build $GITHUB_WORKSPACE/build --target check-sycl-unittests
200196
- name: check-llvm-spirv
201197
if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv')
202-
# Temporary workaround to disable running tests requiring spirv-tools.
203-
env:
204-
LIT_OPTS: "--param disable-spirv-tools=True"
205198
run: |
206199
cmake --build $GITHUB_WORKSPACE/build --target check-llvm-spirv
207200
- name: check-xptifw
@@ -252,3 +245,37 @@ jobs:
252245
name: sycl_linux_${{ inputs.build_artifact_suffix }}
253246
path: ${{ steps.artifact_info.outputs.ARCHIVE_NAME }}
254247
retention-days: ${{ inputs.retention-days }}
248+
249+
- name: Copy toolchain
250+
if: ${{ inputs.e2e_binaries_artifact && always() && !cancelled() && steps.build.conclusion == 'success' }}
251+
# We must have the compiler in the same location as it will be in the E2E
252+
# run-tests job.
253+
run: cp -r $GITHUB_WORKSPACE/build/install $GITHUB_WORKSPACE/toolchain
254+
255+
- name: Source OneAPI TBB vars.sh
256+
if: ${{ inputs.e2e_binaries_artifact && always() && !cancelled() && steps.build.conclusion == 'success' }}
257+
shell: bash
258+
run: |
259+
# https://github.com/actions/runner/issues/1964 prevents us from using
260+
# the ENTRYPOINT in the image.
261+
env | sort > env_before
262+
if [ -e /runtimes/oneapi-tbb/env/vars.sh ]; then
263+
source /runtimes/oneapi-tbb/env/vars.sh;
264+
elif [ -e /opt/runtimes/oneapi-tbb/env/vars.sh ]; then
265+
source /opt/runtimes/oneapi-tbb/env/vars.sh;
266+
else
267+
echo "no TBB vars in /opt/runtimes or /runtimes";
268+
fi
269+
env | sort > env_after
270+
comm -13 env_before env_after >> $GITHUB_ENV
271+
rm env_before env_after
272+
273+
- name: Build E2E tests
274+
if: ${{ inputs.e2e_binaries_artifact && always() && !cancelled() && steps.build.conclusion == 'success' }}
275+
uses: ./devops/actions/run-tests/e2e
276+
with:
277+
ref: ${{ inputs.ref || github.sha }}
278+
testing_mode: build-only
279+
target_devices: all
280+
binaries_artifact: ${{ inputs.e2e_binaries_artifact }}
281+
cxx_compiler: $GITHUB_WORKSPACE/toolchain/bin/clang++

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ jobs:
7272
# No idea why but that seems to work and be in sync with the main
7373
# pre-commit workflow.
7474
ref: ${{ github.event.workflow_run.referenced_workflows[0].sha }}
75-
merge_ref: ''
7675

7776
sycl_toolchain_artifact: sycl_linux_default
7877
sycl_toolchain_archive: llvm_sycl.tar.zst

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

Lines changed: 3 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@ jobs:
4141
uses: ./.github/workflows/sycl-linux-build.yml
4242
with:
4343
build_ref: ${{ github.sha }}
44-
merge_ref: ''
4544
build_cache_root: "/__w/"
4645
build_artifact_suffix: "default"
4746
build_cache_suffix: "default"
4847
# Docker image has last nightly pre-installed and added to the PATH
49-
build_image: "ghcr.io/intel/llvm/sycl_ubuntu2204_nightly:build"
48+
build_image: "ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest"
5049
cc: clang
5150
cxx: clang++
5251
changes: ${{ needs.detect_changes.outputs.filters }}
52+
e2e_binaries_artifact: sycl_e2e_bin_default
5353

5454
determine_arc_tests:
5555
name: Decide which Arc tests to run
@@ -73,31 +73,15 @@ jobs:
7373
echo 'arc_tests="Matrix/"' >> "$GITHUB_OUTPUT"
7474
fi
7575
76-
build_e2e_tests:
77-
needs: [build]
78-
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
79-
uses: ./.github/workflows/sycl-linux-run-tests.yml
80-
with:
81-
name: Build e2e tests
82-
runner: '["Linux", "build"]'
83-
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:alldeps
84-
image_options: -u 1001
85-
ref: ${{ github.sha }}
86-
merge_ref: ''
87-
sycl_toolchain_artifact: sycl_linux_default
88-
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
89-
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
90-
e2e_testing_mode: 'build-only'
9176
run_prebuilt_e2e_tests:
92-
needs: [build, build_e2e_tests]
77+
needs: [build]
9378
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
9479
strategy:
9580
fail-fast: false
9681
matrix:
9782
include:
9883
- name: Intel
9984
runner: '["Linux", "gen12"]'
100-
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
10185
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
10286
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
10387
reset_intel_gpu: true
@@ -106,13 +90,11 @@ jobs:
10690
with:
10791
name: ${{ matrix.name }}
10892
runner: ${{ matrix.runner }}
109-
image: ${{ matrix.image }}
11093
image_options: ${{ matrix.image_options }}
11194
target_devices: ${{ matrix.target_devices }}
11295
extra_lit_opts: --param fallback-to-build-if-requires-build-and-run=True ${{ matrix.extra_lit_opts }}
11396
reset_intel_gpu: ${{ matrix.reset_intel_gpu }}
11497
ref: ${{ github.sha }}
115-
merge_ref: ''
11698
sycl_toolchain_artifact: sycl_linux_default
11799
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
118100
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
@@ -128,18 +110,15 @@ jobs:
128110
include:
129111
- name: NVIDIA/CUDA
130112
runner: '["Linux", "cuda"]'
131-
image: ghcr.io/intel/llvm/ubuntu2404_build:latest
132113
image_options: -u 1001 --gpus all --cap-add SYS_ADMIN
133114
target_devices: cuda:gpu
134115
- name: AMD/HIP
135116
runner: '["Linux", "amdgpu"]'
136-
image: ghcr.io/intel/llvm/ubuntu2404_build:latest
137117
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
138118
target_devices: hip:gpu
139119
reset_intel_gpu: false
140120
- name: E2E tests on Intel Arc A-Series Graphics
141121
runner: '["Linux", "arc"]'
142-
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
143122
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
144123
target_devices: level_zero:gpu;opencl:gpu
145124
reset_intel_gpu: true
@@ -156,7 +135,6 @@ jobs:
156135
use_igc_dev: true
157136
- name: E2E tests on Intel Ponte Vecchio GPU
158137
runner: '["Linux", "pvc"]'
159-
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
160138
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
161139
target_devices: level_zero:gpu;opencl:gpu
162140
extra_lit_opts: -j 50
@@ -194,7 +172,6 @@ jobs:
194172
skip_run: ${{matrix.use_igc_dev && contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') || 'false'}}
195173

196174
ref: ${{ github.sha }}
197-
merge_ref: ''
198175

199176
sycl_toolchain_artifact: sycl_linux_default
200177
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
@@ -214,27 +191,22 @@ jobs:
214191
include:
215192
- name: Intel GEN12 Graphics system
216193
runner: '["Linux", "gen12"]'
217-
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
218194
image_extra_opts: --device=/dev/dri
219195
reset_intel_gpu: true
220196
- name: Intel Arc A-Series Graphics system
221197
runner: '["Linux", "arc"]'
222-
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
223198
image_extra_opts: --device=/dev/dri
224199
reset_intel_gpu: true
225200
- name: AMD system
226201
runner: '["Linux", "amdgpu"]'
227-
image: ghcr.io/intel/llvm/ubuntu2404_build:latest
228202
image_extra_opts: --device=/dev/dri --device=/dev/kfd
229203
- name: CUDA system
230204
runner: '["Linux", "cuda"]'
231-
image: ghcr.io/intel/llvm/ubuntu2404_build:latest
232205
image_extra_opts: --gpus all
233206
uses: ./.github/workflows/sycl-linux-run-tests.yml
234207
with:
235208
name: Perf tests on ${{ matrix.name }}
236209
runner: ${{ matrix. runner }}
237-
image: ${{ matrix.image }}
238210
image_options: -u 1001 --privileged --cap-add SYS_ADMIN ${{ matrix.image_extra_opts }}
239211
target_devices: all
240212
reset_intel_gpu: ${{ matrix.reset_intel_gpu }}
@@ -243,7 +215,6 @@ jobs:
243215
extra_lit_opts: -a -j 1 --param enable-perf-tests=True
244216

245217
ref: ${{ github.sha }}
246-
merge_ref: ''
247218

248219
sycl_toolchain_artifact: sycl_linux_default
249220
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}

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

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212
required: True
1313
image:
1414
type: string
15-
required: True
15+
required: False
1616
image_options:
1717
type: string
1818
required: True
@@ -38,13 +38,6 @@ on:
3838
ref:
3939
type: string
4040
required: True
41-
merge_ref:
42-
description: |
43-
Commit-ish to merge post-checkout if non-empty. Must be reachable from
44-
the default_branch input paramter.
45-
type: string
46-
default: 'FETCH_HEAD'
47-
required: False
4841

4942
sycl_toolchain_artifact:
5043
type: string
@@ -61,23 +54,18 @@ on:
6154

6255
e2e_binaries_artifact:
6356
description: |
64-
By setting this the E2E binaries folder will not be created, rather it
65-
will be downloaded and extracted from the specified artifact. When
66-
running tests in `run-only` mode this must be provided.
57+
Must be set if `e2e_testing_mode` is equal to `run-only` and the
58+
artifact must exist. Can be set in other modes resulting in artifact
59+
upload.
6760
type: string
6861
default: ''
6962
required: False
7063
e2e_testing_mode:
7164
description: |
7265
Testing mode to run E2E tests in, can be either `full`, `build-only`
73-
or `run-only`. In `build-only` mode an artifact of the E2E binaries
74-
will be uploaded.
66+
or `run-only`.
7567
type: string
7668
default: 'full'
77-
artifact_suffix:
78-
description: 'Suffix for E2E binaries artifact that is output when in `build-only`.'
79-
type: string
80-
default: 'default'
8169
retention-days:
8270
description: 'E2E/SYCL-CTS binaries artifact retention period.'
8371
type: string
@@ -126,25 +114,29 @@ on:
126114
- '["Linux", "pvc"]'
127115
- '["cts-cpu"]'
128116
- '["Linux", "build"]'
117+
- '["cuda"]'
129118
image:
130119
type: choice
131120
options:
132121
- 'ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest'
122+
- 'ghcr.io/intel/llvm/ubuntu2404_intel_drivers:alldeps'
133123
image_options:
134124
description: |
135125
Use option with "--device=/dev/kfd" for AMDGPU, without it for the rest.
136126
type: choice
137127
options:
138-
- '-u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN'
139128
- '-u 1001 --device=/dev/dri --device=/dev/kfd --privileged --cap-add SYS_ADMIN'
129+
- '-u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN'
130+
- '-u 1001 --gpus all --cap-add SYS_ADMIN'
140131
target_devices:
141132
type: choice
142133
options:
134+
- 'level_zero:gpu'
143135
- 'opencl:cpu'
144136
- 'opencl:gpu'
145137
- 'opencl:fpga'
146-
- 'level_zero:gpu'
147138
- 'hip:gpu'
139+
- 'cuda:gpu'
148140
tests_selector:
149141
type: choice
150142
options:
@@ -194,7 +186,7 @@ jobs:
194186
name: ${{ inputs.name }}
195187
runs-on: ${{ fromJSON(inputs.runner) }}
196188
container:
197-
image: ${{ inputs.image }}
189+
image: ${{ inputs.image || 'ghcr.io/intel/llvm/ubuntu2404_intel_drivers:alldeps'}}
198190
options: ${{ inputs.image_options }}
199191
env: ${{ fromJSON(inputs.env) }}
200192
steps:
@@ -296,13 +288,11 @@ jobs:
296288
uses: ./devops/actions/run-tests/e2e
297289
with:
298290
ref: ${{ inputs.ref || github.sha }}
299-
merge_ref: ${{ inputs.merge_ref }}
300-
e2e_binaries_artifact: ${{ inputs.e2e_binaries_artifact }}
291+
binaries_artifact: ${{ inputs.e2e_binaries_artifact }}
292+
testing_mode: ${{ inputs.e2e_testing_mode }}
301293
extra_cmake_args: ${{ inputs.extra_cmake_args }}
302-
e2e_testing_mode: ${{ inputs.e2e_testing_mode }}
303294
target_devices: ${{ inputs.target_devices }}
304295
extra_lit_opts: ${{ inputs.extra_lit_opts }}
305-
artifact_suffix: ${{ inputs.artifact_suffix }}
306296
retention-days: ${{ inputs.retention-days }}
307297

308298
- name: Run SYCL CTS Tests

0 commit comments

Comments
 (0)