[llvm] [OFFLOAD] Add missing asynchronous query API for libomptarget migration (PR #172231)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Dec 14 14:07:21 PST 2025
https://github.com/fineg74 created https://github.com/llvm/llvm-project/pull/172231
Add missing liboffload asynchronous query API for libomptarget migration
This PR adds liboffload asynchronous query API that needed to make libomptarget to use liboffload
>From a1080caff2f5cb9aced3b067ab2c25af5846c165 Mon Sep 17 00:00:00 2001
From: "Fine, Gregory" <gregory.fine at intel.com>
Date: Fri, 12 Dec 2025 16:49:28 -0800
Subject: [PATCH] add QueryAsync API
---
offload/liboffload/API/Queue.td | 9 +++++++++
offload/liboffload/src/OffloadImpl.cpp | 9 +++++++++
2 files changed, 18 insertions(+)
diff --git a/offload/liboffload/API/Queue.td b/offload/liboffload/API/Queue.td
index ededa9cc92fef..75df8f103e9f2 100644
--- a/offload/liboffload/API/Queue.td
+++ b/offload/liboffload/API/Queue.td
@@ -125,3 +125,12 @@ def olLaunchHostFunction : Function {
];
let returns = [];
}
+
+def olQueryAsync : Function {
+ let desc = "Query for device/queue/event based completion on in a non-blocking manner.";
+ let details = [];
+ let params = [
+ Param<"ol_queue_handle_t", "Queue", "handle of the queue", PARAM_IN>
+ ];
+ let returns = [];
+}
diff --git a/offload/liboffload/src/OffloadImpl.cpp b/offload/liboffload/src/OffloadImpl.cpp
index eab9627217ca8..b46546414c602 100644
--- a/offload/liboffload/src/OffloadImpl.cpp
+++ b/offload/liboffload/src/OffloadImpl.cpp
@@ -1214,5 +1214,14 @@ Error olLaunchHostFunction_impl(ol_queue_handle_t Queue,
Queue->AsyncInfo);
}
+Error olQueryAsync_impl(ol_queue_handle_t Queue) {
+ if (Queue->AsyncInfo->Queue) {
+ if (auto Err = Queue->Device->Device->queryAsync(Queue->AsyncInfo))
+ return Err;
+ }
+
+ return Error::success();
+}
+
} // namespace offload
} // namespace llvm
More information about the llvm-commits
mailing list