Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .github/workflows/sycl-linux-precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,42 @@ jobs:
e2e_binaries_artifact: e2e_bin
e2e_binaries_preview_artifact: e2e_bin_preview

# Build and run native cpu e2e tests separately as cannot currently
# build all the e2e tests
build_run_native_cpu_e2e_tests:
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
runs-on: [Linux, build]
needs: [build]
container:
image: ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest
options: -u 1001:1001
steps:
- uses: actions/checkout@v4
with:
sparse-checkout: |
devops/

# download build artefact
- name: Download toolchain
uses: actions/download-artifact@v4
with:
name: sycl_linux_default
- name: Extract SYCL toolchain
shell: bash
run: |
mkdir toolchain
tar -xf llvm_sycl.tar.zst -C toolchain
rm llvm_sycl.tar.zst
- name: Build and run E2E tests
uses: ./devops/actions/run-tests/e2e
with:
ref: ${{ inputs.ref || github.sha }}
testing_mode: build-only
target_devices: native_cpu
sycl_compiler: $GITHUB_WORKSPACE/toolchain/bin/clang++
extra_lit_opts: --param sycl_build_targets="native_cpu"
extra_cmake_args: -DSYCL_TEST_E2E_TARGETS="native_cpu:cpu" -DSYCL_TEST_E2E_STANDALONE=ON

# If a PR changes CUDA adapter, run the build on Ubuntu 22.04 as well.
# Ubuntu 22.04 container has CUDA 12.1 installed while Ubuntu 24.0 image
# has CUDA 12.6.1 installed.
Expand Down
2 changes: 2 additions & 0 deletions sycl/test-e2e/Adapters/enqueue-arg-order-image.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
// resolved and 2 is merged we will re-enable Image support.
// UNSUPPORTED: spirv-backend && arch-intel_gpu_bmg_g21
// UNSUPPORTED-TRACKER: https://github.com/KhronosGroup/SPIRV-Headers/issues/487
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142

#include <iostream>

Expand Down
4 changes: 4 additions & 0 deletions sycl/test-e2e/Adapters/level_zero/lit.local.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Currently mark Native CPU as unsupported, does not compile and should be
# investigated and tracked post team transfer
# see https://github.com/intel/llvm/issues/20142
config.unsupported_features += ['target-native_cpu']
3 changes: 3 additions & 0 deletions sycl/test-e2e/Adapters/queue_submit_mode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
// 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
// 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
//
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
//
// Check that queue submission mode is honored when creating queue.
//
#include <iostream>
Expand Down
2 changes: 2 additions & 0 deletions sycl/test-e2e/AddressSanitizer/lit.local.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ config.unsupported_features += ['spirv-backend']
# https://github.com/intel/llvm/issues/16920
config.unsupported_features += ['arch-intel_gpu_bmg_g21']

