Skip to content

Commit 6b29cf1

Browse files
authored
[SYCL][E2E][NATIVE_CPU] Add Native CPU e2e PR testing (#19961)
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. Most are currently being marked as UNSUPPORTED until these failures are processed and tracked by the new team, with a smaller number marked as XFAIL. These are being tracked under #20142. 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 ec4e5d1 commit 6b29cf1

Some content is hidden

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

51 files changed

+170
-1
lines changed

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

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,42 @@ 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+
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
69+
runs-on: [Linux, build]
70+
needs: [build]
71+
container:
72+
image: ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest
73+
options: -u 1001:1001
74+
steps:
75+
- uses: actions/checkout@v4
76+
with:
77+
sparse-checkout: |
78+
devops/
79+
80+
# download build artefact
81+
- name: Download toolchain
82+
uses: actions/download-artifact@v4
83+
with:
84+
name: sycl_linux_default
85+
- name: Extract SYCL toolchain
86+
shell: bash
87+
run: |
88+
mkdir toolchain
89+
tar -xf llvm_sycl.tar.zst -C toolchain
90+
rm llvm_sycl.tar.zst
91+
- name: Build and run E2E tests
92+
uses: ./devops/actions/run-tests/e2e
93+
with:
94+
ref: ${{ inputs.ref || github.sha }}
95+
testing_mode: build-only
96+
target_devices: native_cpu
97+
sycl_compiler: $GITHUB_WORKSPACE/toolchain/bin/clang++
98+
extra_lit_opts: --param sycl_build_targets="native_cpu"
99+
extra_cmake_args: -DSYCL_TEST_E2E_TARGETS="native_cpu:cpu" -DSYCL_TEST_E2E_STANDALONE=ON
100+
65101
# If a PR changes CUDA adapter, run the build on Ubuntu 22.04 as well.
66102
# Ubuntu 22.04 container has CUDA 12.1 installed while Ubuntu 24.0 image
67103
# has CUDA 12.6.1 installed.

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
// resolved and 2 is merged we will re-enable Image support.
2121
// UNSUPPORTED: spirv-backend && arch-intel_gpu_bmg_g21
2222
// UNSUPPORTED-TRACKER: https://github.com/KhronosGroup/SPIRV-Headers/issues/487
23+
// UNSUPPORTED: target-native_cpu
24+
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
2325

2426
#include <iostream>
2527

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Currently mark Native CPU as unsupported, does not compile and should be
2+
# investigated and tracked post team transfer
3+
# see https://github.com/intel/llvm/issues/20142
4+
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
@@ -5,6 +5,9 @@
55
// 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
66
// 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
77
//
8+
// UNSUPPORTED: target-native_cpu
9+
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
10+
//
811
// Check that queue submission mode is honored when creating queue.
912
//
1013
#include <iostream>

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+
# https://github.com/intel/llvm/issues/20142
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: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66

77
// TODO: Fails at JIT compilation for some reason.
88
// UNSUPPORTED: hip
9+
10+
// XFAIL: target-native_cpu
11+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142
912
#define SYCL_FALLBACK_ASSERT 1
1013

1114
#include <sycl/detail/core.hpp>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# https://github.com/intel/llvm/issues/20142
2+
config.unsupported_features += ['target-native_cpu']

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
// RUN: %{build} %{mathflags} -o %t.out
44
// RUN: %{run} %t.out
5+
//
6+
// XFAIL: target-native_cpu
7+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142
58

69
#include <cmath>
710
#include <sycl/detail/core.hpp>

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,8 @@
66
# Legacy images aren't supported on AMD and also don't compile, so mark them
77
# unsupported here. Bindless images should be used instead.
88
config.unsupported_features += ['spirv-backend', 'target-amd']
9+
10+
# Legacy images aren't supported on Native CPU. Bindless images should be used
11+
# instead when they are working.
12+
# https://github.com/intel/llvm/issues/20142
13+
config.unsupported_features += ['target-native_cpu']

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
// RUN: %if preview-breaking-changes-supported %{ %{build} -fpreview-breaking-changes -o %t2.out %}
55
// RUN: %if preview-breaking-changes-supported %{ %{run} %t2.out %}
66

7+
// XFAIL: target-native_cpu
8+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142
9+
710
// Tests load and store on sycl::vec.
811

912
#include <sycl/detail/core.hpp>

0 commit comments

Comments
 (0)