[llvm] [Offload] Skip event tests on AMDGPU (PR #148632)
Kenneth Benzie via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 14 06:44:08 PDT 2025
https://github.com/kbenzie updated https://github.com/llvm/llvm-project/pull/148632
>From e30c4f767f249a4c8749173c7d85539767c509fc 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
```
---
.../unittests/OffloadAPI/common/Fixtures.hpp | 18 +++++++++++++++++-
.../unittests/OffloadAPI/event/olWaitEvent.cpp | 3 +++
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/offload/unittests/OffloadAPI/common/Fixtures.hpp b/offload/unittests/OffloadAPI/common/Fixtures.hpp
index 16ff3c4fe60a7..2bba4ea11cb11 100644
--- a/offload/unittests/OffloadAPI/common/Fixtures.hpp
+++ b/offload/unittests/OffloadAPI/common/Fixtures.hpp
@@ -73,6 +73,20 @@ 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,7 +173,9 @@ 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.
void *Alloc;
diff --git a/offload/unittests/OffloadAPI/event/olWaitEvent.cpp b/offload/unittests/OffloadAPI/event/olWaitEvent.cpp
index f80dabb4fc93f..d9582c9842bf2 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