[llvm] [libsycl] Implement fill & memset queue API (PR #217933)

Kseniya Tikhomirova via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 24 05:05:13 PDT 2026


================
@@ -560,6 +641,18 @@ class _LIBSYCL_EXPORT queue {
   /// \return an event representing last kernel invocation.
   event getLastEvent();
 
+  /// Submits a fill operation that replicates a pattern into USM accessible
+  /// on the device associated with the queue.
+  ///
+  /// \param Ptr is the pointer to memory to be filled.
+  /// \param Pattern is the pattern to be replicated.
+  /// \param PatternSize is the size of the pattern in bytes.
+  /// \param Count is the number of times the pattern is filled.
+  /// \param DepEvents is a vector of events that represent dependencies for the
+  /// operation.
+  event fillImpl(void *Ptr, const void *Pattern, std::size_t PatternSize,
----------------
KseniyaTikhomirova wrote:

it seems we have an optimization for fill on l0. could you please check if it makes sense for upstreaming as well.
https://github.com/intel/llvm/blob/sycl/sycl/include/sycl/handler.hpp#L2021

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


More information about the llvm-commits mailing list