[llvm] [Offload] Skip event tests on AMDGPU (PR #148632)

Kenneth Benzie via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 14 06:49:06 PDT 2025


https://github.com/kbenzie updated https://github.com/llvm/llvm-project/pull/148632

>From f13bbae692c77fcf7d259de4c03ae8320583ee9b Mon Sep 17 00:00:00 2001
From: "Kenneth Benzie (Benie)" <k.benzie83 at gmail.com>
Date: Mon, 14 Jul 2025 14:30:33 +0100
Subject: [PATCH] [Offload] Skip event tests on AMDGPU

Add `OffloadDeviceTest::getPlatformBackend()` and use it to skip event
tests which currently fail on AMDGPU due to:

```
OL_ERRC_UNIMPLEMENTED: synchronize event not implemented
```
---
 offload/unittests/OffloadAPI/common/Fixtures.hpp   | 14 ++++++++++++++
 offload/unittests/OffloadAPI/event/olWaitEvent.cpp |  3 +++
 2 files changed, 17 insertions(+)

diff --git a/offload/unittests/OffloadAPI/common/Fixtures.hpp b/offload/unittests/OffloadAPI/common/Fixtures.hpp
index 16ff3c4fe60a7..c9932dc607b03 100644
--- a/offload/unittests/OffloadAPI/common/Fixtures.hpp
+++ b/offload/unittests/OffloadAPI/common/Fixtures.hpp
@@ -73,6 +73,18 @@ struct OffloadDeviceTest
       GTEST_SKIP() << "No available devices.";
   }
 
+  ol_platform_backend_t getPlatformBackend() const {
+    ol_platform_handle_t Platform = nullptr;
+    if (olGetDeviceInfo(Device, OL_DEVICE_INFO_PLATFORM,
+                        sizeof(ol_platform_handle_t), &Platform))
+      return OL_PLATFORM_BACKEND_UNKNOWN;
+    ol_platform_backend_t Backend;
+    if (olGetPlatformInfo(Platform, OL_PLATFORM_INFO_BACKEND,
+                          sizeof(ol_platform_backend_t), &Backend))
+      return OL_PLATFORM_BACKEND_UNKNOWN;
+    return Backend;
+  }
+
   ol_device_handle_t Device = nullptr;
 };
 
@@ -159,6 +171,8 @@ struct OffloadQueueTest : OffloadDeviceTest {
 struct OffloadEventTest : OffloadQueueTest {
   void SetUp() override {
     RETURN_ON_FATAL_FAILURE(OffloadQueueTest::SetUp());
+    if (getPlatformBackend() == OL_PLATFORM_BACKEND_AMDGPU)
+      GTEST_SKIP() << "synchronize event not implemented";
 
     // Get an event from a memcpy. We can still use it in olGetEventInfo etc
     // after it has been waited on.
diff --git a/offload/unittests/OffloadAPI/event/olWaitEvent.cpp b/offload/unittests/OffloadAPI/event/olWaitEvent.cpp
index f80dabb4fc93f..ea2c0759d49d0 100644
--- a/offload/unittests/OffloadAPI/event/olWaitEvent.cpp
+++ b/offload/unittests/OffloadAPI/event/olWaitEvent.cpp
@@ -14,6 +14,9 @@ using olWaitEventTest = OffloadQueueTest;
 OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE(olWaitEventTest);
 
 TEST_P(olWaitEventTest, Success) {
+  if (getPlatformBackend() == OL_PLATFORM_BACKEND_AMDGPU)
+    GTEST_SKIP() << "synchronize event not implemented";
+
   uint32_t Src = 42;
   void *DstPtr;
 



More information about the llvm-commits mailing list