Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
c58954d
Add DPCTLQueue_FillN declarations to _backend.pxd
vlad-perevezentsev Aug 18, 2026
a46cc5a
Add SyclQueue.fill method
vlad-perevezentsev Aug 18, 2026
277a426
Add tests for SyclQueue.fill
vlad-perevezentsev Aug 18, 2026
b03139b
Merge remote-tracking branch 'origin/master' into add_sycl_queue_fill
vlad-perevezentsev Aug 18, 2026
e31f905
Add DPCTLQueue_FillNWithEvents C-API functions
vlad-perevezentsev Aug 18, 2026
69ea26a
Add tests for DPCTLQueue_FillNWithEvents
vlad-perevezentsev Aug 18, 2026
072b34f
Add DPCTLQueue_FillNWithEvents declarations to _backend.pxd
vlad-perevezentsev Aug 18, 2026
40bb03f
Add SyclQueue.fill_async method
vlad-perevezentsev Aug 18, 2026
0c3c7a5
Add tests for SyclQueue.fill_async
vlad-perevezentsev Aug 18, 2026
976240c
Add gh-2365 to changelog
vlad-perevezentsev Aug 18, 2026
174396a
Fix fill_async error message and improve fill docstrings
vlad-perevezentsev Aug 19, 2026
88a939a
Merge remote-tracking branch 'origin/master' into add_sycl_queue_fill
vlad-perevezentsev Aug 19, 2026
345b7c1
Update error messages in DPCTLQueue_Fill*WithEvents
vlad-perevezentsev Aug 21, 2026
35cd2f1
Add keep-alive note and OverflowError to fill docstrings
vlad-perevezentsev Aug 21, 2026
4f256c7
Skip unsupported USM types in fill tests
vlad-perevezentsev Aug 21, 2026
8c0c286
Merge remote-tracking branch 'origin/master' into add_sycl_queue_fill
vlad-perevezentsev Aug 21, 2026
5c1faaf
Merge remote-tracking branch 'origin/master' into add_sycl_queue_fill
vlad-perevezentsev Aug 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* Added `create_kernel_bundle_from_sycl_source`, `is_sycl_source_compilation_available`, and `dpctl.SyclDevice.can_compile` for supporting the creation of `dpctl.SyclKernelBundle`s from SYCL source strings via DPC++ extension, as well as corresponding C-API functions to support it [gh-2206](https://github.com/IntelPython/dpctl/pull/2206)
* Added `dpctl.SyclQueue.memset` and `dpctl.SyclQueue.memset_async` methods [gh-2361](https://github.com/IntelPython/dpctl/pull/2361)
* Added `DPCTLQueue_MemsetWithEvents` C-API function to support `dpctl.SyclQueue.memset_async` [gh-2361](https://github.com/IntelPython/dpctl/pull/2361)
* Added `dpctl.SyclQueue.fill` and `dpctl.SyclQueue.fill_async` methods [gh-2365](https://github.com/IntelPython/dpctl/pull/2365)
* Added `DPCTLQueue_Fill8/16/32/64/128WithEvents` C-API functions to support `dpctl.SyclQueue.fill_async` [gh-2365](https://github.com/IntelPython/dpctl/pull/2365)

### Changed
* Bump minimum NumPy version to 1.26 [gh-2192](https://github.com/IntelPython/dpctl/pull/2192)
Expand Down
62 changes: 61 additions & 1 deletion dpctl/_backend.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
types defined by dpctl's C API.
"""

from libc.stdint cimport int64_t, uint8_t, uint32_t, uint64_t
from libc.stdint cimport int64_t, uint8_t, uint16_t, uint32_t, uint64_t
from libcpp cimport bool


Expand Down Expand Up @@ -674,6 +674,66 @@ cdef extern from "syclinterface/dpctl_sycl_queue_interface.h":
size_t Count,
const DPCTLSyclEventRef *depEvents,
size_t depEventsCount)
cdef DPCTLSyclEventRef DPCTLQueue_Fill8(
const DPCTLSyclQueueRef Q,
void *Dest,
uint8_t Val,
size_t Count)
cdef DPCTLSyclEventRef DPCTLQueue_Fill8WithEvents(
const DPCTLSyclQueueRef Q,
void *Dest,
uint8_t Val,
size_t Count,
const DPCTLSyclEventRef *depEvents,
size_t depEventsCount)
cdef DPCTLSyclEventRef DPCTLQueue_Fill16(
const DPCTLSyclQueueRef Q,
void *Dest,
uint16_t Val,
size_t Count)
cdef DPCTLSyclEventRef DPCTLQueue_Fill16WithEvents(
const DPCTLSyclQueueRef Q,
void *Dest,
uint16_t Val,
size_t Count,
const DPCTLSyclEventRef *depEvents,
size_t depEventsCount)
cdef DPCTLSyclEventRef DPCTLQueue_Fill32(
const DPCTLSyclQueueRef Q,
void *Dest,
uint32_t Val,
size_t Count)
cdef DPCTLSyclEventRef DPCTLQueue_Fill32WithEvents(
const DPCTLSyclQueueRef Q,
void *Dest,
uint32_t Val,
size_t Count,
const DPCTLSyclEventRef *depEvents,
size_t depEventsCount)
cdef DPCTLSyclEventRef DPCTLQueue_Fill64(
const DPCTLSyclQueueRef Q,
void *Dest,
uint64_t Val,
size_t Count)
cdef DPCTLSyclEventRef DPCTLQueue_Fill64WithEvents(
const DPCTLSyclQueueRef Q,
void *Dest,
uint64_t Val,
size_t Count,
const DPCTLSyclEventRef *depEvents,
size_t depEventsCount)
cdef DPCTLSyclEventRef DPCTLQueue_Fill128(
const DPCTLSyclQueueRef Q,
void *Dest,
uint64_t *Val,
size_t Count)
cdef DPCTLSyclEventRef DPCTLQueue_Fill128WithEvents(
const DPCTLSyclQueueRef Q,
void *Dest,
uint64_t *Val,
size_t Count,
const DPCTLSyclEventRef *depEvents,
size_t depEventsCount)
cdef DPCTLSyclEventRef DPCTLQueue_Memset(
const DPCTLSyclQueueRef Q,
void *Dest,
Expand Down
4 changes: 4 additions & 0 deletions dpctl/_sycl_queue.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,10 @@ cdef public api class SyclQueue (_SyclQueue) [
cpdef SyclEvent copy_async(
self, dest, src, size_t count, list dEvents=*, str dtype=*
)
cpdef fill(self, dest, value, size_t count, str dtype=*)
cpdef SyclEvent fill_async(
self, dest, value, size_t count, list dEvents=*, str dtype=*
)
cpdef memset(self, mem, int val, size_t count=*)
cpdef SyclEvent memset_async(
self, mem, int val, size_t count=*, list dEvents=*
Expand Down
Loading
Loading