Skip to content

Commit df1c07e

Browse files
Test compat
1 parent 69a9503 commit df1c07e

File tree

3 files changed

+176
-158
lines changed

3 files changed

+176
-158
lines changed

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

Lines changed: 170 additions & 153 deletions
Original file line numberDiff line numberDiff line change
@@ -59,171 +59,188 @@ jobs:
5959
changes: ${{ needs.detect_changes.outputs.filters }}
6060
e2e_binaries_artifact: sycl_e2e_bin_default
6161

62-
# If a PR changes CUDA adapter, run the build on Ubuntu 22.04 as well.
63-
# Ubuntu 22.04 container has CUDA 12.1 installed while Ubuntu 24.0 image
64-
# has CUDA 12.6.1 installed.
65-
# The idea is to ensure that the code works with both CUDA versions.
66-
build_ubuntu2204:
67-
needs: [detect_changes]
68-
if: always() && !cancelled() && contains(needs.detect_changes.outputs.filters, 'ur_cuda_adapter')
69-
uses: ./.github/workflows/sycl-linux-build.yml
70-
with:
71-
build_ref: ${{ github.sha }}
72-
build_cache_root: "/__w/"
73-
build_artifact_suffix: "ubuntu22"
74-
build_cache_suffix: "ubuntu22"
75-
build_image: "ghcr.io/intel/llvm/ubuntu2204_build:latest"
76-
changes: ${{ needs.detect_changes.outputs.filters }}
77-
78-
run_prebuilt_e2e_tests:
62+
compatibility:
7963
needs: [build, detect_changes]
8064
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
81-
strategy:
82-
fail-fast: false
83-
matrix:
84-
include:
85-
- name: GEN 12 Integrated
86-
runner: '["Linux", "gen12"]'
87-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
88-
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
89-
extra_lit_opts: --param gpu-intel-gen12=True
90-
- name: NVIDIA/CUDA
91-
runner: '["Linux", "cuda"]'
92-
image_options: -u 1001 --gpus all --cap-add SYS_ADMIN
93-
target_devices: cuda:gpu
94-
- name: AMD/HIP
95-
runner: '["Linux", "amdgpu"]'
96-
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
97-
target_devices: hip:gpu
98-
extra_lit_opts: -j 1
99-
- name: Intel Arc A-Series Graphics
100-
runner: '["Linux", "arc"]'
101-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
102-
target_devices: level_zero:gpu;opencl:gpu;level_zero_v2:gpu
103-
extra_lit_opts: --param matrix-xmx8=True
104-
- name: E2E tests with dev igc on Intel Arc A-Series Graphics
105-
runner: '["Linux", "arc"]'
106-
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
107-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
108-
target_devices: level_zero:gpu
109-
extra_lit_opts: --param matrix-xmx8=True
110-
use_igc_dev: true
111-
env: '{"LIT_FILTER":"Matrix/"}'
112-
- name: E2E tests on Intel Ponte Vecchio GPU
113-
runner: '["Linux", "pvc"]'
114-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
115-
target_devices: level_zero:gpu;opencl:gpu;level_zero_v2:gpu
116-
- name: Dev IGC on Intel Ponte Vecchio GPU
117-
runner: '["Linux", "pvc"]'
118-
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
119-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
120-
target_devices: level_zero:gpu
121-
use_igc_dev: true
122-
env: '{"LIT_FILTER":"Matrix/"}'
123-
- name: Intel Battlemage Graphics
124-
runner: '["Linux", "bmg"]'
125-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
126-
target_devices: level_zero:gpu;level_zero_v2:gpu
127-
- name: SPIR-V Backend / Intel Battlemage Graphics
128-
runner: '["Linux", "bmg"]'
129-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
130-
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
131-
extra_lit_opts: --param spirv-backend=True
132-
e2e_binaries_artifact: sycl_e2e_bin_default_spirv_backend
133-
- name: Preview Mode
134-
runner: '["Linux", "gen12"]'
135-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
136-
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
137-
extra_lit_opts: --param test-preview-mode=True
138-
e2e_binaries_artifact: sycl_e2e_bin_default_preview
139-
14065
uses: ./.github/workflows/sycl-linux-run-tests.yml
14166
with:
142-
name: ${{ matrix.name }}
143-
runner: ${{ matrix.runner }}
144-
image: ${{ matrix.image }}
145-
image_options: ${{ matrix.image_options }}
146-
target_devices: ${{ matrix.target_devices }}
147-
extra_lit_opts: ${{ matrix.extra_lit_opts }}
67+
name: E2E Backward ABI compatibility
68+
runner: '["Linux", "pvc"]'
69+
image: ghcr.io/intel/llvm/sycl_e2e_binaries_6.1.0:latest
70+
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
71+
target_devices: level_zero:gpu
14872
repo_ref: ${{ github.sha }}
14973
sycl_toolchain_artifact: sycl_linux_default
15074
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
15175
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
152-
e2e_binaries_artifact: ${{ matrix.e2e_binaries_artifact || 'sycl_e2e_bin_default' }}
76+
# e2e_binaries_artifact: ${{ matrix.e2e_binaries_artifact || 'sycl_e2e_bin_default' }}
15377
e2e_testing_mode: 'run-only'
15478