# https://github.com/intel/llvm/issues/20142
config.unsupported_features += ['target-native_cpu']
unsupported_san_flags = [
# "-fsanitize=address",
"-fsanitize=memory",
Expand Down
3 changes: 3 additions & 0 deletions sycl/test-e2e/Assert/check_resource_leak.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@

// TODO: Fails at JIT compilation for some reason.
// UNSUPPORTED: hip

// XFAIL: target-native_cpu
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142
#define SYCL_FALLBACK_ASSERT 1

#include <sycl/detail/core.hpp>
Expand Down
2 changes: 2 additions & 0 deletions sycl/test-e2e/BFloat16/lit.local.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# https://github.com/intel/llvm/issues/20142
config.unsupported_features += ['target-native_cpu']
3 changes: 3 additions & 0 deletions sycl/test-e2e/Basic/built-ins/marray_math.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

// RUN: %{build} %{mathflags} -o %t.out
// RUN: %{run} %t.out
//
// XFAIL: target-native_cpu
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142

#include <cmath>
#include <sycl/detail/core.hpp>
Expand Down
5 changes: 5 additions & 0 deletions sycl/test-e2e/Basic/image/lit.local.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,8 @@
# Legacy images aren't supported on AMD and also don't compile, so mark them
# unsupported here. Bindless images should be used instead.
config.unsupported_features += ['spirv-backend', 'target-amd']

# Legacy images aren't supported on Native CPU. Bindless images should be used
# instead when they are working.
# https://github.com/intel/llvm/issues/20142
config.unsupported_features += ['target-native_cpu']
3 changes: 3 additions & 0 deletions sycl/test-e2e/Basic/vector/load_store.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
// RUN: %if preview-breaking-changes-supported %{ %{build} -fpreview-breaking-changes -o %t2.out %}
// RUN: %if preview-breaking-changes-supported %{ %{run} %t2.out %}

// XFAIL: target-native_cpu
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142

// Tests load and store on sycl::vec.

#include <sycl/detail/core.hpp>
Expand Down
2 changes: 2 additions & 0 deletions sycl/test-e2e/Complex/sycl_complex_math_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

// RUN: %{build} -Wno-error=deprecated-declarations -fsycl-device-code-split=per_kernel %{mathflags} -o %t.out
// RUN: %{run} %t.out
// XFAIL: target-native_cpu
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142

#include "sycl_complex_helper.hpp"
#include "sycl_complex_math_test_cases.hpp"
Expand Down
3 changes: 3 additions & 0 deletions sycl/test-e2e/Complex/sycl_complex_operator_test.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
// RUN: %{build} -Wno-error=deprecated-declarations -fsycl-device-code-split=per_kernel -o %t.out
// RUN: %{run} %t.out
//
// XFAIL: target-native_cpu
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142

#include "sycl_complex_helper.hpp"
#include "sycl_complex_operator_test_cases.hpp"
Expand Down
2 changes: 2 additions & 0 deletions sycl/test-e2e/Compression/no_zstd_warning.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
// using --offload-compress without zstd should throw an error.
// REQUIRES: !zstd
// RUN: not %{build} %O0 -g --offload-compress %S/Inputs/single_kernel.cpp -o %t_compress.out 2>&1 | FileCheck %s
// XFAIL: target-native_cpu
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142
// CHECK: error: '--offload-compress' is specified but the compiler is built without zstd support.
// CHECK-NEXT: If you are using a custom DPC++ build, please refer to https://github.com/intel/llvm/blob/sycl/sycl/doc/GetStartedGuide.md#build-dpc-toolchain-with-device-image-compression-support for more information on how to build with zstd support.
2 changes: 2 additions & 0 deletions sycl/test-e2e/DeviceGlobal/device_global_arrow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
//
// UNSUPPORTED: opencl && gpu
// UNSUPPORTED-TRACKER: GSD-4287
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
//
// Tests operator-> on device_global.

Expand Down
2 changes: 2 additions & 0 deletions sycl/test-e2e/DeviceGlobal/device_global_arrow_dis.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
//
// UNSUPPORTED: opencl && gpu
// UNSUPPORTED-TRACKER: GSD-4287
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
//
// Tests operator-> on device_global with device_image_scope.
// NOTE: USE_DEVICE_IMAGE_SCOPE needs both kernels to be in the same image so
Expand Down
2 changes: 2 additions & 0 deletions sycl/test-e2e/DeviceGlobal/device_global_copy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
//
// UNSUPPORTED: opencl && gpu
// UNSUPPORTED-TRACKER: GSD-4287
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
//
// Tests the copy ctor on device_global without device_image_scope.

Expand Down
2 changes: 2 additions & 0 deletions sycl/test-e2e/DeviceGlobal/device_global_device_only.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
//
// UNSUPPORTED: opencl && gpu
// UNSUPPORTED-TRACKER: GSD-4287
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
//
// Tests basic device_global access through device kernels.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
//
// UNSUPPORTED: opencl && gpu
// UNSUPPORTED-TRACKER: GSD-4287
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
//
// Tests basic device_global with device_image_scope access through device
// kernels.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
//
// UNSUPPORTED: opencl && gpu
// UNSUPPORTED-TRACKER: GSD-4287
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
//
// Tests the passthrough of operators on device_global.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
//
// UNSUPPORTED: opencl && gpu
// UNSUPPORTED-TRACKER: GSD-4287
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
//
// Tests the passthrough of operators on device_global with device_image_scope.
// NOTE: USE_DEVICE_IMAGE_SCOPE needs both kernels to be in the same image so
Expand Down
2 changes: 2 additions & 0 deletions sycl/test-e2e/DeviceGlobal/device_global_subscript.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
//
// UNSUPPORTED: opencl && gpu
// UNSUPPORTED-TRACKER: GSD-4287
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
//
// Tests operator[] on device_global.

Expand Down
2 changes: 2 additions & 0 deletions sycl/test-e2e/DeviceGlobal/device_global_subscript_dis.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
//
// UNSUPPORTED: opencl && gpu
// UNSUPPORTED-TRACKER: GSD-4287
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
//
// Tests operator[] on device_global with device_image_scope.
// NOTE: USE_DEVICE_IMAGE_SCOPE needs both kernels to be in the same image so
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
// RUN: %{build} --offload-new-driver -fsycl-allow-device-image-dependencies %t_a.o %t_b.o %t_c.o %t_d.o -I %S/Inputs -o %t.out
// RUN: %{run} %t.out

// XFAIL: target-native_cpu
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142

#include "a.hpp"
#include <iostream>
#include <sycl/detail/core.hpp>
Expand Down
3 changes: 3 additions & 0 deletions sycl/test-e2e/DeviceImageDependencies/objects.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@
// RUN: %clangxx -fsycl %S/Inputs/d.cpp -I %S/Inputs -c -o %t_d.o
// RUN: %clangxx -fsycl %{sycl_target_opts} -fsycl-device-code-split=per_kernel -fsycl-allow-device-image-dependencies %t_a.o %t_b.o %t_c.o %t_d.o %S/Inputs/basic.cpp -o %t.out
// RUN: %{run} %t.out

// XFAIL: target-native_cpu
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142
2 changes: 2 additions & 0 deletions sycl/test-e2e/DeviceLib/bfloat16_conversion_dlopen_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,7 @@

// UNSUPPORTED: target-nvidia || target-amd
// UNSUPPORTED-INTENDED: bfloat16 device library is not used on AMD and Nvidia.
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142

#include "bfloat16_conversion_dlopen_test.hpp"
2 changes: 2 additions & 0 deletions sycl/test-e2e/DeviceLib/bfloat16_conversion_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,7 @@

// UNSUPPORTED: target-nvidia || target-amd
// UNSUPPORTED-INTENDED: bfloat16 device library is not used on AMD and Nvidia.
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142

#include "bfloat16_conversion_test.hpp"
4 changes: 4 additions & 0 deletions sycl/test-e2e/DeviceLib/imf/lit.local.cfg
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
# IMF is not supported on Nvidia and AMD
config.unsupported_features += ['target-nvidia', 'target-amd']

# IMF is not supported on Native CPU
# https://github.com/intel/llvm/issues/20142
config.unsupported_features += ['target-native_cpu']
3 changes: 3 additions & 0 deletions sycl/test-e2e/ESIMD/lit.local.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,6 @@ config.substitutions.insert(0,

# At the moment SPIR-V Backend has no plans to support this feature.
config.unsupported_features += ['spirv-backend']

# https://github.com/intel/llvm/issues/20142
config.unsupported_features += ['target-native_cpu']
2 changes: 2 additions & 0 deletions sycl/test-e2e/Experimental/clock.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

// RUN: %{build} -o %t.out
// RUN: %{run} %t.out
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142

#include <sycl/detail/core.hpp>
#include <sycl/ext/oneapi/experimental/clock.hpp>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// REQUIRES: sg-8
// UNSUPPORTED: target-nvidia || target-amd
// UNSUPPORTED-INTENDED: subgroup size requirement implicitly make nvptx/amdgcn
// not supported
// XFAIL: linux && run-mode && (gpu-intel-gen12 || gpu-intel-dg2)
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/18577
// not supported

// RUN: %{build} -fsycl-device-code-split=per_kernel -o %t.out
// RUN: %{run} %t.out
Expand Down
3 changes: 3 additions & 0 deletions sycl/test-e2e/InvokeSimd/lit.local.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@ if platform.system() != "Linux":

# At the moment SPIR-V Backend has no plans to support this feature.
config.unsupported_features += ['spirv-backend']

# https://github.com/intel/llvm/issues/20142.
config.unsupported_features += ['target-native_cpu']
2 changes: 2 additions & 0 deletions sycl/test-e2e/KernelAndProgram/build-log.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
// from ptxas that crashes clang. The JIT part is not relevant, because the
// flow is such that the AOT compilation still happens, it’s just that if we
// request JIT, it will do the thing again at the run time.
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
//
// TODO: rewrite this into a unit-test

Expand Down
3 changes: 3 additions & 0 deletions sycl/test-e2e/KernelAndProgram/cache-build-result.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
// request JIT, it will do the thing again at the run time.
//
// UNSUPPORTED: ze_debug
//
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142

// RUN: %{build} -DSYCL_DISABLE_FALLBACK_ASSERT=1 -o %t.out
// RUN: %{build} -DSYCL_DISABLE_FALLBACK_ASSERT=1 -DGPU -o %t_gpu.out
Expand Down
2 changes: 2 additions & 0 deletions sycl/test-e2e/KernelAndProgram/undefined-symbol.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
// from ptxas that crashes clang. The JIT part is not relevant, because the
// flow is such that the AOT compilation still happens, it’s just that if we
// request JIT, it will do the thing again at the run time.
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
//
// RUN: %{build} -o %t.out
// RUN: %{run} %t.out
Expand Down
3 changes: 3 additions & 0 deletions sycl/test-e2e/MemorySanitizer/lit.local.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ config.unsupported_features += ['gpu-intel-gen12', 'gpu-intel-dg2']
# CMPLRLLVM-64052
config.unsupported_features += ['spirv-backend']

# https://github.com/intel/llvm/issues/20142
config.unsupported_features += ['target-native_cpu']

# https://github.com/intel/llvm/issues/16920
config.unsupported_features += ['arch-intel_gpu_bmg_g21']

Expand Down
3 changes: 3 additions & 0 deletions sycl/test-e2e/NewOffloadDriver/multisource.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@
// RUN: %clangxx -Wno-error=unused-command-line-argument -fsycl %{sycl_target_opts} --offload-new-driver %t.main.o %t.a -o %t4.fat
// RUN: %{run} %t4.fat

// XFAIL: target-native_cpu
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142

#include <sycl/detail/core.hpp>

#include <iostream>
Expand Down
3 changes: 3 additions & 0 deletions sycl/test-e2e/NonUniformGroups/chunk_algorithms.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
// UNSUPPORTED-TRACKER: CMPLRLLVM-64702
// The test is disabled for spirv-backend while we investigate the root cause.

// XFAIL: target-native_cpu
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142

#include <sycl/detail/core.hpp>
#include <sycl/ext/oneapi/experimental/chunk.hpp>
#include <sycl/group_algorithm.hpp>
Expand Down
3 changes: 3 additions & 0 deletions sycl/test-e2e/SYCLBIN/lit.local.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ if 'target-spir' in config.available_features and 'ocloc' in config.available_fe
# wildcard. See https://github.com/intel/llvm/issues/19373.
syclbin_exec_opts = '-fsycl-targets=spir64,spir64_gen -Xsycl-target-backend=spir64_gen "-device pvc,dg2,bmg-g21"'
config.substitutions.append(('%{syclbin_exec_opts}', format(syclbin_exec_opts)))

# https://github.com/intel/llvm/issues/20142
config.unsupported_features += ['target-native_cpu']
4 changes: 4 additions & 0 deletions sycl/test-e2e/Sampler/lit.local.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,7 @@
# Legacy images aren't supported on AMD and also don't compile, so mark them
# unsupported here. Bindless images should be used instead.
config.unsupported_features += ['spirv-backend', 'target-amd']

# Legacy images aren't supported on Native CPU. Use bindless_images when working.
# https://github.com/intel/llvm/issues/20142
config.unsupported_features += ['target-native_cpu']
3 changes: 3 additions & 0 deletions sycl/test-e2e/SubGroup/load_store.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
// RUN: %{build} -Wno-error=deprecated-declarations -fsycl-device-code-split=per_kernel -o %t.out
// RUN: %{run} %t.out

// XFAIL: target-native_cpu
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142

//
//==----------- load_store.cpp - SYCL sub_group load/store test ------------==//
//
Expand Down
3 changes: 3 additions & 0 deletions sycl/test-e2e/SubGroupMask/Basic.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
// RUN: %{build} -o %t.out

// XFAIL: target-native_cpu
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142

// REQUIRES: gpu
// REQUIRES: sg-32

Expand Down
3 changes: 3 additions & 0 deletions sycl/test-e2e/SubGroupMask/GroupSize.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
// RUN: %{build} -Wno-error=incorrect-sub-group-size -fsycl-device-code-split=per_kernel -o %t.out

// XFAIL: target-native_cpu
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142

// REQUIRES: gpu

// GroupNonUniformBallot capability is supported on Intel GPU only
Expand Down
Loading