Skip to content

Commit e7ee1d9

Browse files
Introduce dpctl.SyclQueue.submit_async
The SyclQueue.submit has become synchronosing, although it still returns a SyclEvent (with exectuion_status always complete)
1 parent f30a6a2 commit e7ee1d9

File tree

3 files changed

+25
-5
lines changed

3 files changed

+25
-5
lines changed

dpctl/_sycl_queue.pxd

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,14 @@ cdef public api class SyclQueue (_SyclQueue) [
7575
object args,
7676
list dEvents
7777
)
78+
cpdef SyclEvent submit_async(
79+
self,
80+
SyclKernel kernel,
81+
list args,
82+
list gS,
83+
list lS=*,
84+
list dEvents=*
85+
)
7886
cpdef SyclEvent submit(
7987
self,
8088
SyclKernel kernel,

dpctl/_sycl_queue.pyx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -776,7 +776,7 @@ cdef class SyclQueue(_SyclQueue):
776776
return SyclEvent._create(htERef)
777777

778778

779-
cpdef SyclEvent submit(
779+
cpdef SyclEvent submit_async(
780780
self,
781781
SyclKernel kernel,
782782
list args,
@@ -908,6 +908,18 @@ cdef class SyclQueue(_SyclQueue):
908908

909909
return SyclEvent._create(Eref)
910910

911+
cpdef SyclEvent submit(
912+
self,
913+
SyclKernel kernel,
914+
list args,
915+
list gS,
916+
list lS=None,
917+
list dEvents=None
918+
):
919+
cdef SyclEvent e = self.submit_async(kernel, args, gS, lS, dEvents)
920+
e.wait()
921+
return e
922+
911923
cpdef void wait(self):
912924
with nogil: DPCTLQueue_Wait(self._queue_ref)
913925

dpctl/tests/test_sycl_kernel_submit.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ def test_create_program_from_source(ctype_str, dtype, ctypes_ctor):
114114
)
115115

116116

117-
def test_async_submit():
117+
def test_submit_async():
118118
try:
119119
q = dpctl.SyclQueue("opencl")
120120
except dpctl.SyclQueueCreationError:
@@ -182,7 +182,7 @@ def test_async_submit():
182182

183183
async_detected = False
184184
for attempt in range(5):
185-
e1 = q.submit(
185+
e1 = q.submit_async(
186186
kern1Kernel,
187187
[
188188
first_row,
@@ -192,7 +192,7 @@ def test_async_submit():
192192
n,
193193
],
194194
)
195-
e2 = q.submit(
195+
e2 = q.submit_async(
196196
kern2Kernel,
197197
[
198198
second_row,
@@ -202,7 +202,7 @@ def test_async_submit():
202202
n,
203203
],
204204
)
205-
e3 = q.submit(
205+
e3 = q.submit_async(
206206
kern3Kernel,
207207
[third_row, first_row, second_row],
208208
[

0 commit comments

Comments
 (0)