[llvm] [OFFLOAD][L0][NFC] Rename AsyncQueueTy struct to L0QueueTy (PR #200921)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 1 12:54:23 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-offload
Author: Alex Duran (adurang)
<details>
<summary>Changes</summary>
L0QueueTy is more descriptive after the changes in #<!-- -->200650.
Also renamed the header name and one internal field to be more descriptive.
---
Full diff: https://github.com/llvm/llvm-project/pull/200921.diff
5 Files Affected:
- (modified) offload/plugins-nextgen/level_zero/include/L0Device.h (+6-6)
- (modified) offload/plugins-nextgen/level_zero/include/L0Kernel.h (+1-1)
- (renamed) offload/plugins-nextgen/level_zero/include/L0Queue.h (+14-13)
- (modified) offload/plugins-nextgen/level_zero/src/L0Device.cpp (+8-8)
- (modified) offload/plugins-nextgen/level_zero/src/L0Queue.cpp (+13-13)
``````````diff
diff --git a/offload/plugins-nextgen/level_zero/include/L0Device.h b/offload/plugins-nextgen/level_zero/include/L0Device.h
index 925b51e9cd8c6..2346ba079f780 100644
--- a/offload/plugins-nextgen/level_zero/include/L0Device.h
+++ b/offload/plugins-nextgen/level_zero/include/L0Device.h
@@ -17,10 +17,10 @@
#include "PerThreadTable.h"
-#include "AsyncQueue.h"
#include "L0CmdListManager.h"
#include "L0Context.h"
#include "L0Program.h"
+#include "L0Queue.h"
#include "PluginInterface.h"
namespace llvm::omp::target::plugin {
@@ -401,14 +401,14 @@ class L0DeviceTy final : public GenericDeviceTy {
auto QueueOrErr = getOrCreateQueue(AsyncInfo);
if (!QueueOrErr)
return QueueOrErr.takeError();
- AsyncQueueTy *Queue = *QueueOrErr;
+ L0QueueTy *Queue = *QueueOrErr;
return Queue->memoryCopy(Dst, Src, Size);
}
Error enqueueMemCopyAndSync(void *Dst, const void *Src, size_t Size) {
__tgt_async_info AsyncInfo;
if (auto Err = enqueueMemCopy(Dst, Src, Size, &AsyncInfo)) {
- releaseQueue((AsyncQueueTy *)AsyncInfo.Queue);
+ releaseQueue((L0QueueTy *)AsyncInfo.Queue);
return Err;
}
return synchronize(&AsyncInfo);
@@ -422,7 +422,7 @@ class L0DeviceTy final : public GenericDeviceTy {
__tgt_async_info AsyncInfo;
if (auto Err =
enqueueMemFill(Ptr, Pattern, PatternSize, Size, &AsyncInfo)) {
- releaseQueue((AsyncQueueTy *)AsyncInfo.Queue);
+ releaseQueue((L0QueueTy *)AsyncInfo.Queue);
return Err;
}
return synchronize(&AsyncInfo);
@@ -457,8 +457,8 @@ class L0DeviceTy final : public GenericDeviceTy {
/// Returns the Queue from an async info object, or creates a new one if
/// the async info does not have a queue yet.
- Expected<AsyncQueueTy *> getOrCreateQueue(__tgt_async_info *AsyncInfo);
- void releaseQueue(AsyncQueueTy *Queue) { QueueCache.releaseQueue(Queue); }
+ Expected<L0QueueTy *> getOrCreateQueue(__tgt_async_info *AsyncInfo);
+ void releaseQueue(L0QueueTy *Queue) { QueueCache.releaseQueue(Queue); }
// Allocation related routines.
diff --git a/offload/plugins-nextgen/level_zero/include/L0Kernel.h b/offload/plugins-nextgen/level_zero/include/L0Kernel.h
index 4c8603a5b8232..131f5cd8403e6 100644
--- a/offload/plugins-nextgen/level_zero/include/L0Kernel.h
+++ b/offload/plugins-nextgen/level_zero/include/L0Kernel.h
@@ -22,7 +22,7 @@ namespace llvm::omp::target::plugin {
// Forward declarations.
class L0DeviceTy;
class L0ProgramTy;
-struct AsyncQueueTy;
+class L0QueueTy;
struct L0LaunchEnvTy;
/// Kernel properties.
diff --git a/offload/plugins-nextgen/level_zero/include/AsyncQueue.h b/offload/plugins-nextgen/level_zero/include/L0Queue.h
similarity index 92%
rename from offload/plugins-nextgen/level_zero/include/AsyncQueue.h
rename to offload/plugins-nextgen/level_zero/include/L0Queue.h
index c078a5c473a8e..f44cfc7dbd388 100644
--- a/offload/plugins-nextgen/level_zero/include/AsyncQueue.h
+++ b/offload/plugins-nextgen/level_zero/include/L0Queue.h
@@ -29,17 +29,19 @@ class L0DeviceTy;
struct L0LaunchEnvTy;
/// Abstract queue that supports asynchronous command submission.
-struct AsyncQueueTy {
+class L0QueueTy {
+protected:
/// Device owning this queue.
L0DeviceTy &Device;
/// Underlying immediate command list.
L0CmdListManagerTy *CmdList = nullptr;
/// Whether the queue is in-order or out-of-order.
- bool IsInorder;
+ bool CreateQueueInOrder;
- AsyncQueueTy(L0DeviceTy &Device, bool IsInorder = true)
- : Device(Device), IsInorder(IsInorder) {}
- virtual ~AsyncQueueTy() {}
+public:
+ L0QueueTy(L0DeviceTy &Device, bool IsInorder = true)
+ : Device(Device), CreateQueueInOrder(IsInorder) {}
+ virtual ~L0QueueTy() {}
/// Clear data.
void reset() { resetImpl(); }
@@ -104,7 +106,7 @@ struct AsyncQueueTy {
}
};
-class L0AsyncQueueTy : public AsyncQueueTy {
+class L0AsyncQueueTy : public L0QueueTy {
protected:
/// List of events attached to submitted commands.
llvm::SmallVector<ze_event_handle_t> WaitEvents;
@@ -120,8 +122,7 @@ class L0AsyncQueueTy : public AsyncQueueTy {
void processCopyQueues();
public:
- L0AsyncQueueTy(L0DeviceTy &Device)
- : AsyncQueueTy(Device, /*IsInorder*/ false) {}
+ L0AsyncQueueTy(L0DeviceTy &Device) : L0QueueTy(Device, /*IsInorder*/ false) {}
virtual ~L0AsyncQueueTy() {}
L0AsyncQueueTy(const L0AsyncQueueTy &) = delete;
@@ -158,9 +159,9 @@ class L0AsyncOrderedQueueTy : public L0AsyncQueueTy {
std::tuple<size_t, ze_event_handle_t *> getLaunchKernelEvents() override;
};
-class L0InorderQueueTy : public AsyncQueueTy {
+class L0InorderQueueTy : public L0QueueTy {
public:
- L0InorderQueueTy(L0DeviceTy &Device) : AsyncQueueTy(Device) {}
+ L0InorderQueueTy(L0DeviceTy &Device) : L0QueueTy(Device) {}
virtual ~L0InorderQueueTy() {}
L0InorderQueueTy(const L0InorderQueueTy &) = delete;
@@ -195,14 +196,14 @@ class L0SyncQueueTy : public L0InorderQueueTy {
/// Simple cache for queue objects.
class L0QueueCacheTy {
L0DeviceTy &Device;
- llvm::SmallVector<AsyncQueueTy *> Queues;
+ llvm::SmallVector<L0QueueTy *> Queues;
std::mutex Mtx;
CommandModeTy CachedCmdMode = CommandModeTy::InOrder;
public:
L0QueueCacheTy(L0DeviceTy &Device) : Device(Device) {}
- Expected<AsyncQueueTy *> getQueue();
- void releaseQueue(AsyncQueueTy *Queue);
+ Expected<L0QueueTy *> getQueue();
+ void releaseQueue(L0QueueTy *Queue);
Error deinit();
void setCommandMode(CommandModeTy CmdMode) { CachedCmdMode = CmdMode; }
};
diff --git a/offload/plugins-nextgen/level_zero/src/L0Device.cpp b/offload/plugins-nextgen/level_zero/src/L0Device.cpp
index d644c1e7e5a14..b001fddda1325 100644
--- a/offload/plugins-nextgen/level_zero/src/L0Device.cpp
+++ b/offload/plugins-nextgen/level_zero/src/L0Device.cpp
@@ -270,9 +270,9 @@ Error L0DeviceTy::unloadBinaryImpl(DeviceImageTy *Image) {
return Plugin::success();
}
-Expected<AsyncQueueTy *>
+Expected<L0QueueTy *>
L0DeviceTy::getOrCreateQueue(__tgt_async_info *AsyncInfo) {
- AsyncQueueTy *Queue = static_cast<AsyncQueueTy *>(AsyncInfo->Queue);
+ L0QueueTy *Queue = static_cast<L0QueueTy *>(AsyncInfo->Queue);
if (!Queue) {
auto NewQueueOrErr = QueueCache.getQueue();
if (!NewQueueOrErr)
@@ -286,7 +286,7 @@ L0DeviceTy::getOrCreateQueue(__tgt_async_info *AsyncInfo) {
Error L0DeviceTy::synchronizeImpl(__tgt_async_info &AsyncInfo,
bool ReleaseQueue) {
- AsyncQueueTy *Queue = reinterpret_cast<AsyncQueueTy *>(AsyncInfo.Queue);
+ L0QueueTy *Queue = reinterpret_cast<L0QueueTy *>(AsyncInfo.Queue);
if (!Queue)
return Plugin::success();
@@ -303,7 +303,7 @@ Error L0DeviceTy::synchronizeImpl(__tgt_async_info &AsyncInfo,
Expected<bool>
L0DeviceTy::hasPendingWorkImpl(AsyncInfoWrapperTy &AsyncInfoWrapper) {
- AsyncQueueTy *Queue = AsyncInfoWrapper.getQueueAs<AsyncQueueTy *>();
+ L0QueueTy *Queue = AsyncInfoWrapper.getQueueAs<L0QueueTy *>();
if (!Queue)
return false;
return Queue->hasPendingWork();
@@ -311,7 +311,7 @@ L0DeviceTy::hasPendingWorkImpl(AsyncInfoWrapperTy &AsyncInfoWrapper) {
Error L0DeviceTy::queryAsyncImpl(__tgt_async_info &AsyncInfo, bool ReleaseQueue,
bool *IsQueueWorkCompleted) {
- AsyncQueueTy *Queue = reinterpret_cast<AsyncQueueTy *>(AsyncInfo.Queue);
+ L0QueueTy *Queue = reinterpret_cast<L0QueueTy *>(AsyncInfo.Queue);
bool WorkCompleted = true;
if (Queue) {
@@ -667,7 +667,7 @@ Error L0DeviceTy::enqueueMemFill(void *Ptr, const void *Pattern,
auto QueueOrErr = getOrCreateQueue(AsyncInfo);
if (!QueueOrErr)
return QueueOrErr.takeError();
- AsyncQueueTy *AsyncQueue = *QueueOrErr;
+ L0QueueTy *AsyncQueue = *QueueOrErr;
return AsyncQueue->memoryFill(Ptr, Pattern, PatternSize, Size);
}
@@ -732,7 +732,7 @@ L0DeviceTy::createImmCmdList(uint32_t Ordinal, uint32_t Index, bool InOrder) {
return CmdList;
}
-// TODO: logic from this function should be moved to AsyncQueue
+// TODO: logic from this function should be moved to L0QueueTy
Error L0DeviceTy::dataFence(__tgt_async_info *Async) {
const bool Ordered =
(getPlugin().getOptions().CommandMode == CommandModeTy::AsyncOrdered);
@@ -744,7 +744,7 @@ Error L0DeviceTy::dataFence(__tgt_async_info *Async) {
auto QueueOrErr = getOrCreateQueue(Async);
if (!QueueOrErr)
return QueueOrErr.takeError();
- AsyncQueueTy *Queue = *QueueOrErr;
+ L0QueueTy *Queue = *QueueOrErr;
ze_command_list_handle_t CmdList = Queue->getCmdList();
CALL_ZE_RET_ERROR(zeCommandListAppendBarrier, CmdList, nullptr, 0, nullptr);
diff --git a/offload/plugins-nextgen/level_zero/src/L0Queue.cpp b/offload/plugins-nextgen/level_zero/src/L0Queue.cpp
index 9e079a246bbd9..5058a6a5d9cb6 100644
--- a/offload/plugins-nextgen/level_zero/src/L0Queue.cpp
+++ b/offload/plugins-nextgen/level_zero/src/L0Queue.cpp
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-#include "AsyncQueue.h"
+#include "L0Queue.h"
#include "L0Device.h"
#include "L0Kernel.h"
#include "L0Plugin.h"
@@ -20,15 +20,15 @@ namespace llvm::omp::target::plugin {
/// common methods
-Error AsyncQueueTy::init() {
- auto CmdListOrErr = Device.getCmdListManager(IsInorder);
+Error L0QueueTy::init() {
+ auto CmdListOrErr = Device.getCmdListManager(CreateQueueInOrder);
if (!CmdListOrErr)
return CmdListOrErr.takeError();
CmdList = *CmdListOrErr;
return initImpl();
}
-Error AsyncQueueTy::deinit() {
+Error L0QueueTy::deinit() {
if (auto Err = deinitImpl())
return Err;
reset();
@@ -41,11 +41,11 @@ Error AsyncQueueTy::deinit() {
return Plugin::success();
}
-Error AsyncQueueTy::dispatchLaunchKernel(ze_kernel_handle_t Kernel,
- L0LaunchEnvTy &KEnv,
- ze_event_handle_t SignalEvent,
- uint32_t NumWaitEvents,
- ze_event_handle_t *WaitEvents) {
+Error L0QueueTy::dispatchLaunchKernel(ze_kernel_handle_t Kernel,
+ L0LaunchEnvTy &KEnv,
+ ze_event_handle_t SignalEvent,
+ uint32_t NumWaitEvents,
+ ze_event_handle_t *WaitEvents) {
// Unlock KEnv lock after launching the kernel.
llvm::scope_exit UnlockGuard([&KEnv]() { KEnv.Lock.unlock(); });
if (KEnv.IsPtrArg)
@@ -331,16 +331,16 @@ Error L0SyncQueueTy::launchKernelImpl(ze_kernel_handle_t Kernel,
}
// L0QueueCache implementation.
-Expected<AsyncQueueTy *> L0QueueCacheTy::getQueue() {
+Expected<L0QueueTy *> L0QueueCacheTy::getQueue() {
{
std::lock_guard<std::mutex> Lock(Mtx);
if (!Queues.empty()) {
- AsyncQueueTy *Queue = Queues.back();
+ L0QueueTy *Queue = Queues.back();
Queues.pop_back();
return Queue;
}
}
- AsyncQueueTy *Queue = nullptr;
+ L0QueueTy *Queue = nullptr;
switch (CachedCmdMode) {
case CommandModeTy::Async:
Queue = new L0AsyncQueueTy(Device);
@@ -364,7 +364,7 @@ Expected<AsyncQueueTy *> L0QueueCacheTy::getQueue() {
return Queue;
}
-void L0QueueCacheTy::releaseQueue(AsyncQueueTy *Queue) {
+void L0QueueCacheTy::releaseQueue(L0QueueTy *Queue) {
if (!Queue)
return;
Queue->reset();
``````````
</details>
https://github.com/llvm/llvm-project/pull/200921
More information about the llvm-commits
mailing list