Skip to content

Commit c3e213c

Browse files
authored
[SYCL][E2E] Move AOT tests off Gen12 (#20643)
On Windows, the GPU driver split into two, one that only supports GPUs after Gen12, and only that only supports GPUs before Gen12. So for AOT we can't compile for BMG and Gen12 using the same `ocloc` executable. Instead of having to add LIT infrastructure for two `ocloc` executables and installing two versions on all the runners, just use DG2 instead of Gen12 for AOT tests which is supported on the new driver. Please make sure this change doesn't invalidate the test, for example if there is some capability difference between Gen12 and DG2 being tested that I broke. --------- Signed-off-by: Nick Sarnie <[email protected]>
1 parent e59f7d4 commit c3e213c

File tree

11 files changed

+35
-33
lines changed

11 files changed

+35
-33
lines changed

sycl/test-e2e/AOT/fallback.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
//===----------------------------------------------------------------------===//
88

99
// REQUIRES: ocloc, gpu, target-spir
10-
// UNSUPPORTED: gpu-intel-gen12
10+
// UNSUPPORTED: gpu-intel-dg2
1111
// UNSUPPORTED-INTENDED: Remove support for platform used as compile target
1212
// since AOT image should be not applicable.
1313

1414
// AOT-compiled image for absent gen platform, run on GPU.
15-
// RUN: %clangxx -fsycl -fsycl-targets=spir64,intel_gpu_tgl %S/Inputs/aot.cpp -o %t_spv_gpu.out
15+
// RUN: %clangxx -fsycl -fsycl-targets=spir64,intel_gpu_acm_g10 %S/Inputs/aot.cpp -o %t_spv_gpu.out
1616
// RUN: env ONEAPI_DEVICE_SELECTOR="*:gpu" SYCL_UR_TRACE=2 %{run-unfiltered-devices} %t_spv_gpu.out | FileCheck %s
1717

1818
// CHECK: ---> urProgramCreateWithIL

sycl/test-e2e/AOT/half.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
// This test ensures that a program that has a kernel
22
// using fp16 can be compiled AOT.
33

4-
// REQUIRES: ocloc, opencl-aot, any-device-is-cpu
5-
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_tgllp -o %t.tgllp.out %s
4+
// Don't run on Gen12 Windows as we don't use a driver that can AOT compile.
5+
// REQUIRES: ocloc, opencl-aot, any-device-is-cpu, (!gpu-intel-gen12 || linux)
6+
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_acm_g10 -o %t.dg2.out %s
67

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

sycl/test-e2e/AOT/reqd-sg-size.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
// This test ensures that a program that has a kernel
22
// using various required sub-group sizes can be compiled AOT.
33

4-
// REQUIRES: ocloc, opencl-aot, any-device-is-cpu, opencl-cpu-rt
5-
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_tgllp -o %t.tgllp.out %s
4+
// Don't run on Gen12 Windows as we don't use a driver that can AOT compile.
5+
// REQUIRES: ocloc, opencl-aot, any-device-is-cpu, opencl-cpu-rt, (!gpu-intel-gen12 || linux)
6+
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_acm_g10 -o %t.dg2.out %s
67
// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 -o %t.x86.out %s
78

89
// ocloc on windows does not have support for PVC, so this command will

sycl/test-e2e/BFloat16/bfloat16_example_aot.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@
33
/// both GPU and CPU.
44
///
55

6-
// REQUIRES: opencl-aot, ocloc, gpu-intel-gen12, any-device-is-cpu
6+
// REQUIRES: opencl-aot, ocloc, any-device-is-cpu, (!gpu-intel-gen12)
77

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

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

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

1818
#include "bfloat16_example.hpp"

sycl/test-e2e/BFloat16/bfloat16_example_aot_cpu.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
/// CPU.
44
///
55

6-
// REQUIRES: opencl-aot, ocloc, gpu-intel-gen12, any-device-is-cpu
6+
// REQUIRES: opencl-aot, ocloc, gpu-intel-dg2, any-device-is-cpu
77

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

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

1515
#include "bfloat16_example.hpp"

sycl/test-e2e/BFloat16/bfloat16_example_aot_gpu.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
/// GPU.
44
///
55

6-
// REQUIRES: opencl-aot, ocloc, gpu-intel-gen12, any-device-is-gpu
6+
// REQUIRES: opencl-aot, ocloc, gpu-intel-dg2, any-device-is-gpu
77

8-
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend "-device gen12lp" %s -o %t.out
8+
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend "-device dg2" %s -o %t.out
99
// RUN: %if gpu %{%{run} %t.out %}
1010

1111
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend "-device *" %s -o %t.out

sycl/test-e2e/Basic/build_log.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// REQUIRES: opencl || level_zero, gpu, ocloc
2-
// UNSUPPORTED: arch-intel_gpu_dg1
3-
//
4-
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device dg1" %s -o %t.out
2+
// UNSUPPORTED: arch-intel_gpu_dg2
3+
4+
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device dg2" %s -o %t.out
55
// RUN: env SYCL_RT_WARNING_LEVEL=2 %{run} %t.out 2>&1 | FileCheck %s
66

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

sycl/test-e2e/DeviceCodeSplit/aot-gpu.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
// REQUIRES: ocloc, gpu, target-spir
1+
// REQUIRES: ocloc, gpu, target-spir, !gpu-intel-gen12
22
//
33
// RUN: %clangxx -fsycl -fsycl-device-code-split=per_source \
44
// RUN: -fsycl-targets=spir64_gen \
55
// RUN: -Xsycl-target-backend=spir64_gen \
6-
// RUN: "-device tgllp" -I %S/Inputs -o %t.out \
6+
// RUN: "-device dg2" -I %S/Inputs -o %t.out \
77
// RUN: %S/split-per-source-main.cpp \
88
// RUN: %S/Inputs/split-per-source-second-file.cpp \
99
// RUN: -fsycl-dead-args-optimization

sycl/test-e2e/ESIMD/aot_mixed.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
//
77
//===----------------------------------------------------------------------===//
88
// TODO: Enable on other GPUs once internal ticket is fixed
9-
// REQUIRES: ocloc && gpu-intel-gen12
10-
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device tgllp" -o %t.sycl.out -DENABLE_SYCL=0 %s
9+
// REQUIRES: ocloc && gpu-intel-dg2
10+
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device dg2" -o %t.sycl.out -DENABLE_SYCL=0 %s
1111
// RUN: %{run} %t.sycl.out
12-
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device tgllp" -o %t.out %s
12+
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device dg2" -o %t.out %s
1313
// RUN: %{run} %t.out
1414

1515
// This test checks the following ESIMD ahead-of-time compilation scenarios:

sycl/test-e2e/ESIMD/hardware_dispatch.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
66
//
77
//===----------------------------------------------------------------------===//
8-
// REQUIRES: ocloc && arch-intel_gpu_tgllp
9-
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_tgllp %s -o %t.out
8+
// REQUIRES: ocloc && gpu-intel-dg2
9+
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_acm_g10 %s -o %t.out
1010
// RUN: %{run-unfiltered-devices} %t.out
1111

1212
// This is basic test to test hardware dispatch functionality with ESIMD.
@@ -36,30 +36,30 @@ int main() {
3636

3737
// test if_architecture_is
3838
sycl::ext::oneapi::experimental::if_architecture_is<
39-
sycl::ext::oneapi::experimental::architecture::intel_gpu_tgllp>(
39+
sycl::ext::oneapi::experimental::architecture::intel_gpu_acm_g10>(
4040
[&]() { result[0] = 1; })
4141
.otherwise([&]() { result[0] = 0; });
4242

4343
// test else_if_architecture_is
4444
sycl::ext::oneapi::experimental::if_architecture_is<
45-
sycl::ext::oneapi::experimental::architecture::intel_gpu_dg1>(
45+
sycl::ext::oneapi::experimental::architecture::intel_gpu_pvc>(
4646
[&]() { result[1] = 0; })
47-
.else_if_architecture_is<
48-
sycl::ext::oneapi::experimental::architecture::intel_gpu_tgllp>(
47+
.else_if_architecture_is<sycl::ext::oneapi::experimental::
48+
architecture::intel_gpu_acm_g10>(
4949
[&]() { result[1] = 2; })
5050
.otherwise([&]() { result[1] = 0; });
5151

5252
// test otherwise
5353
sycl::ext::oneapi::experimental::if_architecture_is<
54-
sycl::ext::oneapi::experimental::architecture::intel_gpu_dg1>(
54+
sycl::ext::oneapi::experimental::architecture::intel_gpu_pvc>(
5555
[&]() { result[2] = 0; })
5656
.otherwise([&]() { result[2] = 3; });
5757

5858
// test more than one architecture template parameter is passed to
5959
// if_architecture_is
6060
sycl::ext::oneapi::experimental::if_architecture_is<
61-
sycl::ext::oneapi::experimental::architecture::intel_gpu_dg1,
62-
sycl::ext::oneapi::experimental::architecture::intel_gpu_tgllp>(
61+
sycl::ext::oneapi::experimental::architecture::intel_gpu_pvc,
62+
sycl::ext::oneapi::experimental::architecture::intel_gpu_acm_g10>(
6363
[&]() { result[3] = 4; })
6464
.otherwise([&]() { result[3] = 0; });
6565
result.copy_to(output_ptr);

0 commit comments

Comments
 (0)