@@ -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,42 @@ 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 : ' [] '
6056
6157 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
8158
82- run_prebuilt_e2e_tests :
83- needs : [build, detect_changes]
59+ compat_read_exclude :
60+ name : Read compatibility testing exclude list
61+ runs-on : [Linux, build]
62+ outputs :
63+ FILTER : ${{ steps.result.outputs.FILTER }}
64+ steps :
65+ - uses : actions/checkout@v4
66+ with :
67+ sparse-checkout : |
68+ devops/
69+ - name : Register cleanup after job is finished
70+ uses : ./devops/actions/cleanup
71+ - id : result
72+ shell : bash
73+ run : |
74+ echo FILTER="$(grep -v '^#\|^\W*$' devops/compat_ci_exclude.sycl-rel-6_2 | paste -sd '|')" >> $GITHUB_OUTPUT
75+
76+
77+ compatibility :
78+ needs : [build, compat_read_exclude]
8479 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')
17480 uses : ./.github/workflows/sycl-linux-run-tests.yml
17581 with :
176- name : Benchmark suite precommit testing
177- runner : ' ["PVC_PERF"]'
178- image : ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest
82+ name : E2E Backward ABI compatibility
83+ runner : ' ["Linux", "pvc"]'
84+ # FIXME:
85+ # image: ghcr.io/intel/llvm/sycl_prebuilt_tests:sycl-rel-6_2
86+ image : ghcr.io/intel/llvm/sycl_prebuilt_tests:e2e-preview-param
17987 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-
88+ target_devices : level_zero:gpu
22589 toolchain_artifact : ${{ needs.build.outputs.toolchain_artifact }}
22690 toolchain_artifact_filename : ${{ needs.build.outputs.toolchain_artifact_filename }}
22791 toolchain_decompress_command : ${{ needs.build.outputs.toolchain_decompress_command }}
92+ extra_lit_opts : ' --param test-preview-mode=False --filter-out "${{ needs.compat_read_exclude.outputs.FILTER }}"'
93+ e2e_testing_mode : ' run-only'
0 commit comments