Skip to content

Commit 722a873

Browse files
[CI] Use pre-built e2e tests for Arc GPU and Dev IGC PVC pre-commit (#16793)
`not --crash` changes are necessary because run-only mode has slightly different way of running the tests due to https://github.com/intel/llvm/blob/e8564403232c13b3716aa68190084880f2a98a6c/sycl/test-e2e/format.py#L368-L372
1 parent 20d4bec commit 722a873

File tree

7 files changed

+50
-35
lines changed

7 files changed

+50
-35
lines changed

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

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -74,22 +74,37 @@ jobs:
7474
fi
7575
7676
run_prebuilt_e2e_tests:
77-
needs: [build]
77+
needs: [build, detect_changes, determine_arc_tests]
7878
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
7979
strategy:
8080
fail-fast: false
8181
matrix:
8282
include:
83-
- name: Intel
83+
- name: GEN 12 Integrated
8484
runner: '["Linux", "gen12"]'
8585
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
8686
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
8787
reset_intel_gpu: true
8888
extra_lit_opts: --param gpu-intel-gen12=True
89+
- name: Intel Arc A-Series Graphics
90+
runner: '["Linux", "arc"]'
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
93+
reset_intel_gpu: true
94+
extra_lit_opts: --param matrix-xmx8=True
95+
env: '{"LIT_FILTER":${{ needs.determine_arc_tests.outputs.arc_tests }} }'
96+
- name: Dev IGC on Intel Ponte Vecchio GPU
97+
runner: '["Linux", "pvc"]'
98+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
99+
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
100+
target_devices: level_zero:gpu;opencl:gpu
101+
use_igc_dev: true
102+
extra_lit_opts: -j 50
89103
uses: ./.github/workflows/sycl-linux-run-tests.yml
90104
with:
91105
name: ${{ matrix.name }}
92106
runner: ${{ matrix.runner }}
107+
image: ${{ matrix.image }}
93108
image_options: ${{ matrix.image_options }}
94109
target_devices: ${{ matrix.target_devices }}
95110
extra_lit_opts: --param fallback-to-build-if-requires-build-and-run=True ${{ matrix.extra_lit_opts }}
@@ -101,6 +116,20 @@ jobs:
101116
e2e_binaries_artifact: sycl_e2e_bin_default
102117
e2e_testing_mode: 'run-only'
103118

119+
# Do not install drivers on AMD and CUDA runners.
120+
install_igc_driver: >-
121+
${{ !contains(matrix.target_devices, 'cuda') &&
122+
!contains(matrix.target_devices, 'hip') &&
123+
contains(needs.detect_changes.outputs.filters, 'drivers') }}
124+
install_dev_igc_driver: >-
125+
${{ !contains(matrix.target_devices, 'cuda') &&
126+
!contains(matrix.target_devices, 'hip') &&
127+
matrix.use_igc_dev &&
128+
(contains(needs.detect_changes.outputs.filters, 'devigccfg') || contains(needs.detect_changes.outputs.filters, 'drivers')) ||
129+
'false' }}
130+
# Run only if the PR does not have the 'ci-no-devigc' label.
131+
skip_run: ${{matrix.use_igc_dev && contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') || 'false'}}
132+
104133
test:
105134
needs: [build, detect_changes, determine_arc_tests]
106135
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
@@ -117,13 +146,6 @@ jobs:
117146
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
118147
target_devices: hip:gpu
119148
reset_intel_gpu: false
120-
- name: E2E tests on Intel Arc A-Series Graphics
121-
runner: '["Linux", "arc"]'
122-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
123-
target_devices: level_zero:gpu;opencl:gpu
124-
reset_intel_gpu: true
125-
extra_lit_opts: --param matrix-xmx8=True
126-
env: '{"LIT_FILTER":${{ needs.determine_arc_tests.outputs.arc_tests }} }'
127149
- name: E2E tests with dev igc on Intel Arc A-Series Graphics
128150
runner: '["Linux", "arc"]'
129151
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
@@ -138,13 +160,6 @@ jobs:
138160
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
139161
target_devices: level_zero:gpu;opencl:gpu
140162
extra_lit_opts: -j 50
141-
- name: E2E tests with dev igc on Intel Ponte Vecchio GPU
142-
runner: '["Linux", "pvc"]'
143-
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
144-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
145-
target_devices: level_zero:gpu;opencl:gpu
146-
use_igc_dev: true
147-
extra_lit_opts: -j 50
148163

149164
uses: ./.github/workflows/sycl-linux-run-tests.yml
150165
with:

sycl/test-e2e/AddressSanitizer/bad-free/bad-free-host.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// REQUIRES: linux, cpu || (gpu && level_zero)
22
// RUN: %{build} %device_asan_flags -O0 -g -o %t
3-
// RUN: %force_device_asan_rt %{run} not %t 2>&1 | FileCheck %s
3+
// RUN: %force_device_asan_rt %{run} not --crash %t 2>&1 | FileCheck %s
44
#include <sycl/usm.hpp>
55

66
constexpr size_t N = 64;

sycl/test-e2e/AddressSanitizer/bad-free/bad-free-minus1.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// REQUIRES: linux, cpu || (gpu && level_zero)
22
// RUN: %{build} %device_asan_flags -O0 -g -o %t1.out
3-
// RUN: %force_device_asan_rt %{run} not %t1.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
3+
// RUN: %force_device_asan_rt %{run} not --crash %t1.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
44
// RUN: %{build} %device_asan_flags -DMALLOC_HOST -O0 -g -o %t2.out
5-
// RUN: %force_device_asan_rt %{run} not %t2.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-HOST %s
5+
// RUN: %force_device_asan_rt %{run} not --crash %t2.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-HOST %s
66
// RUN: %{build} %device_asan_flags -DMALLOC_SHARED -O0 -g -o %t3.out
7-
// RUN: %force_device_asan_rt %{run} not %t3.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-SHARED %s
7+
// RUN: %force_device_asan_rt %{run} not --crash %t3.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-SHARED %s
88
#include <sycl/usm.hpp>
99

1010
constexpr size_t N = 64;

sycl/test-e2e/AddressSanitizer/bad-free/bad-free-plus1.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// REQUIRES: linux, cpu || (gpu && level_zero)
22
// RUN: %{build} %device_asan_flags -O0 -g -o %t1.out
3-
// RUN: %force_device_asan_rt %{run} not %t1.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
3+
// RUN: %force_device_asan_rt %{run} not --crash %t1.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
44
// RUN: %{build} %device_asan_flags -DMALLOC_HOST -O0 -g -o %t2.out
5-
// RUN: %force_device_asan_rt %{run} not %t2.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-HOST %s
5+
// RUN: %force_device_asan_rt %{run} not --crash %t2.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-HOST %s
66
// RUN: %{build} %device_asan_flags -DMALLOC_SHARED -O0 -g -o %t3.out
7-
// RUN: %force_device_asan_rt %{run} not %t3.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-SHARED %s
7+
// RUN: %force_device_asan_rt %{run} not --crash %t3.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-SHARED %s
88
#include <sycl/usm.hpp>
99

1010
constexpr size_t N = 64;

sycl/test-e2e/AddressSanitizer/common/options-invalid-values.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,22 @@
44

55
// clang-format off
66
// Invalid ur option format
7-
// RUN: env UR_LAYER_ASAN_OPTIONS=a:1,b:1 %{run} not %t 2>&1 | FileCheck %s --check-prefixes INVALID-FORMAT
7+
// RUN: env UR_LAYER_ASAN_OPTIONS=a:1,b:1 %{run} not --crash %t 2>&1 | FileCheck %s --check-prefixes INVALID-FORMAT
88
// INVALID-FORMAT: <SANITIZER>[ERROR]: Wrong format of the UR_LAYER_ASAN_OPTIONS environment variable value
99

1010
// Invalid bool option
11-
// RUN: env UR_LAYER_ASAN_OPTIONS=debug:yes %{run} not %t 2>&1 | FileCheck %s --check-prefixes INVALID-BOOL
11+
// RUN: env UR_LAYER_ASAN_OPTIONS=debug:yes %{run} not --crash %t 2>&1 | FileCheck %s --check-prefixes INVALID-BOOL
1212
// INVALID-BOOL: <SANITIZER>[ERROR]: "debug" is set to "yes", which is not an valid setting. Acceptable input are: for enable, use: "1" "true"; for disable, use: "0" "false".
1313

1414
// Invalid quarantine_size_mb
15-
// RUN: env UR_LAYER_ASAN_OPTIONS=quarantine_size_mb:-1 %{run} not %t 2>&1 | FileCheck %s --check-prefixes INVALID-QUARANTINE
16-
// RUN: env UR_LAYER_ASAN_OPTIONS=quarantine_size_mb:4294967296 %{run} not %t 2>&1 | FileCheck %s --check-prefixes INVALID-QUARANTINE
15+
// RUN: env UR_LAYER_ASAN_OPTIONS=quarantine_size_mb:-1 %{run} not --crash %t 2>&1 | FileCheck %s --check-prefixes INVALID-QUARANTINE
16+
// RUN: env UR_LAYER_ASAN_OPTIONS=quarantine_size_mb:4294967296 %{run} not --crash %t 2>&1 | FileCheck %s --check-prefixes INVALID-QUARANTINE
1717
// INVALID-QUARANTINE: <SANITIZER>[ERROR]: "quarantine_size_mb" should be an integer in range[0, 4294967295].
1818

1919
// Invalid redzone and max_redzone
20-
// RUN: env UR_LAYER_ASAN_OPTIONS=redzone:abc %{run} not %t 2>&1 | FileCheck %s --check-prefixes INVALID-REDZONE
20+
// RUN: env UR_LAYER_ASAN_OPTIONS=redzone:abc %{run} not --crash %t 2>&1 | FileCheck %s --check-prefixes INVALID-REDZONE
2121
// INVALID-REDZONE: <SANITIZER>[ERROR]: "redzone" should be an integer in range[0, 16].
22-
// RUN: env UR_LAYER_ASAN_OPTIONS=max_redzone:abc %{run} not %t 2>&1 | FileCheck %s --check-prefixes INVALID-MAXREDZONE
22+
// RUN: env UR_LAYER_ASAN_OPTIONS=max_redzone:abc %{run} not --crash %t 2>&1 | FileCheck %s --check-prefixes INVALID-MAXREDZONE
2323
// INVALID-MAXREDZONE: <SANITIZER>[ERROR]: "max_redzone" should be an integer in range[0, 2048].
2424
// clang-format on
2525

sycl/test-e2e/AddressSanitizer/double-free/double-free.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// REQUIRES: linux, cpu || (gpu && level_zero)
22
// RUN: %{build} %device_asan_flags -O0 -g -o %t1.out
3-
// RUN: %force_device_asan_rt UR_LAYER_ASAN_OPTIONS="quarantine_size_mb:1;detect_kernel_arguments:0" %{run} not %t1.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
3+
// RUN: %force_device_asan_rt UR_LAYER_ASAN_OPTIONS="quarantine_size_mb:1;detect_kernel_arguments:0" %{run} not --crash %t1.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-DEVICE %s
44
// RUN: %{build} %device_asan_flags -DMALLOC_HOST -O0 -g -o %t2.out
5-
// RUN: %force_device_asan_rt UR_LAYER_ASAN_OPTIONS="quarantine_size_mb:1;detect_kernel_arguments:0" %{run} not %t2.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-HOST %s
5+
// RUN: %force_device_asan_rt UR_LAYER_ASAN_OPTIONS="quarantine_size_mb:1;detect_kernel_arguments:0" %{run} not --crash %t2.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-HOST %s
66
// RUN: %{build} %device_asan_flags -DMALLOC_SHARED -O0 -g -o %t3.out
7-
// RUN: %force_device_asan_rt UR_LAYER_ASAN_OPTIONS="quarantine_size_mb:1;detect_kernel_arguments:0" %{run} not %t3.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-SHARED %s
7+
// RUN: %force_device_asan_rt UR_LAYER_ASAN_OPTIONS="quarantine_size_mb:1;detect_kernel_arguments:0" %{run} not --crash %t3.out 2>&1 | FileCheck --check-prefixes CHECK,CHECK-SHARED %s
88
#include <sycl/usm.hpp>
99

1010
constexpr size_t N = 64;

sycl/test-e2e/AddressSanitizer/out-of-bounds/DeviceGlobal/device_global.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// REQUIRES: linux, cpu || (gpu && level_zero)
22
// RUN: %{build} %device_asan_flags -O0 -g -o %t1.out
3-
// RUN: %{run} not %t1.out 2>&1 | FileCheck %s
3+
// RUN: %{run} not --crash %t1.out 2>&1 | FileCheck %s
44
// RUN: %{build} %device_asan_flags -O1 -g -o %t2.out
5-
// RUN: %{run} not %t2.out 2>&1 | FileCheck %s
5+
// RUN: %{run} not --crash %t2.out 2>&1 | FileCheck %s
66
// RUN: %{build} %device_asan_flags -O2 -g -o %t3.out
7-
// RUN: %{run} not %t3.out 2>&1 | FileCheck %s
7+
// RUN: %{run} not --crash %t3.out 2>&1 | FileCheck %s
88

99
// Flakily timesout on PVC
1010
// UNSUPPORTED: arch-intel_gpu_pvc

0 commit comments

Comments
 (0)