[llvm] [libsycl] add single_task (PR #192499)

Alexey Bader via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 19 22:03:43 PDT 2026


================
@@ -69,13 +71,50 @@ class QueueImpl : public std::enable_shared_from_this<QueueImpl> {
   /// Waits for completion of all commands submitted to this queue.
   void wait();
 
+  /// Enqueues a kernel to liboffload.
+  /// Kernel parameters like dependencies and range must be passed in advance by
+  /// calling setKernelParameters.
+  /// \param KernelInfo a kernel info that is uniform between different
+  /// submissions of the same kernel.
+  /// \param TypelessArgs data about kernel arguments to be used for enqueue.
+  void submitKernelImpl(DeviceKernelInfo &KernelInfo, void *ArgData,
+                        size_t ArgSize);
+
+  /// \return an event impl object that corresponds to the last kernel
+  /// submission in the calling thread.
+  EventImplPtr getLastEvent() {
+    assert(MCurrentSubmitInfo.LastEvent &&
+           "getLastEvent must be called after enqueue");
+    return MCurrentSubmitInfo.LastEvent;
+  }
+
+  /// Sets kernel parameters to be used in the next submitKernelImpl call.
+  /// Must be called prior to a submitKernelImpl call.
+  /// \param Events a collection of events that the kernal depends on.
----------------
bader wrote:

```suggestion
  /// \param Events a collection of events that the kernel depends on.
```

https://github.com/llvm/llvm-project/pull/192499


More information about the llvm-commits mailing list