Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SYCL][E2E] Clean-up test-modes by removing workarounds #17023

Open
wants to merge 19 commits into
base: sycl
Choose a base branch
from
Open
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
2 changes: 1 addition & 1 deletion .github/workflows/sycl-linux-precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ jobs:
image: ${{ matrix.image }}
image_options: ${{ matrix.image_options }}
target_devices: ${{ matrix.target_devices }}
extra_lit_opts: --param fallback-to-build-if-requires-build-and-run=True ${{ matrix.extra_lit_opts }}
extra_lit_opts: ${{ matrix.extra_lit_opts }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is my understanding that the basic idea of this PR is to merge the build-and-test mode with the run mode, so we build all tests that can't be built in build mode in the run mode?

Copy link
Contributor Author

@ayylol ayylol Feb 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Main motivation is to remove the build-and-run-mode feature, which was just introduced as a way to temporarily mark tests as not available for the split build/run mode while we figured out how to properly react to requires/unsupported statements.

The remaining tests that had this markup (which are all changed in this pr) had not yet had that requirement removed because they either never ran on CI and have regular build failures, or were AOT cpu tests and if we build these on a seperate machine we end up building for that machine's cpu architecture which if it is different than the run system's architecture it causes execution failures.

The fallback-to-build-if-requires-build-and-run option is also removed since that option only functions when a test has REQUIRES: build-and-run-mode

reset_intel_gpu: ${{ matrix.reset_intel_gpu }}
ref: ${{ github.sha }}
sycl_toolchain_artifact: sycl_linux_default
Expand Down
4 changes: 2 additions & 2 deletions sycl/test-e2e/AOT/cpu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
//===---------------------------------------------------------------------===//

// REQUIRES: opencl-aot, cpu
// REQUIRES: build-and-run-mode

// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 %S/Inputs/aot.cpp -o %t.out
// CPU AOT targets host isa, so we compile on the run system instead.
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %S/Inputs/aot.cpp -o %t.out
// RUN: %{run} %t.out

// Test that opencl-aot can handle multiple build options.
Expand Down
5 changes: 3 additions & 2 deletions sycl/test-e2e/AOT/double.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
// using fp64 can be compiled AOT.

// REQUIRES: ocloc, opencl-aot, any-device-is-cpu
// REQUIRES: build-and-run-mode
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_tgllp -o %t.tgllp.out %s
// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 -o %t.x86.out %s

// CPU AOT targets host isa, so we compile on the run system instead.
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -o %t.x86.out %s
// RUN: %if cpu %{ %{run} %t.x86.out %}

// ocloc on windows does not have support for PVC, so this command will
Expand Down
5 changes: 3 additions & 2 deletions sycl/test-e2e/AOT/half.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
// using fp16 can be compiled AOT.

// REQUIRES: ocloc, opencl-aot, any-device-is-cpu
// REQUIRES: build-and-run-mode
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_tgllp -o %t.tgllp.out %s
// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 -o %t.x86.out %s

// CPU AOT targets host isa, so we compile on the run system instead.
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -o %t.x86.out %s
// RUN: %if cpu %{ %{run} %t.x86.out %}

// ocloc on windows does not have support for PVC, so this command will
Expand Down
7 changes: 3 additions & 4 deletions sycl/test-e2e/Adapters/sycl-targets-order.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
// RUN: %{run-unfiltered-devices} env ONEAPI_DEVICE_SELECTOR="opencl:*" %t-nvptx64-spir64.out
// RUN: %{run-unfiltered-devices} env ONEAPI_DEVICE_SELECTOR="cuda:*" %t-nvptx64-spir64.out

// REQUIRES: opencl, cuda
// REQUIRES: build-and-run-mode
// REQUIRES: opencl, target-spir, any-triple-is-nvidia

//==------- sycl-targets-order.cpp - SYCL -fsycl-targets order test --------==//
//
Expand Down Expand Up @@ -36,7 +35,7 @@ int main(int argc, char **argv) {
sycl::buffer<unsigned int, 1> buffer(4);

// size of the index space for the kernel
sycl::range<1> NumOfWorkItems{buffer.get_count()};
sycl::range<1> NumOfWorkItems{buffer.size()};

// submit a command group(work) to the queue
queue.submit([&](sycl::handler &cgh) {
Expand All @@ -55,7 +54,7 @@ int main(int argc, char **argv) {

// check the results
bool mismatch = false;
for (unsigned int i = 0; i < buffer.get_count(); ++i) {
for (unsigned int i = 0; i < buffer.size(); ++i) {
if (host_accessor[i] != i) {
std::cout << "The result is incorrect for element: " << i
<< " , expected: " << i << " , got: " << host_accessor[i]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
// a choice based on that. This is rather fragile but workarounds the issue for
// the time being.

// DEFINE: %{not} = not %if test-mode-run-only %{ --crash %}
// DEFINE: %{not} = not %if run-mode && !build-mode %{ --crash %}

// RUN: %{build} %device_asan_flags -O0 -g -o %t1.out
// RUN: %{run} %{not} %t1.out 2>&1 | FileCheck %s
Expand Down
4 changes: 2 additions & 2 deletions sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
///

// REQUIRES: opencl-aot, ocloc, gpu-intel-gen12, any-device-is-cpu
// REQUIRES: build-and-run-mode

// RUN: %clangxx -fsycl -fsycl-targets=spir64 %s -o %t.out
// RUN: %{run} %t.out

// RUN: %clangxx -fsycl -fsycl-targets=spir64,spir64_gen -Xsycl-target-backend=spir64_gen "-device gen12lp" %s -o %t.out
// RUN: %{run} %t.out

// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64,spir64_gen -Xsycl-target-backend=spir64_gen "-device gen12lp" %s -o %t.out
// CPU AOT targets host isa, so we compile on the run system instead.
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64,spir64_gen -Xsycl-target-backend=spir64_gen "-device gen12lp" %s -o %t.out
// RUN: %{run} %t.out

#include "bfloat16_example.hpp"
Expand Down
4 changes: 2 additions & 2 deletions sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
///

// REQUIRES: opencl-aot, ocloc, gpu-intel-gen12, any-device-is-cpu
// REQUIRES: build-and-run-mode

// RUN: %clangxx -fsycl -fsycl-targets=spir64,spir64_gen -Xsycl-target-backend=spir64_gen "-device dg1" %s -o %t.out
// RUN: %if cpu %{ %{run} %t.out %}

// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64,spir64_gen -Xsycl-target-backend=spir64_gen "-device dg1" %s -o %t.out
// CPU AOT targets host isa, so we compile on the run system instead.
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64,spir64_gen -Xsycl-target-backend=spir64_gen "-device dg1" %s -o %t.out
// RUN: %if cpu %{ %{run} %t.out %}

#include "bfloat16_example.hpp"
Expand Down
4 changes: 2 additions & 2 deletions sycl/test-e2e/Compression/compression_aot.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// End-to-End test for testing device image compression in AOT.
// REQUIRES: zstd, opencl-aot, cpu
// REQUIRES: build-and-run-mode

// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 %O0 --offload-compress --offload-compression-level=3 %S/Inputs/single_kernel.cpp -o %t_compress.out
// CPU AOT targets host isa, so we compile on the run system instead.
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %O0 --offload-compress --offload-compression-level=3 %S/Inputs/single_kernel.cpp -o %t_compress.out
// RUN: %{run} %t_compress.out
16 changes: 8 additions & 8 deletions sycl/test-e2e/Compression/compression_separate_compile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,27 @@
// seperatly compile and link device images.

// REQUIRES: zstd, opencl-aot, cpu, linux
// REQUIRES: build-and-run-mode

// CPU AOT targets host isa, so we compile everything on the run system instead.
////////////////////// Compile device images
// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 -fsycl-host-compiler=clang++ -fsycl-host-compiler-options='-std=c++17 -Wno-attributes -Wno-deprecated-declarations -fPIC -DENABLE_KERNEL1' -DENABLE_KERNEL1 -c %s -o %t_kernel1_aot.o
// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 -fsycl-host-compiler=clang++ -fsycl-host-compiler-options='-std=c++17 -Wno-attributes -Wno-deprecated-declarations -fPIC -DENABLE_KERNEL2' -DENABLE_KERNEL2 -c %s -o %t_kernel2_aot.o
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -fsycl-host-compiler=clang++ -fsycl-host-compiler-options='-std=c++17 -Wno-attributes -Wno-deprecated-declarations -fPIC -DENABLE_KERNEL1' -DENABLE_KERNEL1 -c %s -o %t_kernel1_aot.o
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -fsycl-host-compiler=clang++ -fsycl-host-compiler-options='-std=c++17 -Wno-attributes -Wno-deprecated-declarations -fPIC -DENABLE_KERNEL2' -DENABLE_KERNEL2 -c %s -o %t_kernel2_aot.o

////////////////////// Link device images
// RUN: %clangxx --offload-compress -fsycl -fsycl-link -fsycl-targets=spir64_x86_64 -fPIC %t_kernel1_aot.o %t_kernel2_aot.o -o %t_compressed_image.o -v
// RUN: %{run-aux} %clangxx --offload-compress -fsycl -fsycl-link -fsycl-targets=spir64_x86_64 -fPIC %t_kernel1_aot.o %t_kernel2_aot.o -o %t_compressed_image.o -v

// Make sure the clang-offload-wrapper is called with the --offload-compress
// option.
// RUN: %clangxx --offload-compress -fsycl -fsycl-link -fsycl-targets=spir64_x86_64 -fPIC %t_kernel1_aot.o %t_kernel2_aot.o -o %t_compressed_image.o -### &> %t_driver_opts.txt
// RUN: FileCheck -input-file=%t_driver_opts.txt %s --check-prefix=CHECK-DRIVER-OPTS
// RUN: %{run-aux} %clangxx --offload-compress -fsycl -fsycl-link -fsycl-targets=spir64_x86_64 -fPIC %t_kernel1_aot.o %t_kernel2_aot.o -o %t_compressed_image.o -### &> %t_driver_opts.txt
// RUN: %{run-aux} FileCheck -input-file=%t_driver_opts.txt %s --check-prefix=CHECK-DRIVER-OPTS

// CHECK-DRIVER-OPTS: clang-offload-wrapper{{.*}} "-offload-compress"

////////////////////// Compile the host program
// RUN: %clangxx -fsycl -std=c++17 -Wno-attributes -Wno-deprecated-declarations -fPIC -c %s -o %t_main.o
// RUN: %{run-aux} %clangxx -fsycl -std=c++17 -Wno-attributes -Wno-deprecated-declarations -fPIC -c %s -o %t_main.o

////////////////////// Link the host program and compressed device images
// RUN: %clangxx -fsycl %t_main.o %t_kernel1_aot.o %t_kernel2_aot.o %t_compressed_image.o -o %t_compress.out
// RUN: %{run-aux} %clangxx -fsycl %t_main.o %t_kernel1_aot.o %t_kernel2_aot.o %t_compressed_image.o -o %t_compress.out

// RUN: %{run} %t_compress.out

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// REQUIRES: opencl-aot, cpu
// REQUIRES: build-and-run-mode
// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 %s -o %t.out

// CPU AOT targets host isa, so we compile on the run system instead.
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %s -o %t.out
// RUN: %{run} %t.out

#include <sycl/detail/core.hpp>
Expand Down
6 changes: 3 additions & 3 deletions sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// REQUIRES: opencl-aot, cpu
// REQUIRES: build-and-run-mode

// RUN: %clangxx -fsycl -fsycl-device-code-split=per_source -fsycl-targets=spir64_x86_64 -I %S/Inputs -o %t.out %S/split-per-source-main.cpp %S/Inputs/split-per-source-second-file.cpp \
// RUN: -fsycl-dead-args-optimization
// CPU AOT targets host isa, so we compile on the run system instead.
// RUN: %{run-aux} %clangxx -fsycl -fsycl-device-code-split=per_source -fsycl-targets=spir64_x86_64 -I %S/Inputs -o %t.out \
// RUN: %S/split-per-source-main.cpp %S/Inputs/split-per-source-second-file.cpp -fsycl-dead-args-optimization
// RUN: %{run} %t.out
4 changes: 2 additions & 2 deletions sycl/test-e2e/DeviceLib/assert-aot.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// REQUIRES: opencl-aot, cpu, linux
// REQUIRES: build-and-run-mode

// RUN: %clangxx -DSYCL_FALLBACK_ASSERT=1 -fsycl -fsycl-targets=spir64_x86_64 %S/assert.cpp -o %t.aot.out
// CPU AOT targets host isa, so we compile on the run system instead.
// RUN: %{run-aux} %clangxx -DSYCL_FALLBACK_ASSERT=1 -fsycl -fsycl-targets=spir64_x86_64 %S/assert.cpp -o %t.aot.out
// RUN: env EXPECTED_SIGNAL=SIGABRT SHOULD_CRASH=1 %{run} %t.aot.out 2>&1 | FileCheck %S/assert.cpp --check-prefixes=CHECK-MESSAGE
10 changes: 5 additions & 5 deletions sycl/test-e2e/DeviceLib/cmath-aot.cpp
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
// REQUIRES: opencl-aot, cpu
// REQUIRES: build-and-run-mode
// UNSUPPORTED: windows

// DEFINE: %{mathflags} = %if cl_options %{/clang:-fno-fast-math%} %else %{-fno-fast-math%}

// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 %{mathflags} %S/cmath_test.cpp -o %t.cmath.out
// CPU AOT targets host isa, so we compile on the run system instead.
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %{mathflags} %S/cmath_test.cpp -o %t.cmath.out
// RUN: %{run} %t.cmath.out

// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 %{mathflags} %S/cmath_fp64_test.cpp -o %t.cmath.fp64.out
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %{mathflags} %S/cmath_fp64_test.cpp -o %t.cmath.fp64.out
// RUN: %{run} %t.cmath.fp64.out

// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 %{mathflags} %S/std_complex_math_test.cpp -o %t.complex.out
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %{mathflags} %S/std_complex_math_test.cpp -o %t.complex.out
// RUN: %{run} %t.complex.out

// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 %{mathflags} %S/std_complex_math_fp64_test.cpp -o %t.complex.fp64.out
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %{mathflags} %S/std_complex_math_fp64_test.cpp -o %t.complex.fp64.out
// RUN: %{run} %t.complex.fp64.out
1 change: 0 additions & 1 deletion sycl/test-e2e/E2EExpr.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

class E2EExpr(BooleanExpression):
build_specific_features = {
"build-and-run-mode",
"preview-mode",
"target-spir",
"target-nvidia",
Expand Down
39 changes: 19 additions & 20 deletions sycl/test-e2e/KernelAndProgram/test_cache_jit_aot.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,68 +2,67 @@
// cannot do that reliably when number of devices is unknown.
//
// REQUIRES: level_zero, ocloc
// REQUIRES: build-and-run-mode
//
// DEFINE: %{cache_vars} = env SYCL_CACHE_PERSISTENT=1 SYCL_CACHE_TRACE=1 SYCL_CACHE_DIR=%t/cache_dir
// DEFINE: %{build_cmd} = %{build}
// RUN: mkdir -p %t/cache_dir
// RUN: %{run-aux} mkdir -p %t/cache_dir
//
// The following block of code should be copy-pasted as-is to verify different
// JIT/AOT options. Don't know how to avoid code duplication.
// ******************************
// Check the logs first.
// RUN: %{build_cmd} -DVALUE=1 -o %t.out
// RUN: rm -rf %t/cache_dir/*
// RUN: %{run-aux} %{build_cmd} -DVALUE=1 -o %t.out
// RUN: %{run-aux} rm -rf %t/cache_dir/*
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-CACHE-WRITE
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-CACHE-READ
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-CACHE-READ
//
// Now try to substitute the cached image and verify it is actually taken and
// the code/binary there is executed.
// RUN: mv %t/cache_dir/*/*/*/*/*.bin %t.value1.bin
// RUN: rm -rf %t/cache_dir/*
// RUN: %{build_cmd} -DVALUE=2 -o %t.out
// RUN: %{run-aux} mv %t/cache_dir/*/*/*/*/*.bin %t.value1.bin
// RUN: %{run-aux} rm -rf %t/cache_dir/*
// RUN: %{run-aux} %{build_cmd} -DVALUE=2 -o %t.out
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes RESULT2
// RUN: mv %t.value1.bin %t/cache_dir/*/*/*/*/*.bin
// RUN: %{run-aux} mv %t.value1.bin %t/cache_dir/*/*/*/*/*.bin
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes RESULT1
// ******************************
//
// REDEFINE: %{build_cmd} = %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device acm-g10" %s
// ******************************
// Check the logs first.
// RUN: %{build_cmd} -DVALUE=1 -o %t.out
// RUN: rm -rf %t/cache_dir/*
// RUN: %{run-aux} %{build_cmd} -DVALUE=1 -o %t.out
// RUN: %{run-aux} rm -rf %t/cache_dir/*
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-CACHE-WRITE
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-CACHE-READ
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-CACHE-READ

//
// Now try to substitute the cached image and verify it is actually taken and
// the code/binary there is executed.
// RUN: mv %t/cache_dir/*/*/*/*/*.bin %t.value1.bin
// RUN: rm -rf %t/cache_dir/*
// RUN: %{build_cmd} -DVALUE=2 -o %t.out
// RUN: %{run-aux} mv %t/cache_dir/*/*/*/*/*.bin %t.value1.bin
// RUN: %{run-aux} rm -rf %t/cache_dir/*
// RUN: %{run-aux} %{build_cmd} -DVALUE=2 -o %t.out
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes RESULT2
// RUN: mv %t.value1.bin %t/cache_dir/*/*/*/*/*.bin
// RUN: %{run-aux} mv %t.value1.bin %t/cache_dir/*/*/*/*/*.bin
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes RESULT1
// ******************************
//
// REDEFINE: %{build_cmd} = %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device acm-g10,acm-g11" %s
// ******************************
// Check the logs first.
// RUN: %{build_cmd} -DVALUE=1 -o %t.out
// RUN: rm -rf %t/cache_dir/*
// RUN: %{run-aux} %{build_cmd} -DVALUE=1 -o %t.out
// RUN: %{run-aux} rm -rf %t/cache_dir/*
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-CACHE-WRITE
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-CACHE-READ
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-CACHE-READ
//
// Now try to substitute the cached image and verify it is actually taken and
// the code/binary there is executed.
// RUN: mv %t/cache_dir/*/*/*/*/*.bin %t.value1.bin
// RUN: rm -rf %t/cache_dir/*
// RUN: %{build_cmd} -DVALUE=2 -o %t.out
// RUN: %{run-aux} mv %t/cache_dir/*/*/*/*/*.bin %t.value1.bin
// RUN: %{run-aux} rm -rf %t/cache_dir/*
// RUN: %{run-aux} %{build_cmd} -DVALUE=2 -o %t.out
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes RESULT2
// RUN: mv %t.value1.bin %t/cache_dir/*/*/*/*/*.bin
// RUN: %{run-aux} mv %t.value1.bin %t/cache_dir/*/*/*/*/*.bin
// RUN: %{cache_vars} %{run-unfiltered-devices} %t.out 2>&1 | FileCheck %s --check-prefixes RESULT1
// ******************************

Expand Down
6 changes: 3 additions & 3 deletions sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// REQUIRES: opencl-aot, cpu
// REQUIRES: build-and-run-mode

// CPU AOT targets host isa, so we compile on the run system instead.
// Test with `--offload-new-driver`
// RUN: %clangxx -fsycl -fsycl-device-code-split=per_source -fsycl-targets=spir64_x86_64 -I %S/Inputs -o %t.out %S/split-per-source-main.cpp %S/Inputs/split-per-source-second-file.cpp \
// RUN: %{run-aux} %clangxx -fsycl -fsycl-device-code-split=per_source -fsycl-targets=spir64_x86_64 -I %S/Inputs -o %t.out %S/split-per-source-main.cpp %S/Inputs/split-per-source-second-file.cpp \
// RUN: -fsycl-dead-args-optimization --offload-new-driver
// RUN: %{run} %t.out

// Test -O0 with `--offload-new-driver`
// RUN: %clangxx %O0 -fsycl -fsycl-targets=spir64-x86_64 %S/Inputs/aot.cpp
// RUN: %{run-aux} %clangxx %O0 -fsycl -fsycl-targets=spir64-x86_64 %S/Inputs/aot.cpp
// RUN: %{run} %t.out
4 changes: 2 additions & 2 deletions sycl/test-e2e/NewOffloadDriver/cpu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
//===---------------------------------------------------------------------===//

// REQUIRES: opencl-aot, cpu
// REQUIRES: build-and-run-mode

// CPU AOT targets host isa, so we compile on the run system instead.
// Test with `--offload-new-driver`
// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 --offload-new-driver %S/Inputs/aot.cpp -o %t.out
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 --offload-new-driver %S/Inputs/aot.cpp -o %t.out
// RUN: %{run} %t.out

// Test that opencl-aot can handle multiple build options.
Expand Down
4 changes: 2 additions & 2 deletions sycl/test-e2e/NonUniformGroups/ballot_group.cpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// RUN: %{build} -o %t.out
// RUN: %{run} %t.out
//
// RUN: %if any-device-is-cpu && opencl-aot %{ %clangxx -fsycl -fsycl-targets=spir64_x86_64 -o %t.x86.out %s %}
// CPU AOT targets host isa, so we compile on the run system instead.
// RUN: %if any-device-is-cpu && opencl-aot %{ %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -o %t.x86.out %s %}
// RUN: %if cpu %{ %{run} %t.x86.out %}
//
// REQUIRES: build-and-run-mode
// REQUIRES: cpu || gpu
// UNSUPPORTED: hip

Expand Down
4 changes: 2 additions & 2 deletions sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// RUN: %{build} -o %t.out
// RUN: %{run} %t.out
//
// RUN: %if any-device-is-cpu && opencl-aot %{ %clangxx -fsycl -fsycl-targets=spir64_x86_64 -o %t.x86.out %s %}
// CPU AOT targets host isa, so we compile on the run system instead.
// RUN: %if any-device-is-cpu && opencl-aot %{ %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -o %t.x86.out %s %}
// RUN: %if cpu %{ %{run} %t.x86.out %}
//
// REQUIRES: build-and-run-mode
// REQUIRES: cpu || gpu
// REQUIRES: sg-32
// REQUIRES: aspect-ext_oneapi_ballot_group
Expand Down
4 changes: 2 additions & 2 deletions sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// RUN: %{build} -o %t.out
// RUN: %{run} %t.out
//
// RUN: %if any-device-is-cpu && opencl-aot %{ %clangxx -fsycl -fsycl-targets=spir64_x86_64 -o %t.x86.out %s %}
// CPU AOT targets host isa, so we compile on the run system instead.
// RUN: %if any-device-is-cpu && opencl-aot %{ %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -o %t.x86.out %s %}
// RUN: %if cpu %{ %{run} %t.x86.out %}
//
// REQUIRES: build-and-run-mode
// REQUIRES: cpu || gpu
// UNSUPPORTED: hip
// REQUIRES: sg-32
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
// RUN: %{build} -fsycl-device-code-split=per_kernel -o %t.out
// RUN: %{run} %t.out
//
// RUN: %if any-device-is-cpu && opencl-aot %{ %clangxx -fsycl -fsycl-targets=spir64_x86_64 -fsycl-device-code-split=per_kernel -o %t.x86.out %s %}
// CPU AOT targets host isa, so we compile on the run system instead.
// RUN: %if any-device-is-cpu && opencl-aot %{ %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -fsycl-device-code-split=per_kernel -o %t.x86.out %s %}
// RUN: %if cpu %{ %{run} %t.x86.out %}
//
// REQUIRES: build-and-run-mode
// REQUIRES: cpu || gpu
// REQUIRES: sg-32
// REQUIRES: aspect-ext_oneapi_fixed_size_group
// UNSUPPORTED: target-amd
// UNSUPPORTED-INTENDED: fixed_size_group aspect not available on amd

// UNSUPPORTED: spirv-backend
// UNSUPPORTED-TRACKER: CMPLRLLVM-64702
Expand Down
Loading