155-
# Do not install drivers on AMD and CUDA runners.
156-
install_igc_driver: >-
157-
${{ !contains(matrix.target_devices, 'cuda') &&
158-
!contains(matrix.target_devices, 'hip') &&
159-
contains(needs.detect_changes.outputs.filters, 'drivers') }}
160-
install_dev_igc_driver: >-
161-
${{ !contains(matrix.target_devices, 'cuda') &&
162-
!contains(matrix.target_devices, 'hip') &&
163-
matrix.use_igc_dev &&
164-
(contains(needs.detect_changes.outputs.filters, 'devigccfg') || contains(needs.detect_changes.outputs.filters, 'drivers')) ||
165-
'false' }}
166-
# Run only if the PR does not have the 'ci-no-devigc' label.
167-
skip_run: ${{matrix.use_igc_dev && contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') || 'false'}}
168-
env: ${{ matrix.env || (contains(needs.detect_changes.outputs.filters, 'esimd') && '{}' || '{"LIT_FILTER_OUT":"ESIMD/"}') }}
79+
# # If a PR changes CUDA adapter, run the build on Ubuntu 22.04 as well.
80+
# # Ubuntu 22.04 container has CUDA 12.1 installed while Ubuntu 24.0 image
81+
# # has CUDA 12.6.1 installed.
82+
# # The idea is to ensure that the code works with both CUDA versions.
83+
# build_ubuntu2204:
84+
# needs: [detect_changes]
85+
# if: always() && !cancelled() && contains(needs.detect_changes.outputs.filters, 'ur_cuda_adapter')
86+
# uses: ./.github/workflows/sycl-linux-build.yml
87+
# with:
88+
# build_ref: ${{ github.sha }}
89+
# build_cache_root: "/__w/"
90+
# build_artifact_suffix: "ubuntu22"
91+
# build_cache_suffix: "ubuntu22"
92+
# build_image: "ghcr.io/intel/llvm/ubuntu2204_build:latest"
93+
# changes: ${{ needs.detect_changes.outputs.filters }}
16994

170-
test_benchmark_scripts:
171-
needs: [build, detect_changes]
172-
if: |
173-
always() && !cancelled()
174-
&& needs.build.outputs.build_conclusion == 'success'
175-
&& contains(needs.detect_changes.outputs.filters, 'benchmarks')
176-
uses: ./.github/workflows/sycl-linux-run-tests.yml
177-
with:
178-
name: Benchmark suite precommit testing
179-
runner: '["PVC_PERF"]'
180-
image: ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest
181-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
182-
target_devices: 'level_zero:gpu'
183-
tests_selector: benchmarks
184-
benchmark_upload_results: false
185-
benchmark_preset: 'Minimal'
186-
benchmark_dry_run: true
187-
repo_ref: ${{ github.sha }}
188-
sycl_toolchain_artifact: sycl_linux_default
189-
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
190-
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
95+
# run_prebuilt_e2e_tests:
96+
# needs: [build, detect_changes]
97+
# if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
98+
# strategy:
99+
# fail-fast: false
100+
# matrix:
101+
# include:
102+
# - name: GEN 12 Integrated
103+
# runner: '["Linux", "gen12"]'
104+
# image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
105+
# target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
106+
# extra_lit_opts: --param gpu-intel-gen12=True
107+
# - name: NVIDIA/CUDA
108+
# runner: '["Linux", "cuda"]'
109+
# image_options: -u 1001 --gpus all --cap-add SYS_ADMIN
110+
# target_devices: cuda:gpu
111+
# - name: AMD/HIP
112+
# runner: '["Linux", "amdgpu"]'
113+
# image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
114+
# target_devices: hip:gpu
115+
# extra_lit_opts: -j 1
116+
# - name: Intel Arc A-Series Graphics
117+
# runner: '["Linux", "arc"]'
118+
# image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
119+
# target_devices: level_zero:gpu;opencl:gpu;level_zero_v2:gpu
120+
# extra_lit_opts: --param matrix-xmx8=True
121+
# - name: E2E tests with dev igc on Intel Arc A-Series Graphics
122+
# runner: '["Linux", "arc"]'
123+
# image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
124+
# image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
125+
# target_devices: level_zero:gpu
126+
# extra_lit_opts: --param matrix-xmx8=True
127+
# use_igc_dev: true
128+
# env: '{"LIT_FILTER":"Matrix/"}'
129+
# - name: E2E tests on Intel Ponte Vecchio GPU
130+
# runner: '["Linux", "pvc"]'
131+
# image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
132+
# target_devices: level_zero:gpu;opencl:gpu;level_zero_v2:gpu
133+
# - name: Dev IGC on Intel Ponte Vecchio GPU
134+
# runner: '["Linux", "pvc"]'
135+
# image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
136+
# image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
137+
# target_devices: level_zero:gpu
138+
# use_igc_dev: true
139+
# env: '{"LIT_FILTER":"Matrix/"}'
140+
# - name: Intel Battlemage Graphics
141+
# runner: '["Linux", "bmg"]'
142+
# image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
143+
# target_devices: level_zero:gpu;level_zero_v2:gpu
144+
# - name: SPIR-V Backend / Intel Battlemage Graphics
145+
# runner: '["Linux", "bmg"]'
146+
# image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
147+
# target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
148+
# extra_lit_opts: --param spirv-backend=True
149+
# e2e_binaries_artifact: sycl_e2e_bin_default_spirv_backend
150+
# - name: Preview Mode
151+
# runner: '["Linux", "gen12"]'
152+
# image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
153+
# target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
154+
# extra_lit_opts: --param test-preview-mode=True
155+
# e2e_binaries_artifact: sycl_e2e_bin_default_preview
191156

192-
test-perf:
193-
needs: [build, detect_changes]
194-
if: |
195-
always() && !cancelled()
196-
&& needs.build.outputs.build_conclusion == 'success'
197-
&& (contains(github.event.pull_request.labels.*.name, 'run-perf-tests')
198-
|| contains(needs.detect_changes.outputs.filters, 'perf-tests'))
199-
strategy:
200-
fail-fast: false
201-
matrix:
202-
include:
203-
- name: Intel GEN12 Graphics system
204-
runner: '["Linux", "gen12"]'
205-
image_extra_opts: --device=/dev/dri
206-
- name: Intel Arc A-Series Graphics system
207-
runner: '["Linux", "arc"]'
208-
image_extra_opts: --device=/dev/dri
209-
- name: AMD system
210-
runner: '["Linux", "amdgpu"]'
211-
image_extra_opts: --device=/dev/dri --device=/dev/kfd
212-
- name: CUDA system
213-
runner: '["Linux", "cuda"]'
214-
image_extra_opts: --gpus all
215-
uses: ./.github/workflows/sycl-linux-run-tests.yml
216-
with:
217-
name: Perf tests on ${{ matrix.name }}
218-
runner: ${{ matrix. runner }}
219-
image_options: -u 1001 --privileged --cap-add SYS_ADMIN ${{ matrix.image_extra_opts }}
220-
target_devices: all
157+
# uses: ./.github/workflows/sycl-linux-run-tests.yml
158+
# with:
159+
# name: ${{ matrix.name }}
160+
# runner: ${{ matrix.runner }}
161+
# image: ${{ matrix.image }}
162+
# image_options: ${{ matrix.image_options }}
163+
# target_devices: ${{ matrix.target_devices }}
164+
# extra_lit_opts: ${{ matrix.extra_lit_opts }}
165+
# repo_ref: ${{ github.sha }}
166+
# sycl_toolchain_artifact: sycl_linux_default
167+
# sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
168+
# sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
169+
# e2e_binaries_artifact: ${{ matrix.e2e_binaries_artifact || 'sycl_e2e_bin_default' }}
170+
# e2e_testing_mode: 'run-only'
221171

222-
env: '{"LIT_FILTER":"PerformanceTests/"}'
223-
extra_lit_opts: -a -j 1 --param enable-perf-tests=True
172+
# # Do not install drivers on AMD and CUDA runners.
173+
# install_igc_driver: >-
174+
# ${{ !contains(matrix.target_devices, 'cuda') &&
175+
# !contains(matrix.target_devices, 'hip') &&
176+
# contains(needs.detect_changes.outputs.filters, 'drivers') }}
177+
# install_dev_igc_driver: >-
178+
# ${{ !contains(matrix.target_devices, 'cuda') &&
179+
# !contains(matrix.target_devices, 'hip') &&
180+
# matrix.use_igc_dev &&
181+
# (contains(needs.detect_changes.outputs.filters, 'devigccfg') || contains(needs.detect_changes.outputs.filters, 'drivers')) ||
182+
# 'false' }}
183+
# # Run only if the PR does not have the 'ci-no-devigc' label.
184+
# skip_run: ${{matrix.use_igc_dev && contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') || 'false'}}
185+
# env: ${{ matrix.env || (contains(needs.detect_changes.outputs.filters, 'esimd') && '{}' || '{"LIT_FILTER_OUT":"ESIMD/"}') }}
224186

225-
repo_ref: ${{ github.sha }}
187+
# test_benchmark_scripts:
188+
# needs: [build, detect_changes]
189+
# if: |
190+
# always() && !cancelled()
191+
# && needs.build.outputs.build_conclusion == 'success'
192+
# && contains(needs.detect_changes.outputs.filters, 'benchmarks')
193+
# uses: ./.github/workflows/sycl-linux-run-tests.yml
194+
# with:
195+
# name: Benchmark suite precommit testing
196+
# runner: '["PVC_PERF"]'
197+
# image: ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest
198+
# image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
199+
# target_devices: 'level_zero:gpu'
200+
# tests_selector: benchmarks
201+
# benchmark_upload_results: false
202+
# benchmark_preset: 'Minimal'
203+
# benchmark_dry_run: true
204+
# repo_ref: ${{ github.sha }}
205+
# sycl_toolchain_artifact: sycl_linux_default
206+
# sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
207+
# sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
226208

227-
sycl_toolchain_artifact: sycl_linux_default
228-
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
229-
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
209+
# test-perf:
210+
# needs: [build, detect_changes]
211+
# if: |
212+
# always() && !cancelled()
213+
# && needs.build.outputs.build_conclusion == 'success'
214+
# && (contains(github.event.pull_request.labels.*.name, 'run-perf-tests')
215+
# || contains(needs.detect_changes.outputs.filters, 'perf-tests'))
216+
# strategy:
217+
# fail-fast: false
218+
# matrix:
219+
# include:
220+
# - name: Intel GEN12 Graphics system
221+
# runner: '["Linux", "gen12"]'
222+
# image_extra_opts: --device=/dev/dri
223+
# - name: Intel Arc A-Series Graphics system
224+
# runner: '["Linux", "arc"]'
225+
# image_extra_opts: --device=/dev/dri
226+
# - name: AMD system
227+
# runner: '["Linux", "amdgpu"]'
228+
# image_extra_opts: --device=/dev/dri --device=/dev/kfd
229+
# - name: CUDA system
230+
# runner: '["Linux", "cuda"]'
231+
# image_extra_opts: --gpus all
232+
# uses: ./.github/workflows/sycl-linux-run-tests.yml
233+
# with:
234+
# name: Perf tests on ${{ matrix.name }}
235+
# runner: ${{ matrix. runner }}
236+
# image_options: -u 1001 --privileged --cap-add SYS_ADMIN ${{ matrix.image_extra_opts }}
237+
# target_devices: all
238+
239+
# env: '{"LIT_FILTER":"PerformanceTests/"}'
240+
# extra_lit_opts: -a -j 1 --param enable-perf-tests=True
241+
242+
# repo_ref: ${{ github.sha }}
243+
244+
# sycl_toolchain_artifact: sycl_linux_default
245+
# sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
246+
# sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,10 @@ on:
6060

6161
e2e_binaries_artifact:
6262
description: |
63-
Must be set if `e2e_testing_mode` is equal to `run-only` and the
64-
artifact must exist. Can be set in other modes resulting in artifact
65-
upload.
63+
When set in modes other than `run-only` results in artifact upload.
64+
For `run-only` mode, if specified, means downloading pre-built bines
65+
from the artifact, otherwise they are expected to be part of the
66+
container.
6667
type: string
6768
default: ''
6869
required: False

devops/actions/run-tests/e2e/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ runs:
3333
sycl/test-e2e
3434
3535
- name: Download E2E Binaries
36-
if: inputs.testing_mode == 'run-only'
36+
if: ${{ inputs.testing_mode == 'run-only' && inputs.binaries_artifact }}
3737
uses: actions/download-artifact@v4
3838
with:
3939
name: ${{ inputs.binaries_artifact }}
4040
- name: Extract E2E Binaries
41-
if: inputs.testing_mode == 'run-only'
41+
if: ${{ inputs.testing_mode == 'run-only' && inputs.binaries_artifact }}
4242
shell: bash
4343
run: |
4444
mkdir build-e2e

0 commit comments

Comments
 (0)