Skip to content

Commit 211f170

Browse files
author
Colin Davidson
committed
[SYCL][E2E][NATIVE_CPU] Add Native CPU e2e PR testing
The Native CPU work is being passed onto a team in Intel now that all of Native CPU is independent of the oneAPI Construction Kit. Native CPU does not pass all of E2E testing, either through bugs or unimplemented functionality. All are currently being marked as UNSUPPORTED until these failures are processed and tracked by the new team. This also adds a separate job for E2E build and run for Native CPU, as it cannot be added to the prebuilt due to build fails.
1 parent 3274ca1 commit 211f170

File tree

54 files changed

+174
-39
lines changed

Some content is hidden

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

54 files changed

+174
-39
lines changed

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

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,41 @@ jobs:
6262
e2e_binaries_artifact: e2e_bin
6363
e2e_binaries_preview_artifact: e2e_bin_preview
6464

65+
# Build and run native cpu e2e tests separately as cannot currently
66+
# build all the e2e tests
67+
build_run_native_cpu_e2e_tests:
68+
runs-on: [Linux, build]
69+
needs: [build]
70+
container:
71+
image: ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest
72+
options: -u 1001:1001
73+
steps:
74+
- uses: actions/checkout@v4
75+
with:
76+
sparse-checkout: |
77+
devops/
78+
79+
# download build artefact
80+
- name: Download toolchain
81+
uses: actions/download-artifact@v4
82+
with:
83+
name: sycl_linux_default
84+
- name: Extract SYCL toolchain
85+
shell: bash
86+
run: |
87+
mkdir toolchain
88+
tar -xf llvm_sycl.tar.zst -C toolchain
89+
rm llvm_sycl.tar.zst
90+
- name: Build and run E2E tests
91+
uses: ./devops/actions/run-tests/e2e
92+
with:
93+
ref: ${{ inputs.ref || github.sha }}
94+
testing_mode: build-only
95+
target_devices: native_cpu
96+
sycl_compiler: $GITHUB_WORKSPACE/toolchain/bin/clang++
97+
extra_lit_opts: --param sycl_build_targets="native_cpu"
98+
extra_cmake_args: -DSYCL_TEST_E2E_TARGETS="native_cpu:cpu" -DSYCL_TEST_E2E_STANDALONE=ON
99+
65100
# If a PR changes CUDA adapter, run the build on Ubuntu 22.04 as well.
66101
# Ubuntu 22.04 container has CUDA 12.1 installed while Ubuntu 24.0 image
67102
# has CUDA 12.6.1 installed.

sycl/test-e2e/Adapters/enqueue-arg-order-image.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// REQUIRES: aspect-ext_intel_legacy_image
2-
// UNSUPPORTED: target-amd
2+
// UNSUPPORTED: target-amd || target-native_cpu
33
// UNSUPPORTED-INTENDED: Legacy images aren't supported on AMD, but also fail
44
// to compile. Bindless images should be used instead.
55

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Currently mark Native CPU as unsupported, does not compile and should be investigated and tracked post team transfer
2+
config.unsupported_features += ['target-native_cpu']

sycl/test-e2e/Adapters/queue_submit_mode.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
// REQUIRES: gpu, level_zero
22
// UNSUPPORTED: level_zero_v2_adapter
33
// UNSUPPORTED-INTENDED: v2 adapter does support regular cmd lists
4+
// UNSUPPORTED: target-native_cpu
5+
// UNSUPPORTED-INTENDED: Currently mark Native CPU as unsupported, should be
6+
// investigated and tracked post team transfer
47
// RUN: %{build} %level_zero_options -o %t.out
58
// RUN: env %{l0_leak_check} SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=0 %{run} %t.out 0 2>&1 | FileCheck %s --check-prefixes=CHECK-STD
69
// RUN: env %{l0_leak_check} SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{run} %t.out 1 2>&1 | FileCheck %s --check-prefixes=CHECK-IMM

sycl/test-e2e/AddressSanitizer/lit.local.cfg

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ config.unsupported_features += ['spirv-backend']
2121
# https://github.com/intel/llvm/issues/16920
2222
config.unsupported_features += ['arch-intel_gpu_bmg_g21']
2323

24+
# AddressSanitizer currently not supported for Native CPU
25+
config.unsupported_features += ['target-native_cpu']
2426
unsupported_san_flags = [
2527
# "-fsanitize=address",
2628
"-fsanitize=memory",

sycl/test-e2e/Assert/check_resource_leak.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// RUN: %{build} -Wno-error=#warnings -o %t.out
22
// RUN: %{run} %t.out
33

4-
// Device globals aren't supported on opencl:gpu yet.
5-
// UNSUPPORTED: opencl && gpu
4+
// Device globals aren't supported on opencl:gpu or Native CPU yet.
5+
// UNSUPPORTED: (opencl && gpu) || target-native_cpu
66

77
// TODO: Fails at JIT compilation for some reason.
88
// UNSUPPORTED: hip
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# BFloat16 is not supported on Native CPU
2+
config.unsupported_features += ['target-native_cpu']

sycl/test-e2e/Basic/built-ins/marray_math.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
// UNSUPPORTED: target-native_cpu
2+
// UNSUPPORTED-INTENDED: Currently mark Native CPU as unsupported, should be
3+
// investigated and tracked post team transfer
4+
15
// DEFINE: %{mathflags} = %if cl_options %{/clang:-fno-fast-math%} %else %{-fno-fast-math%}
26

37
// RUN: %{build} %{mathflags} -o %t.out

sycl/test-e2e/Basic/image/lit.local.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
# https://github.com/KhronosGroup/SPIRV-Headers/issues/487
44
# After the issue is resolved we will re-enable Image support.
55
#
6-
# Legacy images aren't supported on AMD and also don't compile, so mark them
6+
# Legacy images aren't supported on AMD and Native CPU and also don't compile, so mark them
77
# unsupported here. Bindless images should be used instead.
8-
config.unsupported_features += ['spirv-backend', 'target-amd']
8+
config.unsupported_features += ['spirv-backend', 'target-amd', 'target-native_cpu']

sycl/test-e2e/Basic/vector/load_store.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
// UNSUPPORTED: target-native_cpu
2+
// UNSUPPORTED-INTENDED: Currently mark Native CPU as unsupported, should be
3+
// investigated and tracked post team transfer
4+
15
// RUN: %{build} -o %t.out
26
// RUN: %{run} %t.out
37

0 commit comments

Comments
 (0)