From 09fc9872ea30785e4fa60a5c506ad78bfef0ef4e Mon Sep 17 00:00:00 2001 From: Dmitry Vodopyanov Date: Wed, 2 Jul 2025 17:30:17 +0200 Subject: [PATCH 1/2] [SYCL][Tests] Add more syclbin-dump tests --- sycl/test-e2e/SYCLBIN/simple_kernel_aot.cpp | 84 ++++++++++++++++++++ sycl/test/syclbin/input_files.cpp | 5 ++ sycl/test/syclbin/malformed.syclbin | Bin 0 -> 129270 bytes sycl/tools/syclbin-dump/syclbin-dump.cpp | 13 --- 4 files changed, 89 insertions(+), 13 deletions(-) create mode 100644 sycl/test-e2e/SYCLBIN/simple_kernel_aot.cpp create mode 100644 sycl/test/syclbin/input_files.cpp create mode 100644 sycl/test/syclbin/malformed.syclbin diff --git a/sycl/test-e2e/SYCLBIN/simple_kernel_aot.cpp b/sycl/test-e2e/SYCLBIN/simple_kernel_aot.cpp new file mode 100644 index 0000000000000..0bd8bbb342729 --- /dev/null +++ b/sycl/test-e2e/SYCLBIN/simple_kernel_aot.cpp @@ -0,0 +1,84 @@ +// RUN: %clangxx --offload-new-driver -fsyclbin=input -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device bmg-g21" -o %t.input_bmg_g21_gpu_device_arch.syclbin %s +// RUN: %clangxx --offload-new-driver -fsyclbin=input -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device *" -o %t.input_all_gpu_device_archs.syclbin %s +// RUN: %clangxx --offload-new-driver -fsyclbin=object -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device bmg-g21" -o %t.object_bmg_g21_gpu_device_arch.syclbin %s +// RUN: %clangxx --offload-new-driver -fsyclbin=executable -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device bmg-g21" -o %t.executable_bmg_g21_gpu_device_arch.syclbin %s +// RUN: %clangxx --offload-new-driver -fsyclbin -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device bmg-g21" -o %t.default_bmg_g21_gpu_device_arch.syclbin %s + +// RUN: syclbin-dump %t.input_bmg_g21_gpu_device_arch.syclbin | FileCheck %s --check-prefix CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH +// RUN: syclbin-dump %t.input_all_gpu_device_archs.syclbin | FileCheck %s --check-prefix CHECK-INPUT-ALL-GPU-DEVICE-ARCHS +// RUN: syclbin-dump %t.object_bmg_g21_gpu_device_arch.syclbin | FileCheck %s --check-prefix CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH +// RUN: syclbin-dump %t.executable_bmg_g21_gpu_device_arch.syclbin | FileCheck %s --check-prefix CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH +// RUN: syclbin-dump %t.default_bmg_g21_gpu_device_arch.syclbin | FileCheck %s --check-prefix CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH + +// Checks the generated SYCLBIN contents of a simple SYCL free function kernel. + +#include + +extern "C" { +SYCL_EXT_ONEAPI_FUNCTION_PROPERTY( + (sycl::ext::oneapi::experimental::single_task_kernel)) +void TestKernel(int *Ptr, int Size) { + for (size_t I = 0; I < Size; ++I) + Ptr[I] = I; +} +} + +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH: Version: {{[1-9]+}} +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Global metadata: +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: SYCLBIN/global metadata: +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: state: 0 +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Number of Abstract Modules: 1 +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Abstract Module 0: +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Metadata: +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH: Number of IR Modules: 0 +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Number of Native Device Code Images: 1 +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Native device code image 0: +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Metadata: +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: SYCLBIN/native device code image metadata: +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: arch: bmg_g21 +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Raw native device code image bytes: + +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS: Version: {{[1-9]+}} +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: Global metadata: +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: SYCLBIN/global metadata: +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: state: 0 +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: Number of Abstract Modules: 1 +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: Abstract Module 0: +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: Metadata: +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS: Number of IR Modules: 0 +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: Number of Native Device Code Images: 1 +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: Native device code image 0: +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: Metadata: +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: SYCLBIN/native device code image metadata: +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: arch:{{.*}} +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: Raw native device code image bytes: + +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH: Version: {{[1-9]+}} +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Global metadata: +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: SYCLBIN/global metadata: +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: state: 1 +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Number of Abstract Modules: 1 +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Abstract Module 0: +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Metadata: +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH: Number of IR Modules: 0 +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Number of Native Device Code Images: 1 +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Native device code image 0: +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Metadata: +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: SYCLBIN/native device code image metadata: +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: arch:{{.*}} +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Raw native device code image bytes: + +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH: Version: {{[1-9]+}} +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Global metadata: +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: SYCLBIN/global metadata: +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: state: 2 +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Number of Abstract Modules: 1 +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Abstract Module 0: +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Metadata: +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH: Number of IR Modules: 0 +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Number of Native Device Code Images: 1 +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Native device code image 0: +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Metadata: +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: SYCLBIN/native device code image metadata: +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: arch:{{.*}} +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Raw native device code image bytes: diff --git a/sycl/test/syclbin/input_files.cpp b/sycl/test/syclbin/input_files.cpp new file mode 100644 index 0000000000000..2fe2d7640ea58 --- /dev/null +++ b/sycl/test/syclbin/input_files.cpp @@ -0,0 +1,5 @@ +// RUN: syclbin-dump nonexistent.syclbin | FileCheck %s --check-prefix CHECK-NONEXISTENT-FILE +// RUN: syclbin-dump malformed.syclbin | FileCheck %s --check-prefix CHECK-MALFORMED-FILE + +// CHECK-NONEXISTENT-FILE: Failed to open or read file nonexistent.syclbin +// CHECK-MALFORMED-FILE: Invalid data was encountered while parsing the file diff --git a/sycl/test/syclbin/malformed.syclbin b/sycl/test/syclbin/malformed.syclbin new file mode 100644 index 0000000000000000000000000000000000000000..67cce3092daed9e53981ea6a32e9a5a36b9c6b06 GIT binary patch literal 129270 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 literal 0 HcmV?d00001 diff --git a/sycl/tools/syclbin-dump/syclbin-dump.cpp b/sycl/tools/syclbin-dump/syclbin-dump.cpp index 6423072c116f5..a3ca1d7c52fae 100644 --- a/sycl/tools/syclbin-dump/syclbin-dump.cpp +++ b/sycl/tools/syclbin-dump/syclbin-dump.cpp @@ -50,19 +50,6 @@ raw_ostream &operator<<(raw_ostream &OS, const ScopedIndent &) { return OS.indent(CurrentIndentationLevel); } -std::string_view StateToString(llvm::object::SYCLBIN::BundleState State) { - switch (State) { - case llvm::object::SYCLBIN::BundleState::Input: - return "input"; - case llvm::object::SYCLBIN::BundleState::Object: - return "object"; - case llvm::object::SYCLBIN::BundleState::Executable: - return "executable"; - default: - return "UNKNOWN"; - } -} - std::string PropertyValueToString(const llvm::util::PropertyValue &PropVal) { switch (PropVal.getType()) { case llvm::util::PropertyValue::UINT32: From e36d77ba678ec3c58670aaae45e7d2075138300f Mon Sep 17 00:00:00 2001 From: Dmitry Vodopyanov Date: Fri, 4 Jul 2025 18:21:47 +0200 Subject: [PATCH 2/2] Update tests --- sycl/test-e2e/SYCLBIN/simple_kernel_aot.cpp | 34 ++++++++++-------- .../no_sycl_hpp_in_e2e_tests.cpp | 2 +- .../syclbin/{ => Inputs}/malformed.syclbin | Bin sycl/test/syclbin/input_files.cpp | 2 +- 4 files changed, 21 insertions(+), 17 deletions(-) rename sycl/test/syclbin/{ => Inputs}/malformed.syclbin (100%) diff --git a/sycl/test-e2e/SYCLBIN/simple_kernel_aot.cpp b/sycl/test-e2e/SYCLBIN/simple_kernel_aot.cpp index 0bd8bbb342729..2041bd2910f20 100644 --- a/sycl/test-e2e/SYCLBIN/simple_kernel_aot.cpp +++ b/sycl/test-e2e/SYCLBIN/simple_kernel_aot.cpp @@ -35,7 +35,8 @@ void TestKernel(int *Ptr, int Size) { // CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Native device code image 0: // CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Metadata: // CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: SYCLBIN/native device code image metadata: -// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: arch: bmg_g21 +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: arch:{{.*}} +// CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: target:{{.*}}spir64_gen-unknown // CHECK-INPUT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Raw native device code image bytes: // CHECK-INPUT-ALL-GPU-DEVICE-ARCHS: Version: {{[1-9]+}} @@ -51,6 +52,7 @@ void TestKernel(int *Ptr, int Size) { // CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: Metadata: // CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: SYCLBIN/native device code image metadata: // CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: arch:{{.*}} +// CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: target:{{.*}}spir64_gen-unknown // CHECK-INPUT-ALL-GPU-DEVICE-ARCHS-NEXT: Raw native device code image bytes: // CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH: Version: {{[1-9]+}} @@ -66,19 +68,21 @@ void TestKernel(int *Ptr, int Size) { // CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Metadata: // CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: SYCLBIN/native device code image metadata: // CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: arch:{{.*}} +// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: target:{{.*}}spir64_gen-unknown // CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Raw native device code image bytes: -// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH: Version: {{[1-9]+}} -// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Global metadata: -// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: SYCLBIN/global metadata: -// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: state: 2 -// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Number of Abstract Modules: 1 -// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Abstract Module 0: -// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Metadata: -// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH: Number of IR Modules: 0 -// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Number of Native Device Code Images: 1 -// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Native device code image 0: -// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Metadata: -// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: SYCLBIN/native device code image metadata: -// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: arch:{{.*}} -// CHECK-OBJECT-BMG-G21-GPU-DEVICE-ARCH-NEXT: Raw native device code image bytes: +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH: Version: {{[1-9]+}} +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH-NEXT: Global metadata: +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH-NEXT: SYCLBIN/global metadata: +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH-NEXT: state: 2 +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH-NEXT: Number of Abstract Modules: 1 +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH-NEXT: Abstract Module 0: +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH-NEXT: Metadata: +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH: Number of IR Modules: 0 +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH-NEXT: Number of Native Device Code Images: 1 +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH-NEXT: Native device code image 0: +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH-NEXT: Metadata: +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH-NEXT: SYCLBIN/native device code image metadata: +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH-NEXT: arch:{{.*}} +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH-NEXT: target:{{.*}}spir64_gen-unknown +// CHECK-EXECUTABLE-BMG-G21-GPU-DEVICE-ARCH-NEXT: Raw native device code image bytes: diff --git a/sycl/test/e2e_test_requirements/no_sycl_hpp_in_e2e_tests.cpp b/sycl/test/e2e_test_requirements/no_sycl_hpp_in_e2e_tests.cpp index 7f3757fc70624..6d41cff6dc4cd 100644 --- a/sycl/test/e2e_test_requirements/no_sycl_hpp_in_e2e_tests.cpp +++ b/sycl/test/e2e_test_requirements/no_sycl_hpp_in_e2e_tests.cpp @@ -6,7 +6,7 @@ // CHECK-DAG: README.md // CHECK-DAG: lit.cfg.py // -// CHECK-NUM-MATCHES: 29 +// CHECK-NUM-MATCHES: 30 // // This test verifies that `` isn't used in E2E tests. Instead, // fine-grained includes should used, see diff --git a/sycl/test/syclbin/malformed.syclbin b/sycl/test/syclbin/Inputs/malformed.syclbin similarity index 100% rename from sycl/test/syclbin/malformed.syclbin rename to sycl/test/syclbin/Inputs/malformed.syclbin diff --git a/sycl/test/syclbin/input_files.cpp b/sycl/test/syclbin/input_files.cpp index 2fe2d7640ea58..fdbb289f03a17 100644 --- a/sycl/test/syclbin/input_files.cpp +++ b/sycl/test/syclbin/input_files.cpp @@ -1,5 +1,5 @@ // RUN: syclbin-dump nonexistent.syclbin | FileCheck %s --check-prefix CHECK-NONEXISTENT-FILE -// RUN: syclbin-dump malformed.syclbin | FileCheck %s --check-prefix CHECK-MALFORMED-FILE +// RUN: syclbin-dump Inputs/malformed.syclbin | FileCheck %s --check-prefix CHECK-MALFORMED-FILE // CHECK-NONEXISTENT-FILE: Failed to open or read file nonexistent.syclbin // CHECK-MALFORMED-FILE: Invalid data was encountered while parsing the file