@@ -40,12 +40,8 @@ concurrency:
4040permissions : read-all
4141
4242jobs :
43- detect_changes :
44- uses : ./.github/workflows/sycl-detect-changes.yml
45-
4643 build :
4744 name : Self build
48- needs : [detect_changes]
4945 if : always() && success()
5046 uses : ./.github/workflows/sycl-linux-build.yml
5147 with :
@@ -56,172 +52,41 @@ jobs:
5652 build_image : " ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest"
5753 cc : clang
5854 cxx : clang++
59- changes : ${{ needs.detect_changes.outputs.filters }}
55+ changes : ' []'
56+ build_configure_extra_args : --disable-preview-lib
6057
6158 toolchain_artifact : sycl_linux_default
62- e2e_binaries_artifact : e2e_bin
63- e2e_binaries_preview_artifact : e2e_bin_preview
64-
65- # If a PR changes CUDA adapter, run the build on Ubuntu 22.04 as well.
66- # Ubuntu 22.04 container has CUDA 12.1 installed while Ubuntu 24.0 image
67- # has CUDA 12.6.1 installed.
68- # The idea is to ensure that the code works with both CUDA versions.
69- build_ubuntu2204 :
70- needs : [detect_changes]
71- if : always() && !cancelled() && contains(needs.detect_changes.outputs.filters, 'ur_cuda_adapter')
72- uses : ./.github/workflows/sycl-linux-build.yml
73- with :
74- build_ref : ${{ github.sha }}
75- build_cache_root : " /__w/"
76- build_cache_suffix : " ubuntu22"
77- build_image : " ghcr.io/intel/llvm/ubuntu2204_build:latest"
78- changes : ${{ needs.detect_changes.outputs.filters }}
79-
80- toolchain_artifact : sycl_linux_ubuntu22
8159
82- run_prebuilt_e2e_tests :
83- needs : [build, detect_changes]
60+ compat_read_exclude :
61+ name : Read compatibility testing exclude list
62+ runs-on : [Linux, build]
63+ outputs :
64+ FILTER : ${{ steps.result.outputs.FILTER }}
65+ steps :
66+ - uses : actions/checkout@v4
67+ with :
68+ sparse-checkout : |
69+ devops/
70+ - name : Register cleanup after job is finished
71+ uses : ./devops/actions/cleanup
72+ - id : result
73+ shell : bash
74+ run : |
75+ echo FILTER="$(grep -v '^#\|^\W*$' devops/compat_ci_exclude.sycl-rel-6_2 | paste -sd '|')" >> $GITHUB_OUTPUT
76+
77+
78+ compatibility :
79+ needs : [build, compat_read_exclude]
8480 if : ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
85- strategy :
86- fail-fast : false
87- matrix :
88- include :
89- - name : GEN 12 Integrated
90- runner : ' ["Linux", "gen12"]'
91- image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
92- target_devices : level_zero:gpu;opencl:gpu;opencl:cpu
93- extra_lit_opts : --param gpu-intel-gen12=True
94- - name : NVIDIA/CUDA
95- runner : ' ["Linux", "cuda"]'
96- image_options : -u 1001 --gpus all --cap-add SYS_ADMIN
97- target_devices : cuda:gpu
98- - name : AMD/HIP
99- runner : ' ["Linux", "amdgpu"]'
100- image_options : -u 1001 --device=/dev/dri --device=/dev/kfd
101- target_devices : hip:gpu
102- extra_lit_opts : -j 1
103- - name : Intel Arc A-Series Graphics
104- runner : ' ["Linux", "arc"]'
105- image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
106- target_devices : level_zero:gpu;opencl:gpu;level_zero_v2:gpu
107- extra_lit_opts : --param matrix-xmx8=True
108- - name : E2E tests with dev igc on Intel Arc A-Series Graphics
109- runner : ' ["Linux", "arc"]'
110- image : ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
111- image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
112- target_devices : level_zero:gpu
113- extra_lit_opts : --param matrix-xmx8=True
114- use_igc_dev : true
115- env : ' {"LIT_FILTER":"Matrix/"}'
116- - name : E2E tests on Intel Ponte Vecchio GPU
117- runner : ' ["Linux", "pvc"]'
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- - name : Dev IGC on Intel Ponte Vecchio GPU
121- runner : ' ["Linux", "pvc"]'
122- image : ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
123- image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
124- target_devices : level_zero:gpu
125- use_igc_dev : true
126- env : ' {"LIT_FILTER":"Matrix/"}'
127- - name : 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_v1:gpu;level_zero_v2:gpu
131- - name : Preview Mode
132- runner : ' ["Linux", "gen12"]'
133- image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
134- target_devices : level_zero:gpu;opencl:gpu;opencl:cpu
135- extra_lit_opts : --param test-preview-mode=True
136- e2e_binaries_artifact : e2e_bin_preview
137-
138- uses : ./.github/workflows/sycl-linux-run-tests.yml
139- with :
140- name : ${{ matrix.name }}
141- runner : ${{ matrix.runner }}
142- image : ${{ matrix.image }}
143- image_options : ${{ matrix.image_options }}
144- target_devices : ${{ matrix.target_devices }}
145- extra_lit_opts : ${{ matrix.extra_lit_opts }}
146- repo_ref : ${{ github.sha }}
147- toolchain_artifact : ${{ needs.build.outputs.toolchain_artifact }}
148- toolchain_artifact_filename : ${{ needs.build.outputs.toolchain_artifact_filename }}
149- toolchain_decompress_command : ${{ needs.build.outputs.toolchain_decompress_command }}
150- e2e_binaries_artifact : ${{ matrix.e2e_binaries_artifact || 'e2e_bin' }}
151- e2e_testing_mode : ' run-only'
152-
153- # Do not install drivers on AMD and CUDA runners.
154- install_igc_driver : >-
155- ${{ !contains(matrix.target_devices, 'cuda') &&
156- !contains(matrix.target_devices, 'hip') &&
157- contains(needs.detect_changes.outputs.filters, 'drivers') }}
158- install_dev_igc_driver : >-
159- ${{ !contains(matrix.target_devices, 'cuda') &&
160- !contains(matrix.target_devices, 'hip') &&
161- matrix.use_igc_dev &&
162- (contains(needs.detect_changes.outputs.filters, 'devigccfg') || contains(needs.detect_changes.outputs.filters, 'drivers')) ||
163- 'false' }}
164- # Run only if the PR does not have the 'ci-no-devigc' label.
165- skip_run : ${{matrix.use_igc_dev && contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') || 'false'}}
166- env : ${{ matrix.env || (contains(needs.detect_changes.outputs.filters, 'esimd') && '{}' || '{"LIT_FILTER_OUT":"ESIMD/"}') }}
167-
168- test_benchmark_scripts :
169- needs : [build, detect_changes]
170- if : |
171- always() && !cancelled()
172- && needs.build.outputs.build_conclusion == 'success'
173- && contains(needs.detect_changes.outputs.filters, 'benchmarks')
17481 uses : ./.github/workflows/sycl-linux-run-tests.yml
17582 with :
176- name : Benchmark suite precommit testing
177- runner : ' ["PVC_PERF "]'
178- image : ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest
83+ name : E2E Backward ABI compatibility
84+ runner : ' ["Linux", "pvc "]'
85+ image : ghcr.io/intel/llvm/sycl_prebuilt_tests:sycl-rel-6_2
17986 image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
180- target_devices : ' level_zero:gpu'
181- tests_selector : benchmarks
182- benchmark_upload_results : false
183- benchmark_preset : ' Minimal'
184- benchmark_dry_run : true
185- repo_ref : ${{ github.sha }}
186- toolchain_artifact : ${{ needs.build.outputs.toolchain_artifact }}
187- toolchain_artifact_filename : ${{ needs.build.outputs.toolchain_artifact_filename }}
188- toolchain_decompress_command : ${{ needs.build.outputs.toolchain_decompress_command }}
189-
190- test-perf :
191- needs : [build, detect_changes]
192- if : |
193- always() && !cancelled()
194- && needs.build.outputs.build_conclusion == 'success'
195- && (contains(github.event.pull_request.labels.*.name, 'run-perf-tests')
196- || contains(needs.detect_changes.outputs.filters, 'perf-tests'))
197- strategy :
198- fail-fast : false
199- matrix :
200- include :
201- - name : Intel GEN12 Graphics system
202- runner : ' ["Linux", "gen12"]'
203- image_extra_opts : --device=/dev/dri
204- - name : Intel Arc A-Series Graphics system
205- runner : ' ["Linux", "arc"]'
206- image_extra_opts : --device=/dev/dri
207- - name : AMD system
208- runner : ' ["Linux", "amdgpu"]'
209- image_extra_opts : --device=/dev/dri --device=/dev/kfd
210- - name : CUDA system
211- runner : ' ["Linux", "cuda"]'
212- image_extra_opts : --gpus all
213- uses : ./.github/workflows/sycl-linux-run-tests.yml
214- with :
215- name : Perf tests on ${{ matrix.name }}
216- runner : ${{ matrix. runner }}
217- image_options : -u 1001 --privileged --cap-add SYS_ADMIN ${{ matrix.image_extra_opts }}
218- target_devices : all
219-
220- env : ' {"LIT_FILTER":"PerformanceTests/"}'
221- extra_lit_opts : -a -j 1 --param enable-perf-tests=True
222-
223- repo_ref : ${{ github.sha }}
224-
87+ target_devices : level_zero:gpu
22588 toolchain_artifact : ${{ needs.build.outputs.toolchain_artifact }}
22689 toolchain_artifact_filename : ${{ needs.build.outputs.toolchain_artifact_filename }}
22790 toolchain_decompress_command : ${{ needs.build.outputs.toolchain_decompress_command }}
91+ extra_lit_opts : ' --filter-out "${{ needs.compat_read_exclude.outputs.FILTER }}"'
92+ e2e_testing_mode : ' run-only'
0 commit comments