From f01dd0536ed797f44f5e0f1f77d9e2c059dacc60 Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Tue, 11 Feb 2025 11:52:01 -0800 Subject: [PATCH 01/15] Remove build-and-run reqs from aot tests --- sycl/test-e2e/AOT/cpu.cpp | 3 +-- sycl/test-e2e/AOT/double.cpp | 3 +-- sycl/test-e2e/AOT/half.cpp | 3 +-- sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp | 5 ++--- .../BFloat16/bfloat16_example_aot_cpu.cpp | 5 ++--- sycl/test-e2e/Compression/compression_aot.cpp | 3 +-- .../Compression/compression_separate_compile.cpp | 15 +++++++-------- .../device_architecture_on_device_aot.cpp | 3 +-- sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp | 5 ++--- sycl/test-e2e/DeviceLib/assert-aot.cpp | 3 +-- sycl/test-e2e/DeviceLib/cmath-aot.cpp | 9 ++++----- sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp | 5 ++--- sycl/test-e2e/NewOffloadDriver/cpu.cpp | 3 +-- sycl/test-e2e/NonUniformGroups/ballot_group.cpp | 3 +-- .../NonUniformGroups/ballot_group_algorithms.cpp | 3 +-- .../NonUniformGroups/fixed_size_group.cpp | 3 +-- .../fixed_size_group_algorithms.cpp | 3 +-- .../NonUniformGroups/opportunistic_group.cpp | 3 +-- .../opportunistic_group_algorithms.cpp | 3 +-- sycl/test-e2e/NonUniformGroups/tangle_group.cpp | 3 +-- .../NonUniformGroups/tangle_group_algorithms.cpp | 3 +-- .../2020/non_native/SpecConstBuffer.cpp | 3 +-- .../SpecConstants/2020/non_native/cpu.cpp | 2 +- .../bindless_images/cubemap/cubemap_sampled.cpp | 1 - 24 files changed, 36 insertions(+), 59 deletions(-) diff --git a/sycl/test-e2e/AOT/cpu.cpp b/sycl/test-e2e/AOT/cpu.cpp index e7bedc04b07ba..9d22121c82238 100644 --- a/sycl/test-e2e/AOT/cpu.cpp +++ b/sycl/test-e2e/AOT/cpu.cpp @@ -7,9 +7,8 @@ //===---------------------------------------------------------------------===// // REQUIRES: opencl-aot, cpu -// REQUIRES: build-and-run-mode -// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 %S/Inputs/aot.cpp -o %t.out +// 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. diff --git a/sycl/test-e2e/AOT/double.cpp b/sycl/test-e2e/AOT/double.cpp index 4d48f5c7b57ec..a0a2a52dceddf 100644 --- a/sycl/test-e2e/AOT/double.cpp +++ b/sycl/test-e2e/AOT/double.cpp @@ -2,9 +2,8 @@ // 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 +// 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 diff --git a/sycl/test-e2e/AOT/half.cpp b/sycl/test-e2e/AOT/half.cpp index 5711b21735f72..f373e70dfdcb7 100644 --- a/sycl/test-e2e/AOT/half.cpp +++ b/sycl/test-e2e/AOT/half.cpp @@ -2,9 +2,8 @@ // 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 +// 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 diff --git a/sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp b/sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp index 32c6c3aae8f06..240359d747fda 100644 --- a/sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp +++ b/sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp @@ -4,15 +4,14 @@ /// // 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-aux} %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 +// 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" diff --git a/sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp b/sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp index 9231a62428272..d2e56730c233d 100644 --- a/sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp +++ b/sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp @@ -4,12 +4,11 @@ /// // 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: %{run-aux} %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 +// 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" diff --git a/sycl/test-e2e/Compression/compression_aot.cpp b/sycl/test-e2e/Compression/compression_aot.cpp index ba95974fde781..ae692242883e6 100644 --- a/sycl/test-e2e/Compression/compression_aot.cpp +++ b/sycl/test-e2e/Compression/compression_aot.cpp @@ -1,6 +1,5 @@ // 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 +// 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 diff --git a/sycl/test-e2e/Compression/compression_separate_compile.cpp b/sycl/test-e2e/Compression/compression_separate_compile.cpp index afbe442230e29..10776b7aa0d9d 100644 --- a/sycl/test-e2e/Compression/compression_separate_compile.cpp +++ b/sycl/test-e2e/Compression/compression_separate_compile.cpp @@ -2,27 +2,26 @@ // seperatly compile and link device images. // REQUIRES: zstd, opencl-aot, cpu, linux -// REQUIRES: build-and-run-mode ////////////////////// 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 -### \ +// RUN: | FileCheck %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 diff --git a/sycl/test-e2e/DeviceArchitecture/device_architecture_on_device_aot.cpp b/sycl/test-e2e/DeviceArchitecture/device_architecture_on_device_aot.cpp index 1d4c41f117136..f79b53874f7ce 100644 --- a/sycl/test-e2e/DeviceArchitecture/device_architecture_on_device_aot.cpp +++ b/sycl/test-e2e/DeviceArchitecture/device_architecture_on_device_aot.cpp @@ -1,6 +1,5 @@ // REQUIRES: opencl-aot, cpu -// REQUIRES: build-and-run-mode -// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 %s -o %t.out +// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %s -o %t.out // RUN: %{run} %t.out #include diff --git a/sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp b/sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp index 319c69af0faef..42535561aef83 100644 --- a/sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp +++ b/sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp @@ -1,6 +1,5 @@ // 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 +// 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 diff --git a/sycl/test-e2e/DeviceLib/assert-aot.cpp b/sycl/test-e2e/DeviceLib/assert-aot.cpp index f5c8c61f07d78..444ea24b406a3 100644 --- a/sycl/test-e2e/DeviceLib/assert-aot.cpp +++ b/sycl/test-e2e/DeviceLib/assert-aot.cpp @@ -1,5 +1,4 @@ // 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 +// 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 diff --git a/sycl/test-e2e/DeviceLib/cmath-aot.cpp b/sycl/test-e2e/DeviceLib/cmath-aot.cpp index c9897f652f034..dc71af4b0921e 100644 --- a/sycl/test-e2e/DeviceLib/cmath-aot.cpp +++ b/sycl/test-e2e/DeviceLib/cmath-aot.cpp @@ -1,17 +1,16 @@ // 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 +// 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 diff --git a/sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp b/sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp index 0016e8498bd9d..5d532a52d7b29 100644 --- a/sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp +++ b/sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp @@ -1,11 +1,10 @@ // REQUIRES: opencl-aot, cpu -// REQUIRES: build-and-run-mode // 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 diff --git a/sycl/test-e2e/NewOffloadDriver/cpu.cpp b/sycl/test-e2e/NewOffloadDriver/cpu.cpp index 943ea71c3386e..f9a86dafc647e 100644 --- a/sycl/test-e2e/NewOffloadDriver/cpu.cpp +++ b/sycl/test-e2e/NewOffloadDriver/cpu.cpp @@ -7,10 +7,9 @@ //===---------------------------------------------------------------------===// // REQUIRES: opencl-aot, cpu -// REQUIRES: build-and-run-mode // 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. diff --git a/sycl/test-e2e/NonUniformGroups/ballot_group.cpp b/sycl/test-e2e/NonUniformGroups/ballot_group.cpp index 1532c54879ecc..235e1922b0879 100644 --- a/sycl/test-e2e/NonUniformGroups/ballot_group.cpp +++ b/sycl/test-e2e/NonUniformGroups/ballot_group.cpp @@ -1,10 +1,9 @@ // 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 %} +// 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 diff --git a/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp index da9154ae602d0..c3212cfe8cfbc 100644 --- a/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp @@ -1,10 +1,9 @@ // 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 %} +// 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 diff --git a/sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp b/sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp index 5d2b98b58ddc2..81e7e3944be0c 100644 --- a/sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp +++ b/sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp @@ -1,10 +1,9 @@ // 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 %} +// 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 diff --git a/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp index 07898d0146fb9..69d2d3bf3a385 100644 --- a/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp @@ -1,10 +1,9 @@ // 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 %} +// 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 diff --git a/sycl/test-e2e/NonUniformGroups/opportunistic_group.cpp b/sycl/test-e2e/NonUniformGroups/opportunistic_group.cpp index 2069113c3f939..0560f3d89178c 100644 --- a/sycl/test-e2e/NonUniformGroups/opportunistic_group.cpp +++ b/sycl/test-e2e/NonUniformGroups/opportunistic_group.cpp @@ -1,10 +1,9 @@ // 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 %} +// 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 diff --git a/sycl/test-e2e/NonUniformGroups/opportunistic_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/opportunistic_group_algorithms.cpp index 8e7626650e01c..ba9dfe3def4b1 100644 --- a/sycl/test-e2e/NonUniformGroups/opportunistic_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/opportunistic_group_algorithms.cpp @@ -1,10 +1,9 @@ // 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 %} +// 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_opportunistic_group diff --git a/sycl/test-e2e/NonUniformGroups/tangle_group.cpp b/sycl/test-e2e/NonUniformGroups/tangle_group.cpp index 686d1b34c6185..a2588341b4ce6 100644 --- a/sycl/test-e2e/NonUniformGroups/tangle_group.cpp +++ b/sycl/test-e2e/NonUniformGroups/tangle_group.cpp @@ -1,10 +1,9 @@ // RUN: %{build} -fno-sycl-early-optimizations -o %t.out // RUN: %{run} %t.out // -// RUN: %if any-device-is-cpu && opencl-aot %{ %clangxx -fsycl -fsycl-targets=spir64_x86_64 -fno-sycl-early-optimizations -o %t.x86.out %s %} +// RUN: %if any-device-is-cpu && opencl-aot %{ %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -fno-sycl-early-optimizations -o %t.x86.out %s %} // RUN: %if cpu %{ %{run} %t.x86.out %} // -// REQUIRES: build-and-run-mode // REQUIRES: cpu || gpu // UNSUPPORTED: cuda || hip diff --git a/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp index 51070ed1731e4..d242c23d5f4a6 100644 --- a/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp @@ -1,10 +1,9 @@ // RUN: %{build} -fno-sycl-early-optimizations -o %t.out // RUN: %{run} %t.out // -// RUN: %if any-device-is-cpu && opencl-aot %{ %clangxx -fsycl -fsycl-targets=spir64_x86_64 -fno-sycl-early-optimizations -o %t.x86.out %s %} +// RUN: %if any-device-is-cpu && opencl-aot %{ %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -fno-sycl-early-optimizations -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_tangle_group diff --git a/sycl/test-e2e/SpecConstants/2020/non_native/SpecConstBuffer.cpp b/sycl/test-e2e/SpecConstants/2020/non_native/SpecConstBuffer.cpp index bc7145049ddcb..3473516e19598 100644 --- a/sycl/test-e2e/SpecConstants/2020/non_native/SpecConstBuffer.cpp +++ b/sycl/test-e2e/SpecConstants/2020/non_native/SpecConstBuffer.cpp @@ -1,7 +1,6 @@ // REQUIRES: opencl-aot, cpu -// REQUIRES: build-and-run-mode -// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 %S/Inputs/common.cpp -o %t.out \ +// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %S/Inputs/common.cpp -o %t.out \ // RUN: -fsycl-dead-args-optimization // RUN: env SYCL_UR_TRACE=2 %{run} %t.out | FileCheck %s diff --git a/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp b/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp index f6b7b836e873c..94a4584154737 100644 --- a/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp +++ b/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp @@ -1,7 +1,7 @@ // REQUIRES: opencl-aot, cpu // REQUIRES: build-and-run-mode -// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 %S/Inputs/common.cpp -o %t.out \ +// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %S/Inputs/common.cpp -o %t.out \ // RUN: -fsycl-dead-args-optimization // RUN: %{run} %t.out diff --git a/sycl/test-e2e/bindless_images/cubemap/cubemap_sampled.cpp b/sycl/test-e2e/bindless_images/cubemap/cubemap_sampled.cpp index 23051ec0850ef..164fe420b2d3e 100644 --- a/sycl/test-e2e/bindless_images/cubemap/cubemap_sampled.cpp +++ b/sycl/test-e2e/bindless_images/cubemap/cubemap_sampled.cpp @@ -1,6 +1,5 @@ // REQUIRES: aspect-ext_oneapi_cubemap // REQUIRES: aspect-ext_oneapi_cubemap_seamless_filtering -// REQUIRES: build-and-run-mode // RUN: %{build} -o %t.out // RUN: %{run-unfiltered-devices} %t.out From d87fb607e5b9af3bf32c3203a7b3646f56466318 Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Fri, 14 Feb 2025 10:11:54 -0800 Subject: [PATCH 02/15] Remove `REQUIRES: build-and-run-mode` from rest of tests --- sycl/test-e2e/Adapters/sycl-targets-order.cpp | 3 +- .../KernelAndProgram/test_cache_jit_aot.cpp | 39 +++++++++---------- .../device_libs_and_caching.cpp | 3 +- .../2020/native_specialization_constant.cpp | 3 +- .../SpecConstants/2020/non_native/cpu.cpp | 1 - .../cubemap/cubemap_unsampled.cpp | 1 - .../examples/example_5_sample_cubemap.cpp | 3 +- 7 files changed, 26 insertions(+), 27 deletions(-) diff --git a/sycl/test-e2e/Adapters/sycl-targets-order.cpp b/sycl/test-e2e/Adapters/sycl-targets-order.cpp index 273d3f51ec328..bca0ddcb25fba 100644 --- a/sycl/test-e2e/Adapters/sycl-targets-order.cpp +++ b/sycl/test-e2e/Adapters/sycl-targets-order.cpp @@ -6,7 +6,8 @@ // RUN: %{run-unfiltered-devices} env ONEAPI_DEVICE_SELECTOR="cuda:*" %t-nvptx64-spir64.out // REQUIRES: opencl, cuda -// REQUIRES: build-and-run-mode +// XFAIL: * +// XFAIL-TRACKER: https://github.com/intel/llvm/issues/00000 //==------- sycl-targets-order.cpp - SYCL -fsycl-targets order test --------==// // diff --git a/sycl/test-e2e/KernelAndProgram/test_cache_jit_aot.cpp b/sycl/test-e2e/KernelAndProgram/test_cache_jit_aot.cpp index 09399274e0472..5a03a70c92e04 100644 --- a/sycl/test-e2e/KernelAndProgram/test_cache_jit_aot.cpp +++ b/sycl/test-e2e/KernelAndProgram/test_cache_jit_aot.cpp @@ -2,37 +2,36 @@ // 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 @@ -40,30 +39,30 @@ // // 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 // ****************************** diff --git a/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp b/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp index 877a78fae2e21..429110ff2e10c 100644 --- a/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp +++ b/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp @@ -1,5 +1,4 @@ // REQUIRES: ocloc && gpu && linux && (opencl || level_zero) -// REQUIRES: build-and-run-mode // Test to check several use cases for multi-device kernel bundles. // Test covers AOT and JIT cases. Kernel is using some math functions to enforce @@ -21,7 +20,7 @@ // RUN: env SYCL_CACHE_IN_MEM=0 NEOReadDebugKeys=1 CreateMultipleRootDevices=4 %{run} %t.out // Test AOT next. -// RUN: %{build} -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device *" -o %t.out +// RUN: %{run-aux} %{build} -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device *" -o %t.out // Check the default case when in-memory caching is enabled. // RUN: env NEOReadDebugKeys=1 CreateMultipleRootDevices=4 SYCL_UR_TRACE=2 %{run} %t.out | FileCheck %s --check-prefixes=CHECK-AOT-TRACE diff --git a/sycl/test-e2e/SpecConstants/2020/native_specialization_constant.cpp b/sycl/test-e2e/SpecConstants/2020/native_specialization_constant.cpp index c15c4ba892ed7..63edf0b1271ef 100644 --- a/sycl/test-e2e/SpecConstants/2020/native_specialization_constant.cpp +++ b/sycl/test-e2e/SpecConstants/2020/native_specialization_constant.cpp @@ -4,7 +4,8 @@ // FIXME: This set is never satisfied all at once in our infrastructure. // REQUIRES: opencl, level-zero, cpu, gpu, opencl-aot, ocloc -// REQUIRES: build-and-run-mode +// XFAIL: * +// XFAIL-TRACKER: https://github.com/intel/llvm/issues/00000 // RUN: %clangxx -fsycl -DJIT %s -o %t.out // RUN: %{run} %t.out diff --git a/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp b/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp index 94a4584154737..6d389a76706b5 100644 --- a/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp +++ b/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp @@ -1,5 +1,4 @@ // REQUIRES: opencl-aot, cpu -// REQUIRES: build-and-run-mode // RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %S/Inputs/common.cpp -o %t.out \ // RUN: -fsycl-dead-args-optimization diff --git a/sycl/test-e2e/bindless_images/cubemap/cubemap_unsampled.cpp b/sycl/test-e2e/bindless_images/cubemap/cubemap_unsampled.cpp index 80ad06ab738d2..5f2ef75faafd1 100644 --- a/sycl/test-e2e/bindless_images/cubemap/cubemap_unsampled.cpp +++ b/sycl/test-e2e/bindless_images/cubemap/cubemap_unsampled.cpp @@ -1,5 +1,4 @@ // REQUIRES: aspect-ext_oneapi_cubemap -// REQUIRES: build-and-run-mode // RUN: %{build} -o %t.out // RUN: %{run-unfiltered-devices} %t.out diff --git a/sycl/test-e2e/bindless_images/examples/example_5_sample_cubemap.cpp b/sycl/test-e2e/bindless_images/examples/example_5_sample_cubemap.cpp index 3e585eba2be9f..d69c0f7a657b1 100644 --- a/sycl/test-e2e/bindless_images/examples/example_5_sample_cubemap.cpp +++ b/sycl/test-e2e/bindless_images/examples/example_5_sample_cubemap.cpp @@ -1,5 +1,6 @@ // REQUIRES: aspect-ext_oneapi_cubemap -// REQUIRES: build-and-run-mode +// XFAIL: * +// XFAIL-TRACKER: https://github.com/intel/llvm/issues/00000 // RUN: %{build} -o %t.out // RUN: %{run-unfiltered-devices} %t.out From a49aae718d24676a12e2869d57fcc09c6f654b18 Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Fri, 14 Feb 2025 10:12:19 -0800 Subject: [PATCH 03/15] Remove build-and-run-mode from lit infrastructure --- sycl/test-e2e/E2EExpr.py | 1 - sycl/test-e2e/format.py | 7 +------ sycl/test-e2e/lit.cfg.py | 4 ---- 3 files changed, 1 insertion(+), 11 deletions(-) diff --git a/sycl/test-e2e/E2EExpr.py b/sycl/test-e2e/E2EExpr.py index 94eda0bf0492b..be4d5a5122f45 100644 --- a/sycl/test-e2e/E2EExpr.py +++ b/sycl/test-e2e/E2EExpr.py @@ -3,7 +3,6 @@ class E2EExpr(BooleanExpression): build_specific_features = { - "build-and-run-mode", "target-spir", "target-nvidia", "target-amd", diff --git a/sycl/test-e2e/format.py b/sycl/test-e2e/format.py index c8f5dbd4e9815..04a1458c4bd1f 100644 --- a/sycl/test-e2e/format.py +++ b/sycl/test-e2e/format.py @@ -309,12 +309,7 @@ def get_extra_env(sycl_devices): for i in ["%{run}", "%{run-unfiltered-devices}", "%{run-aux}"] ) - ignore_line_filtering = ( - "build-and-run-mode" in test.requires - and test.config.fallback_build_run_only - ) - if not ignore_line_filtering and ( - (is_run_line and test.config.test_mode == "build-only") + if ((is_run_line and test.config.test_mode == "build-only") or (not is_run_line and test.config.test_mode == "run-only") ): continue diff --git a/sycl/test-e2e/lit.cfg.py b/sycl/test-e2e/lit.cfg.py index 55688b5a29928..10a58a329f673 100644 --- a/sycl/test-e2e/lit.cfg.py +++ b/sycl/test-e2e/lit.cfg.py @@ -59,7 +59,6 @@ config.fallback_build_run_only = False if config.test_mode == "full": config.available_features.add("run-mode") - config.available_features.add("build-and-run-mode") elif config.test_mode == "run-only": lit_config.note("run-only test mode enabled, only executing tests") # run-only uses external shell, some tests might have hacks to workaround @@ -67,9 +66,6 @@ config.available_features.add("test-mode-run-only") config.available_features.add("run-mode") - if lit_config.params.get("fallback-to-build-if-requires-build-and-run", False): - config.available_features.add("build-and-run-mode") - config.fallback_build_run_only = True elif config.test_mode == "build-only": lit_config.note("build-only test mode enabled, only compiling tests") config.sycl_devices = [] From 19114beb185aff4ce9e89f87b1c797a50fc02142 Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Fri, 14 Feb 2025 10:14:05 -0800 Subject: [PATCH 04/15] Remove use of fallback build option in prebuilt ci job --- .github/workflows/sycl-linux-precommit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sycl-linux-precommit.yml b/.github/workflows/sycl-linux-precommit.yml index 77a71f3a2cd13..fdeda511efcb0 100644 --- a/.github/workflows/sycl-linux-precommit.yml +++ b/.github/workflows/sycl-linux-precommit.yml @@ -117,7 +117,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 }} reset_intel_gpu: ${{ matrix.reset_intel_gpu }} ref: ${{ github.sha }} sycl_toolchain_artifact: sycl_linux_default From ec193cbe805b5d9053a0ca9b4fd48c3fa5a93a73 Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Fri, 14 Feb 2025 13:29:06 -0800 Subject: [PATCH 05/15] Format --- sycl/test-e2e/format.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sycl/test-e2e/format.py b/sycl/test-e2e/format.py index 04a1458c4bd1f..3b9ba2b174ac2 100644 --- a/sycl/test-e2e/format.py +++ b/sycl/test-e2e/format.py @@ -309,8 +309,8 @@ def get_extra_env(sycl_devices): for i in ["%{run}", "%{run-unfiltered-devices}", "%{run-aux}"] ) - if ((is_run_line and test.config.test_mode == "build-only") - or (not is_run_line and test.config.test_mode == "run-only") + if (is_run_line and test.config.test_mode == "build-only") or ( + not is_run_line and test.config.test_mode == "run-only" ): continue From bc1e55b98fcc011b070dc9c85aac3f7982ffb75f Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Thu, 20 Feb 2025 07:29:18 -0800 Subject: [PATCH 06/15] Remove some run-aux, and add justification comments --- sycl/test-e2e/AOT/cpu.cpp | 1 + sycl/test-e2e/AOT/double.cpp | 2 ++ sycl/test-e2e/AOT/half.cpp | 2 ++ sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp | 3 ++- sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp | 3 ++- sycl/test-e2e/Compression/compression_aot.cpp | 1 + sycl/test-e2e/Compression/compression_separate_compile.cpp | 1 + .../DeviceArchitecture/device_architecture_on_device_aot.cpp | 2 ++ sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp | 1 + sycl/test-e2e/DeviceLib/assert-aot.cpp | 1 + sycl/test-e2e/DeviceLib/cmath-aot.cpp | 1 + sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp | 1 + sycl/test-e2e/NewOffloadDriver/cpu.cpp | 1 + sycl/test-e2e/NonUniformGroups/ballot_group.cpp | 1 + sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp | 1 + sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp | 1 + sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp | 1 + sycl/test-e2e/NonUniformGroups/opportunistic_group.cpp | 1 + .../NonUniformGroups/opportunistic_group_algorithms.cpp | 1 + sycl/test-e2e/NonUniformGroups/tangle_group.cpp | 1 + sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp | 1 + .../multi_device_bundle/device_libs_and_caching.cpp | 2 +- .../test-e2e/SpecConstants/2020/non_native/SpecConstBuffer.cpp | 1 + sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp | 1 + 24 files changed, 29 insertions(+), 3 deletions(-) diff --git a/sycl/test-e2e/AOT/cpu.cpp b/sycl/test-e2e/AOT/cpu.cpp index 9d22121c82238..eae8564eeb979 100644 --- a/sycl/test-e2e/AOT/cpu.cpp +++ b/sycl/test-e2e/AOT/cpu.cpp @@ -8,6 +8,7 @@ // REQUIRES: opencl-aot, cpu +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %S/Inputs/aot.cpp -o %t.out // RUN: %{run} %t.out diff --git a/sycl/test-e2e/AOT/double.cpp b/sycl/test-e2e/AOT/double.cpp index a0a2a52dceddf..515cbf0e0ac86 100644 --- a/sycl/test-e2e/AOT/double.cpp +++ b/sycl/test-e2e/AOT/double.cpp @@ -3,6 +3,8 @@ // REQUIRES: ocloc, opencl-aot, any-device-is-cpu // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_tgllp -o %t.tgllp.out %s + +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -o %t.x86.out %s // RUN: %if cpu %{ %{run} %t.x86.out %} diff --git a/sycl/test-e2e/AOT/half.cpp b/sycl/test-e2e/AOT/half.cpp index f373e70dfdcb7..d821b66d94b14 100644 --- a/sycl/test-e2e/AOT/half.cpp +++ b/sycl/test-e2e/AOT/half.cpp @@ -3,6 +3,8 @@ // REQUIRES: ocloc, opencl-aot, any-device-is-cpu // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_tgllp -o %t.tgllp.out %s + +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -o %t.x86.out %s // RUN: %if cpu %{ %{run} %t.x86.out %} diff --git a/sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp b/sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp index 240359d747fda..4a2dd435b3948 100644 --- a/sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp +++ b/sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp @@ -8,9 +8,10 @@ // RUN: %clangxx -fsycl -fsycl-targets=spir64 %s -o %t.out // RUN: %{run} %t.out -// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64,spir64_gen -Xsycl-target-backend=spir64_gen "-device gen12lp" %s -o %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 +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // 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 diff --git a/sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp b/sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp index d2e56730c233d..951ac7fda688c 100644 --- a/sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp +++ b/sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp @@ -5,9 +5,10 @@ // REQUIRES: opencl-aot, ocloc, gpu-intel-gen12, any-device-is-cpu -// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64,spir64_gen -Xsycl-target-backend=spir64_gen "-device dg1" %s -o %t.out +// 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 %} +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // 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 %} diff --git a/sycl/test-e2e/Compression/compression_aot.cpp b/sycl/test-e2e/Compression/compression_aot.cpp index ae692242883e6..a5d21b0dfdb84 100644 --- a/sycl/test-e2e/Compression/compression_aot.cpp +++ b/sycl/test-e2e/Compression/compression_aot.cpp @@ -1,5 +1,6 @@ // End-to-End test for testing device image compression in AOT. // REQUIRES: zstd, opencl-aot, cpu +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // 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 diff --git a/sycl/test-e2e/Compression/compression_separate_compile.cpp b/sycl/test-e2e/Compression/compression_separate_compile.cpp index 10776b7aa0d9d..638f04864f2c3 100644 --- a/sycl/test-e2e/Compression/compression_separate_compile.cpp +++ b/sycl/test-e2e/Compression/compression_separate_compile.cpp @@ -3,6 +3,7 @@ // REQUIRES: zstd, opencl-aot, cpu, linux +// CPU AOT targets host isa, so we compile everything on the system we execute tests on. ////////////////////// Compile device images // 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 diff --git a/sycl/test-e2e/DeviceArchitecture/device_architecture_on_device_aot.cpp b/sycl/test-e2e/DeviceArchitecture/device_architecture_on_device_aot.cpp index f79b53874f7ce..675ecfa85392b 100644 --- a/sycl/test-e2e/DeviceArchitecture/device_architecture_on_device_aot.cpp +++ b/sycl/test-e2e/DeviceArchitecture/device_architecture_on_device_aot.cpp @@ -1,4 +1,6 @@ // REQUIRES: opencl-aot, cpu + +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %s -o %t.out // RUN: %{run} %t.out diff --git a/sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp b/sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp index 42535561aef83..41ce5850ee484 100644 --- a/sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp +++ b/sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp @@ -1,5 +1,6 @@ // REQUIRES: opencl-aot, cpu +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // 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 diff --git a/sycl/test-e2e/DeviceLib/assert-aot.cpp b/sycl/test-e2e/DeviceLib/assert-aot.cpp index 444ea24b406a3..5a06631cf11a1 100644 --- a/sycl/test-e2e/DeviceLib/assert-aot.cpp +++ b/sycl/test-e2e/DeviceLib/assert-aot.cpp @@ -1,4 +1,5 @@ // REQUIRES: opencl-aot, cpu, linux +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // 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 diff --git a/sycl/test-e2e/DeviceLib/cmath-aot.cpp b/sycl/test-e2e/DeviceLib/cmath-aot.cpp index dc71af4b0921e..7277e7577875b 100644 --- a/sycl/test-e2e/DeviceLib/cmath-aot.cpp +++ b/sycl/test-e2e/DeviceLib/cmath-aot.cpp @@ -3,6 +3,7 @@ // DEFINE: %{mathflags} = %if cl_options %{/clang:-fno-fast-math%} %else %{-fno-fast-math%} +// CPU AOT targets host isa, so we compile on the system we execute tests on. // RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %{mathflags} %S/cmath_test.cpp -o %t.cmath.out // RUN: %{run} %t.cmath.out diff --git a/sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp b/sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp index 5d532a52d7b29..3ff36527a7e26 100644 --- a/sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp +++ b/sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp @@ -1,5 +1,6 @@ // REQUIRES: opencl-aot, cpu +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // Test with `--offload-new-driver` // 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 diff --git a/sycl/test-e2e/NewOffloadDriver/cpu.cpp b/sycl/test-e2e/NewOffloadDriver/cpu.cpp index f9a86dafc647e..1f0b668f64428 100644 --- a/sycl/test-e2e/NewOffloadDriver/cpu.cpp +++ b/sycl/test-e2e/NewOffloadDriver/cpu.cpp @@ -8,6 +8,7 @@ // REQUIRES: opencl-aot, cpu +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // Test with `--offload-new-driver` // RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 --offload-new-driver %S/Inputs/aot.cpp -o %t.out // RUN: %{run} %t.out diff --git a/sycl/test-e2e/NonUniformGroups/ballot_group.cpp b/sycl/test-e2e/NonUniformGroups/ballot_group.cpp index 235e1922b0879..882f9f7cc5ee0 100644 --- a/sycl/test-e2e/NonUniformGroups/ballot_group.cpp +++ b/sycl/test-e2e/NonUniformGroups/ballot_group.cpp @@ -1,6 +1,7 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out // +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // 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 %} // diff --git a/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp index c3212cfe8cfbc..ee1cd3298f4cb 100644 --- a/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp @@ -1,6 +1,7 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out // +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // 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 %} // diff --git a/sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp b/sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp index 81e7e3944be0c..a6ae59c6f5c1e 100644 --- a/sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp +++ b/sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp @@ -1,6 +1,7 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out // +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // 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 %} // diff --git a/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp index 69d2d3bf3a385..000860a6ad92e 100644 --- a/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp @@ -1,6 +1,7 @@ // RUN: %{build} -fsycl-device-code-split=per_kernel -o %t.out // RUN: %{run} %t.out // +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // 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 %} // diff --git a/sycl/test-e2e/NonUniformGroups/opportunistic_group.cpp b/sycl/test-e2e/NonUniformGroups/opportunistic_group.cpp index 0560f3d89178c..58e7b07621ab5 100644 --- a/sycl/test-e2e/NonUniformGroups/opportunistic_group.cpp +++ b/sycl/test-e2e/NonUniformGroups/opportunistic_group.cpp @@ -1,6 +1,7 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out // +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // 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 %} // diff --git a/sycl/test-e2e/NonUniformGroups/opportunistic_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/opportunistic_group_algorithms.cpp index ba9dfe3def4b1..d7bacc6c4dbd6 100644 --- a/sycl/test-e2e/NonUniformGroups/opportunistic_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/opportunistic_group_algorithms.cpp @@ -1,6 +1,7 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out // +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // 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 %} // diff --git a/sycl/test-e2e/NonUniformGroups/tangle_group.cpp b/sycl/test-e2e/NonUniformGroups/tangle_group.cpp index a2588341b4ce6..4f5fd123837f0 100644 --- a/sycl/test-e2e/NonUniformGroups/tangle_group.cpp +++ b/sycl/test-e2e/NonUniformGroups/tangle_group.cpp @@ -1,6 +1,7 @@ // RUN: %{build} -fno-sycl-early-optimizations -o %t.out // RUN: %{run} %t.out // +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // RUN: %if any-device-is-cpu && opencl-aot %{ %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -fno-sycl-early-optimizations -o %t.x86.out %s %} // RUN: %if cpu %{ %{run} %t.x86.out %} // diff --git a/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp index d242c23d5f4a6..33985fc14d22a 100644 --- a/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp @@ -1,6 +1,7 @@ // RUN: %{build} -fno-sycl-early-optimizations -o %t.out // RUN: %{run} %t.out // +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // RUN: %if any-device-is-cpu && opencl-aot %{ %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -fno-sycl-early-optimizations -o %t.x86.out %s %} // RUN: %if cpu %{ %{run} %t.x86.out %} // diff --git a/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp b/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp index 429110ff2e10c..3368eadf7d158 100644 --- a/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp +++ b/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp @@ -20,7 +20,7 @@ // RUN: env SYCL_CACHE_IN_MEM=0 NEOReadDebugKeys=1 CreateMultipleRootDevices=4 %{run} %t.out // Test AOT next. -// RUN: %{run-aux} %{build} -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device *" -o %t.out +// RUN: %{build} -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device *" -o %t.out // Check the default case when in-memory caching is enabled. // RUN: env NEOReadDebugKeys=1 CreateMultipleRootDevices=4 SYCL_UR_TRACE=2 %{run} %t.out | FileCheck %s --check-prefixes=CHECK-AOT-TRACE diff --git a/sycl/test-e2e/SpecConstants/2020/non_native/SpecConstBuffer.cpp b/sycl/test-e2e/SpecConstants/2020/non_native/SpecConstBuffer.cpp index 3473516e19598..315f07f0863a4 100644 --- a/sycl/test-e2e/SpecConstants/2020/non_native/SpecConstBuffer.cpp +++ b/sycl/test-e2e/SpecConstants/2020/non_native/SpecConstBuffer.cpp @@ -1,5 +1,6 @@ // REQUIRES: opencl-aot, cpu +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %S/Inputs/common.cpp -o %t.out \ // RUN: -fsycl-dead-args-optimization // RUN: env SYCL_UR_TRACE=2 %{run} %t.out | FileCheck %s diff --git a/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp b/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp index 6d389a76706b5..1a067057de267 100644 --- a/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp +++ b/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp @@ -1,5 +1,6 @@ // REQUIRES: opencl-aot, cpu +// CPU AOT targets host isa, so we compile this on the system we execute tests on. // RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 %S/Inputs/common.cpp -o %t.out \ // RUN: -fsycl-dead-args-optimization // RUN: %{run} %t.out From 4f0e289409ccfc87e1e1f51b6eef9f4d25531927 Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Thu, 20 Feb 2025 11:52:23 -0800 Subject: [PATCH 07/15] Fix build failures --- sycl/test-e2e/Compression/compression_separate_compile.cpp | 4 ++-- .../test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp | 2 ++ sycl/test-e2e/NonUniformGroups/tangle_group.cpp | 2 +- sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp | 4 +++- .../multi_device_bundle/device_libs_and_caching.cpp | 2 +- sycl/test-e2e/bindless_images/cubemap/cubemap_sampled.cpp | 1 + 6 files changed, 10 insertions(+), 5 deletions(-) diff --git a/sycl/test-e2e/Compression/compression_separate_compile.cpp b/sycl/test-e2e/Compression/compression_separate_compile.cpp index 638f04864f2c3..26037e143c7b8 100644 --- a/sycl/test-e2e/Compression/compression_separate_compile.cpp +++ b/sycl/test-e2e/Compression/compression_separate_compile.cpp @@ -5,8 +5,8 @@ // CPU AOT targets host isa, so we compile everything on the system we execute tests on. ////////////////////// Compile device images -// 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 +// 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: %{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 diff --git a/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp index 000860a6ad92e..7d3a0467f5fcb 100644 --- a/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp @@ -8,6 +8,8 @@ // 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 diff --git a/sycl/test-e2e/NonUniformGroups/tangle_group.cpp b/sycl/test-e2e/NonUniformGroups/tangle_group.cpp index 4f5fd123837f0..c9b03a27bc2be 100644 --- a/sycl/test-e2e/NonUniformGroups/tangle_group.cpp +++ b/sycl/test-e2e/NonUniformGroups/tangle_group.cpp @@ -6,7 +6,7 @@ // RUN: %if cpu %{ %{run} %t.x86.out %} // // REQUIRES: cpu || gpu -// UNSUPPORTED: cuda || hip +// UNSUPPORTED: target-nvidia || target-amd #include #include diff --git a/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp index 33985fc14d22a..8a200d17573d9 100644 --- a/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp @@ -8,7 +8,9 @@ // REQUIRES: cpu || gpu // REQUIRES: sg-32 // REQUIRES: aspect-ext_oneapi_tangle_group -// UNSUPPORTED: cuda || windows +// UNSUPPORTED: target-amd +// UNSUPPORTED-INTENDED: tangle groups not available on amd +// UNSUPPORTED: target-nvidia || windows // Tangle groups exhibit unpredictable behavior on Windows. // The test is disabled while we investigate the root cause. diff --git a/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp b/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp index 3368eadf7d158..d61d426409b90 100644 --- a/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp +++ b/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp @@ -1,4 +1,4 @@ -// REQUIRES: ocloc && gpu && linux && (opencl || level_zero) +// REQUIRES: ocloc && gpu && linux && target-spir // Test to check several use cases for multi-device kernel bundles. // Test covers AOT and JIT cases. Kernel is using some math functions to enforce diff --git a/sycl/test-e2e/bindless_images/cubemap/cubemap_sampled.cpp b/sycl/test-e2e/bindless_images/cubemap/cubemap_sampled.cpp index 164fe420b2d3e..e4a5c660417ba 100644 --- a/sycl/test-e2e/bindless_images/cubemap/cubemap_sampled.cpp +++ b/sycl/test-e2e/bindless_images/cubemap/cubemap_sampled.cpp @@ -1,3 +1,4 @@ +// REQUIRES: target-nvidia // REQUIRES: aspect-ext_oneapi_cubemap // REQUIRES: aspect-ext_oneapi_cubemap_seamless_filtering From 0ed13dbf63cf61a58a22938cd297ca14537df51c Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Thu, 20 Feb 2025 13:07:43 -0800 Subject: [PATCH 08/15] Remove xfail on test --- .../bindless_images/examples/example_5_sample_cubemap.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sycl/test-e2e/bindless_images/examples/example_5_sample_cubemap.cpp b/sycl/test-e2e/bindless_images/examples/example_5_sample_cubemap.cpp index d69c0f7a657b1..0f93a5b9d2231 100644 --- a/sycl/test-e2e/bindless_images/examples/example_5_sample_cubemap.cpp +++ b/sycl/test-e2e/bindless_images/examples/example_5_sample_cubemap.cpp @@ -1,6 +1,4 @@ -// REQUIRES: aspect-ext_oneapi_cubemap -// XFAIL: * -// XFAIL-TRACKER: https://github.com/intel/llvm/issues/00000 +// REQUIRES: target-nvidia, aspect-ext_oneapi_cubemap // RUN: %{build} -o %t.out // RUN: %{run-unfiltered-devices} %t.out From 21d49f25e580ecd484ba6bc46fd2eafd0e77e547 Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Thu, 20 Feb 2025 13:44:30 -0800 Subject: [PATCH 09/15] Add XFAIL trackers --- sycl/test-e2e/Adapters/sycl-targets-order.cpp | 2 +- .../SpecConstants/2020/native_specialization_constant.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sycl/test-e2e/Adapters/sycl-targets-order.cpp b/sycl/test-e2e/Adapters/sycl-targets-order.cpp index bca0ddcb25fba..b351c9bd8c197 100644 --- a/sycl/test-e2e/Adapters/sycl-targets-order.cpp +++ b/sycl/test-e2e/Adapters/sycl-targets-order.cpp @@ -7,7 +7,7 @@ // REQUIRES: opencl, cuda // XFAIL: * -// XFAIL-TRACKER: https://github.com/intel/llvm/issues/00000 +// XFAIL-TRACKER: https://github.com/intel/llvm/issues/17108 //==------- sycl-targets-order.cpp - SYCL -fsycl-targets order test --------==// // diff --git a/sycl/test-e2e/SpecConstants/2020/native_specialization_constant.cpp b/sycl/test-e2e/SpecConstants/2020/native_specialization_constant.cpp index 63edf0b1271ef..da5101b277e31 100644 --- a/sycl/test-e2e/SpecConstants/2020/native_specialization_constant.cpp +++ b/sycl/test-e2e/SpecConstants/2020/native_specialization_constant.cpp @@ -5,7 +5,7 @@ // FIXME: This set is never satisfied all at once in our infrastructure. // REQUIRES: opencl, level-zero, cpu, gpu, opencl-aot, ocloc // XFAIL: * -// XFAIL-TRACKER: https://github.com/intel/llvm/issues/00000 +// XFAIL-TRACKER: https://github.com/intel/llvm/issues/17107 // RUN: %clangxx -fsycl -DJIT %s -o %t.out // RUN: %{run} %t.out From 4f6b0ae7dbd42977b188f53bfb14ca29b5da6e70 Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Thu, 20 Feb 2025 13:53:53 -0800 Subject: [PATCH 10/15] Fix comment formatting --- sycl/test-e2e/AOT/cpu.cpp | 2 +- sycl/test-e2e/AOT/double.cpp | 2 +- sycl/test-e2e/AOT/half.cpp | 2 +- sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp | 2 +- sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp | 2 +- sycl/test-e2e/Compression/compression_aot.cpp | 2 +- sycl/test-e2e/Compression/compression_separate_compile.cpp | 2 +- .../DeviceArchitecture/device_architecture_on_device_aot.cpp | 2 +- sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp | 2 +- sycl/test-e2e/DeviceLib/assert-aot.cpp | 2 +- sycl/test-e2e/DeviceLib/cmath-aot.cpp | 2 +- sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp | 2 +- sycl/test-e2e/NewOffloadDriver/cpu.cpp | 2 +- sycl/test-e2e/NonUniformGroups/ballot_group.cpp | 2 +- sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp | 2 +- sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp | 2 +- sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp | 2 +- sycl/test-e2e/NonUniformGroups/opportunistic_group.cpp | 2 +- .../NonUniformGroups/opportunistic_group_algorithms.cpp | 2 +- sycl/test-e2e/NonUniformGroups/tangle_group.cpp | 2 +- sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp | 2 +- sycl/test-e2e/SpecConstants/2020/non_native/SpecConstBuffer.cpp | 2 +- sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp | 2 +- 23 files changed, 23 insertions(+), 23 deletions(-) diff --git a/sycl/test-e2e/AOT/cpu.cpp b/sycl/test-e2e/AOT/cpu.cpp index eae8564eeb979..4d1a24f649e30 100644 --- a/sycl/test-e2e/AOT/cpu.cpp +++ b/sycl/test-e2e/AOT/cpu.cpp @@ -8,7 +8,7 @@ // REQUIRES: opencl-aot, cpu -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 diff --git a/sycl/test-e2e/AOT/double.cpp b/sycl/test-e2e/AOT/double.cpp index 515cbf0e0ac86..0cba8616dd261 100644 --- a/sycl/test-e2e/AOT/double.cpp +++ b/sycl/test-e2e/AOT/double.cpp @@ -4,7 +4,7 @@ // REQUIRES: ocloc, opencl-aot, any-device-is-cpu // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_tgllp -o %t.tgllp.out %s -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 %} diff --git a/sycl/test-e2e/AOT/half.cpp b/sycl/test-e2e/AOT/half.cpp index d821b66d94b14..3e6ba389ac69c 100644 --- a/sycl/test-e2e/AOT/half.cpp +++ b/sycl/test-e2e/AOT/half.cpp @@ -4,7 +4,7 @@ // REQUIRES: ocloc, opencl-aot, any-device-is-cpu // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_tgllp -o %t.tgllp.out %s -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 %} diff --git a/sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp b/sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp index 4a2dd435b3948..c79198417d6cf 100644 --- a/sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp +++ b/sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp @@ -11,7 +11,7 @@ // RUN: %clangxx -fsycl -fsycl-targets=spir64,spir64_gen -Xsycl-target-backend=spir64_gen "-device gen12lp" %s -o %t.out // RUN: %{run} %t.out -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 diff --git a/sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp b/sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp index 951ac7fda688c..0237636b51c71 100644 --- a/sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp +++ b/sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp @@ -8,7 +8,7 @@ // 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 %} -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 %} diff --git a/sycl/test-e2e/Compression/compression_aot.cpp b/sycl/test-e2e/Compression/compression_aot.cpp index a5d21b0dfdb84..115458559678e 100644 --- a/sycl/test-e2e/Compression/compression_aot.cpp +++ b/sycl/test-e2e/Compression/compression_aot.cpp @@ -1,6 +1,6 @@ // End-to-End test for testing device image compression in AOT. // REQUIRES: zstd, opencl-aot, cpu -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 diff --git a/sycl/test-e2e/Compression/compression_separate_compile.cpp b/sycl/test-e2e/Compression/compression_separate_compile.cpp index 26037e143c7b8..fa97af43a426b 100644 --- a/sycl/test-e2e/Compression/compression_separate_compile.cpp +++ b/sycl/test-e2e/Compression/compression_separate_compile.cpp @@ -3,7 +3,7 @@ // REQUIRES: zstd, opencl-aot, cpu, linux -// CPU AOT targets host isa, so we compile everything on the system we execute tests on. +// CPU AOT targets host isa, so we compile everything on the run system instead. ////////////////////// Compile device images // 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 diff --git a/sycl/test-e2e/DeviceArchitecture/device_architecture_on_device_aot.cpp b/sycl/test-e2e/DeviceArchitecture/device_architecture_on_device_aot.cpp index 675ecfa85392b..179b11cdd3bca 100644 --- a/sycl/test-e2e/DeviceArchitecture/device_architecture_on_device_aot.cpp +++ b/sycl/test-e2e/DeviceArchitecture/device_architecture_on_device_aot.cpp @@ -1,6 +1,6 @@ // REQUIRES: opencl-aot, cpu -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 diff --git a/sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp b/sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp index 41ce5850ee484..2b0907501efdc 100644 --- a/sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp +++ b/sycl/test-e2e/DeviceCodeSplit/aot-cpu.cpp @@ -1,6 +1,6 @@ // REQUIRES: opencl-aot, cpu -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 diff --git a/sycl/test-e2e/DeviceLib/assert-aot.cpp b/sycl/test-e2e/DeviceLib/assert-aot.cpp index 5a06631cf11a1..adee4e8e124f6 100644 --- a/sycl/test-e2e/DeviceLib/assert-aot.cpp +++ b/sycl/test-e2e/DeviceLib/assert-aot.cpp @@ -1,5 +1,5 @@ // REQUIRES: opencl-aot, cpu, linux -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 diff --git a/sycl/test-e2e/DeviceLib/cmath-aot.cpp b/sycl/test-e2e/DeviceLib/cmath-aot.cpp index 7277e7577875b..6c1eed40ce4ec 100644 --- a/sycl/test-e2e/DeviceLib/cmath-aot.cpp +++ b/sycl/test-e2e/DeviceLib/cmath-aot.cpp @@ -3,7 +3,7 @@ // DEFINE: %{mathflags} = %if cl_options %{/clang:-fno-fast-math%} %else %{-fno-fast-math%} -// CPU AOT targets host isa, so we compile on the system we execute tests on. +// 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 diff --git a/sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp b/sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp index 3ff36527a7e26..8926780d1912a 100644 --- a/sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp +++ b/sycl/test-e2e/NewOffloadDriver/aot-cpu.cpp @@ -1,6 +1,6 @@ // REQUIRES: opencl-aot, cpu -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// CPU AOT targets host isa, so we compile on the run system instead. // Test with `--offload-new-driver` // 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 diff --git a/sycl/test-e2e/NewOffloadDriver/cpu.cpp b/sycl/test-e2e/NewOffloadDriver/cpu.cpp index 1f0b668f64428..4e61ff88ad87d 100644 --- a/sycl/test-e2e/NewOffloadDriver/cpu.cpp +++ b/sycl/test-e2e/NewOffloadDriver/cpu.cpp @@ -8,7 +8,7 @@ // REQUIRES: opencl-aot, cpu -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// CPU AOT targets host isa, so we compile on the run system instead. // Test with `--offload-new-driver` // RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 --offload-new-driver %S/Inputs/aot.cpp -o %t.out // RUN: %{run} %t.out diff --git a/sycl/test-e2e/NonUniformGroups/ballot_group.cpp b/sycl/test-e2e/NonUniformGroups/ballot_group.cpp index 882f9f7cc5ee0..3824edaf4af89 100644 --- a/sycl/test-e2e/NonUniformGroups/ballot_group.cpp +++ b/sycl/test-e2e/NonUniformGroups/ballot_group.cpp @@ -1,7 +1,7 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out // -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 %} // diff --git a/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp index ee1cd3298f4cb..6c6cda9708530 100644 --- a/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/ballot_group_algorithms.cpp @@ -1,7 +1,7 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out // -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 %} // diff --git a/sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp b/sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp index a6ae59c6f5c1e..95533b3651bb1 100644 --- a/sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp +++ b/sycl/test-e2e/NonUniformGroups/fixed_size_group.cpp @@ -1,7 +1,7 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out // -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 %} // diff --git a/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp index 7d3a0467f5fcb..afd72070cd7c9 100644 --- a/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/fixed_size_group_algorithms.cpp @@ -1,7 +1,7 @@ // RUN: %{build} -fsycl-device-code-split=per_kernel -o %t.out // RUN: %{run} %t.out // -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 %} // diff --git a/sycl/test-e2e/NonUniformGroups/opportunistic_group.cpp b/sycl/test-e2e/NonUniformGroups/opportunistic_group.cpp index 58e7b07621ab5..cca46c7dd785d 100644 --- a/sycl/test-e2e/NonUniformGroups/opportunistic_group.cpp +++ b/sycl/test-e2e/NonUniformGroups/opportunistic_group.cpp @@ -1,7 +1,7 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out // -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 %} // diff --git a/sycl/test-e2e/NonUniformGroups/opportunistic_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/opportunistic_group_algorithms.cpp index d7bacc6c4dbd6..7e20c1bfeccfc 100644 --- a/sycl/test-e2e/NonUniformGroups/opportunistic_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/opportunistic_group_algorithms.cpp @@ -1,7 +1,7 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out // -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 %} // diff --git a/sycl/test-e2e/NonUniformGroups/tangle_group.cpp b/sycl/test-e2e/NonUniformGroups/tangle_group.cpp index c9b03a27bc2be..bc4a3e4a35a22 100644 --- a/sycl/test-e2e/NonUniformGroups/tangle_group.cpp +++ b/sycl/test-e2e/NonUniformGroups/tangle_group.cpp @@ -1,7 +1,7 @@ // RUN: %{build} -fno-sycl-early-optimizations -o %t.out // RUN: %{run} %t.out // -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 -fno-sycl-early-optimizations -o %t.x86.out %s %} // RUN: %if cpu %{ %{run} %t.x86.out %} // diff --git a/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp b/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp index 8a200d17573d9..f49ce691d2c75 100644 --- a/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp +++ b/sycl/test-e2e/NonUniformGroups/tangle_group_algorithms.cpp @@ -1,7 +1,7 @@ // RUN: %{build} -fno-sycl-early-optimizations -o %t.out // RUN: %{run} %t.out // -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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 -fno-sycl-early-optimizations -o %t.x86.out %s %} // RUN: %if cpu %{ %{run} %t.x86.out %} // diff --git a/sycl/test-e2e/SpecConstants/2020/non_native/SpecConstBuffer.cpp b/sycl/test-e2e/SpecConstants/2020/non_native/SpecConstBuffer.cpp index 315f07f0863a4..7c2076e3ee77e 100644 --- a/sycl/test-e2e/SpecConstants/2020/non_native/SpecConstBuffer.cpp +++ b/sycl/test-e2e/SpecConstants/2020/non_native/SpecConstBuffer.cpp @@ -1,6 +1,6 @@ // REQUIRES: opencl-aot, cpu -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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/common.cpp -o %t.out \ // RUN: -fsycl-dead-args-optimization // RUN: env SYCL_UR_TRACE=2 %{run} %t.out | FileCheck %s diff --git a/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp b/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp index 1a067057de267..6fed8faa7fbd8 100644 --- a/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp +++ b/sycl/test-e2e/SpecConstants/2020/non_native/cpu.cpp @@ -1,6 +1,6 @@ // REQUIRES: opencl-aot, cpu -// CPU AOT targets host isa, so we compile this on the system we execute tests on. +// 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/common.cpp -o %t.out \ // RUN: -fsycl-dead-args-optimization // RUN: %{run} %t.out From 891c1ec45772eb7424b89ed03222dd5714fbb30b Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Fri, 21 Feb 2025 05:26:50 -0800 Subject: [PATCH 11/15] Build executables to different files to fix test --- .../multi_device_bundle/device_libs_and_caching.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp b/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp index d61d426409b90..13e96de7e7244 100644 --- a/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp +++ b/sycl/test-e2e/ProgramManager/multi_device_bundle/device_libs_and_caching.cpp @@ -11,22 +11,22 @@ // manager can handle this as well. With this option program manager will // compile the main program, load and compile device libraries and then link // everything together. -// RUN: %{build} -fsycl-device-lib-jit-link -o %t.out +// RUN: %{build} -fsycl-device-lib-jit-link -o %t_jit.out // Check the default case when in-memory caching is enabled. -// RUN: env NEOReadDebugKeys=1 CreateMultipleRootDevices=4 SYCL_UR_TRACE=2 %{run} %t.out | FileCheck %s --check-prefixes=CHECK-SPIRV-JIT-LINK-TRACE +// RUN: env NEOReadDebugKeys=1 CreateMultipleRootDevices=4 SYCL_UR_TRACE=2 %{run} %t_jit.out | FileCheck %s --check-prefixes=CHECK-SPIRV-JIT-LINK-TRACE // Check the case when in-memory caching of the programs is disabled. -// RUN: env SYCL_CACHE_IN_MEM=0 NEOReadDebugKeys=1 CreateMultipleRootDevices=4 %{run} %t.out +// RUN: env SYCL_CACHE_IN_MEM=0 NEOReadDebugKeys=1 CreateMultipleRootDevices=4 %{run} %t_jit.out // Test AOT next. -// RUN: %{build} -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device *" -o %t.out +// RUN: %{build} -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device *" -o %t_aot.out // Check the default case when in-memory caching is enabled. -// RUN: env NEOReadDebugKeys=1 CreateMultipleRootDevices=4 SYCL_UR_TRACE=2 %{run} %t.out | FileCheck %s --check-prefixes=CHECK-AOT-TRACE +// RUN: env NEOReadDebugKeys=1 CreateMultipleRootDevices=4 SYCL_UR_TRACE=2 %{run} %t_aot.out | FileCheck %s --check-prefixes=CHECK-AOT-TRACE // Check the case when in-memory caching of the programs is disabled. -// RUN: env SYCL_CACHE_IN_MEM=0 NEOReadDebugKeys=1 CreateMultipleRootDevices=4 %{run} %t.out +// RUN: env SYCL_CACHE_IN_MEM=0 NEOReadDebugKeys=1 CreateMultipleRootDevices=4 %{run} %t_aot.out // Depends on SPIR-V Backend & run-time drivers version. // XFAIL: spirv-backend && run-mode From 573310de98f984b0dc25b634582ad78e36228091 Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Fri, 21 Feb 2025 07:27:30 -0800 Subject: [PATCH 12/15] Change back test to use intermediary file for FileCheck input --- sycl/test-e2e/Compression/compression_separate_compile.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sycl/test-e2e/Compression/compression_separate_compile.cpp b/sycl/test-e2e/Compression/compression_separate_compile.cpp index fa97af43a426b..db268153d21e2 100644 --- a/sycl/test-e2e/Compression/compression_separate_compile.cpp +++ b/sycl/test-e2e/Compression/compression_separate_compile.cpp @@ -13,8 +13,8 @@ // Make sure the clang-offload-wrapper is called with the --offload-compress // option. -// 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 -### \ -// RUN: | FileCheck %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" From 01bc35fa18e34816b74ee2f2853af2976edd12ba Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Fri, 21 Feb 2025 10:59:15 -0800 Subject: [PATCH 13/15] Fix deprecated warning, and remove XFAIL from test --- sycl/test-e2e/Adapters/sycl-targets-order.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/sycl/test-e2e/Adapters/sycl-targets-order.cpp b/sycl/test-e2e/Adapters/sycl-targets-order.cpp index b351c9bd8c197..1690e1f247daa 100644 --- a/sycl/test-e2e/Adapters/sycl-targets-order.cpp +++ b/sycl/test-e2e/Adapters/sycl-targets-order.cpp @@ -5,9 +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 -// XFAIL: * -// XFAIL-TRACKER: https://github.com/intel/llvm/issues/17108 +// REQUIRES: opencl, target-spir, any-triple-is-nvidia //==------- sycl-targets-order.cpp - SYCL -fsycl-targets order test --------==// // @@ -37,7 +35,7 @@ int main(int argc, char **argv) { sycl::buffer 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) { @@ -56,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] From 45fb42237b4a784aa8c0b08c3880c1a71c64f473 Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Fri, 21 Feb 2025 11:14:59 -0800 Subject: [PATCH 14/15] Remove `test-mode-run-only` feature --- .../out-of-bounds/DeviceGlobal/device_global.cpp | 2 +- sycl/test-e2e/lit.cfg.py | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/sycl/test-e2e/AddressSanitizer/out-of-bounds/DeviceGlobal/device_global.cpp b/sycl/test-e2e/AddressSanitizer/out-of-bounds/DeviceGlobal/device_global.cpp index eba4f7cfb010d..4145e3741a242 100644 --- a/sycl/test-e2e/AddressSanitizer/out-of-bounds/DeviceGlobal/device_global.cpp +++ b/sycl/test-e2e/AddressSanitizer/out-of-bounds/DeviceGlobal/device_global.cpp @@ -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 diff --git a/sycl/test-e2e/lit.cfg.py b/sycl/test-e2e/lit.cfg.py index b06c657cd6e39..7f94abc690cb6 100644 --- a/sycl/test-e2e/lit.cfg.py +++ b/sycl/test-e2e/lit.cfg.py @@ -58,16 +58,14 @@ config.test_mode = lit_config.params.get("test-mode", "full") config.fallback_build_run_only = False if config.test_mode == "full": + config.available_features.add("build-mode") config.available_features.add("run-mode") elif config.test_mode == "run-only": lit_config.note("run-only test mode enabled, only executing tests") - # run-only uses external shell, some tests might have hacks to workaround - # failures caused by that. - config.available_features.add("test-mode-run-only") - config.available_features.add("run-mode") elif config.test_mode == "build-only": lit_config.note("build-only test mode enabled, only compiling tests") + config.available_features.add("build-mode") config.sycl_devices = [] if not config.amd_arch: config.amd_arch = "gfx1030" From bed56dbd6891fd0ef4ddd33d9c1077de9a2c0c83 Mon Sep 17 00:00:00 2001 From: "Garcia Orozco, David" Date: Mon, 3 Mar 2025 06:29:33 -0800 Subject: [PATCH 15/15] remove `REQUIRES: build-and-run-mode` from asan tests --- sycl/test-e2e/AddressSanitizer/aot/cpu.cpp | 9 ++++----- sycl/test-e2e/AddressSanitizer/aot/gpu.cpp | 1 - 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/sycl/test-e2e/AddressSanitizer/aot/cpu.cpp b/sycl/test-e2e/AddressSanitizer/aot/cpu.cpp index e528574bcf1f6..41a18da31acaf 100644 --- a/sycl/test-e2e/AddressSanitizer/aot/cpu.cpp +++ b/sycl/test-e2e/AddressSanitizer/aot/cpu.cpp @@ -1,14 +1,13 @@ // REQUIRES: linux, opencl-aot, cpu -// REQUIRES: build-and-run-mode -// RUN: %{build} %device_asan_aot_flags -O0 -g %S/Inputs/host-usm-oob.cpp -o %t.out +// RUN: %{run-aux} %{build} %device_asan_aot_flags -O0 -g %S/Inputs/host-usm-oob.cpp -o %t.out // RUN: %{run} not %t.out 2>&1 | FileCheck %S/Inputs/host-usm-oob.cpp -// RUN: %{build} %device_asan_aot_flags -O1 -g %S/Inputs/host-usm-oob.cpp -o %t.out +// RUN: %{run-aux} %{build} %device_asan_aot_flags -O1 -g %S/Inputs/host-usm-oob.cpp -o %t.out // RUN: %{run} not %t.out 2>&1 | FileCheck %S/Inputs/host-usm-oob.cpp -// RUN: %{build} %device_asan_aot_flags -O2 -g %S/Inputs/host-usm-oob.cpp -o %t.out +// RUN: %{run-aux} %{build} %device_asan_aot_flags -O2 -g %S/Inputs/host-usm-oob.cpp -o %t.out // RUN: %{run} not %t.out 2>&1 | FileCheck %S/Inputs/host-usm-oob.cpp -// RUN: %{build} %device_asan_aot_flags -O3 -g %S/Inputs/host-usm-oob.cpp -o %t.out +// RUN: %{run-aux} %{build} %device_asan_aot_flags -O3 -g %S/Inputs/host-usm-oob.cpp -o %t.out // RUN: %{run} not %t.out 2>&1 | FileCheck %S/Inputs/host-usm-oob.cpp diff --git a/sycl/test-e2e/AddressSanitizer/aot/gpu.cpp b/sycl/test-e2e/AddressSanitizer/aot/gpu.cpp index 648fe4b0d41d7..c45701af54543 100644 --- a/sycl/test-e2e/AddressSanitizer/aot/gpu.cpp +++ b/sycl/test-e2e/AddressSanitizer/aot/gpu.cpp @@ -1,5 +1,4 @@ // REQUIRES: linux, ocloc, gpu && level_zero -// REQUIRES: build-and-run-mode // RUN: %{build} %device_asan_aot_flags -O0 -g %S/Inputs/host-usm-oob.cpp -o %t.out // RUN: %{run} not %t.out 2>&1 | FileCheck %S/Inputs/host-usm-oob.cpp