Skip to content

Commit e1e09c6

Browse files
committed
use read/write_events everywhere
1 parent c93f7ff commit e1e09c6

File tree

7 files changed

+35
-43
lines changed

7 files changed

+35
-43
lines changed

pyopencl/algorithm.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def _extract_extra_args_types_values(extra_args):
5858
if isinstance(val, cl.array.Array):
5959
extra_args_types.append(VectorArg(val.dtype, name, with_offset=False))
6060
extra_args_values.append(val)
61-
extra_wait_for.extend(val.events)
61+
extra_wait_for.extend(val.write_events)
6262
elif isinstance(val, np.generic):
6363
extra_args_types.append(ScalarArg(val.dtype, name))
6464
extra_args_values.append(val)
@@ -1163,7 +1163,7 @@ def __call__(self, queue, n_objects, *args, **kwargs):
11631163
data_args.append(arg_val.base_data)
11641164
if arg_descr.with_offset:
11651165
data_args.append(arg_val.offset)
1166-
wait_for.extend(arg_val.events)
1166+
wait_for.extend(arg_val.write_events)
11671167
else:
11681168
data_args.append(arg_val)
11691169

@@ -1182,7 +1182,7 @@ def __call__(self, queue, n_objects, *args, **kwargs):
11821182
counts = cl.array.empty(queue,
11831183
(n_objects + 1), index_dtype, allocator=allocator)
11841184
counts[-1] = 0
1185-
wait_for = wait_for + counts.events
1185+
wait_for = wait_for + counts.write_events
11861186

11871187
# The scan will turn the "counts" array into the "starts" array
11881188
# in-place.
@@ -1236,7 +1236,7 @@ def __call__(self, queue, n_objects, *args, **kwargs):
12361236
info_record.nonempty_indices,
12371237
info_record.compressed_indices,
12381238
info_record.num_nonempty_lists,
1239-
wait_for=[count_event, *info_record.compressed_indices.events])
1239+
wait_for=[count_event, *info_record.compressed_indices.write_events])
12401240

12411241
info_record.starts = compressed_counts
12421242

@@ -1265,13 +1265,13 @@ def __call__(self, queue, n_objects, *args, **kwargs):
12651265
evt = scan_kernel(
12661266
starts_ary,
12671267
size=info_record.num_nonempty_lists,
1268-
wait_for=starts_ary.events)
1268+
wait_for=starts_ary.write_events)
12691269
else:
12701270
evt = scan_kernel(starts_ary, wait_for=[count_event],
12711271
size=n_objects)
12721272

12731273
starts_ary.setitem(0, 0, queue=queue, wait_for=[evt])
1274-
scan_events.extend(starts_ary.events)
1274+
scan_events.extend(starts_ary.write_events)
12751275

12761276
# retrieve count
12771277
info_record.count = int(starts_ary[-1].get())
@@ -1433,7 +1433,7 @@ def __call__(self, queue, keys, values, nkeys,
14331433

14341434
starts = (cl.array.empty(queue, (nkeys+1), starts_dtype, allocator=allocator)
14351435
.fill(len(values_sorted_by_key), wait_for=[evt]))
1436-
evt, = starts.events
1436+
evt, = starts.write_events
14371437

14381438
evt = knl_info.start_finder(starts, keys_sorted_by_key,
14391439
range=slice(len(keys_sorted_by_key)),

pyopencl/bitonic_sort.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def __call__(self, arr, idx=None, queue=None, wait_for=None, axis=0):
9595

9696
if wait_for is None:
9797
wait_for = []
98-
wait_for = wait_for + arr.events
98+
wait_for = wait_for + arr.write_events
9999

100100
last_evt = cl.enqueue_marker(queue, wait_for=wait_for)
101101

pyopencl/clmath.py

Lines changed: 21 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,12 @@
2424

2525
import numpy as np
2626

27-
import pyopencl.array as cl_array
2827
import pyopencl.elementwise as elementwise
29-
from pyopencl.array import _get_common_dtype
28+
from pyopencl.array import _get_common_dtype, elwise_kernel_runner
3029

3130

3231
def _make_unary_array_func(name):
33-
@cl_array.elwise_kernel_runner
32+
@elwise_kernel_runner
3433
def knl_runner(result, arg):
3534
if arg.dtype.kind == "c":
3635
from pyopencl.elementwise import complex_dtype_to_name
@@ -43,8 +42,7 @@ def knl_runner(result, arg):
4342

4443
def f(array, queue=None):
4544
result = array._new_like_me(queue=queue)
46-
event1 = knl_runner(result, array, queue=queue)
47-
result.add_event(event1)
45+
knl_runner(result, array, queue=queue)
4846
return result
4947

5048
return f
@@ -60,13 +58,13 @@ def f(array, queue=None):
6058
asinpi = _make_unary_array_func("asinpi")
6159

6260

63-
@cl_array.elwise_kernel_runner
61+
@elwise_kernel_runner
6462
def _atan2(result, arg1, arg2):
6563
return elementwise.get_float_binary_func_kernel(
6664
result.context, "atan2", arg1.dtype, arg2.dtype, result.dtype)
6765

6866

69-
@cl_array.elwise_kernel_runner
67+
@elwise_kernel_runner
7068
def _atan2pi(result, arg1, arg2):
7169
return elementwise.get_float_binary_func_kernel(
7270
result.context, "atan2pi", arg1.dtype, arg2.dtype, result.dtype)
@@ -81,7 +79,7 @@ def atan2(y, x, queue=None):
8179
"""
8280
queue = queue or y.queue
8381
result = y._new_like_me(_get_common_dtype(y, x, queue))
84-
result.add_event(_atan2(result, y, x, queue=queue))
82+
_atan2(result, y, x, queue=queue)
8583
return result
8684

8785

@@ -95,7 +93,7 @@ def atan2pi(y, x, queue=None):
9593
"""
9694
queue = queue or y.queue
9795
result = y._new_like_me(_get_common_dtype(y, x, queue))
98-
result.add_event(_atan2pi(result, y, x, queue=queue))
96+
_atan2pi(result, y, x, queue=queue)
9997
return result
10098

10199

@@ -122,7 +120,7 @@ def atan2pi(y, x, queue=None):
122120
# TODO: fmin
123121

124122

125-
@cl_array.elwise_kernel_runner
123+
@elwise_kernel_runner
126124
def _fmod(result, arg, mod):
127125
return elementwise.get_fmod_kernel(result.context, result.dtype,
128126
arg.dtype, mod.dtype)
@@ -133,13 +131,13 @@ def fmod(arg, mod, queue=None):
133131
for each element in ``arg`` and ``mod``."""
134132
queue = (queue or arg.queue) or mod.queue
135133
result = arg._new_like_me(_get_common_dtype(arg, mod, queue))
136-
result.add_event(_fmod(result, arg, mod, queue=queue))
134+
_fmod(result, arg, mod, queue=queue)
137135
return result
138136

139137
# TODO: fract
140138

141139

142-
@cl_array.elwise_kernel_runner
140+
@elwise_kernel_runner
143141
def _frexp(sig, expt, arg):
144142
return elementwise.get_frexp_kernel(sig.context, sig.dtype,
145143
expt.dtype, arg.dtype)
@@ -151,9 +149,7 @@ def frexp(arg, queue=None):
151149
"""
152150
sig = arg._new_like_me(queue=queue)
153151
expt = arg._new_like_me(queue=queue, dtype=np.int32)
154-
event1 = _frexp(sig, expt, arg, queue=queue)
155-
sig.add_event(event1)
156-
expt.add_event(event1)
152+
_frexp(sig, expt, arg, queue=queue, noutputs=2)
157153
return sig, expt
158154

159155
# TODO: hypot
@@ -162,7 +158,7 @@ def frexp(arg, queue=None):
162158
ilogb = _make_unary_array_func("ilogb")
163159

164160

165-
@cl_array.elwise_kernel_runner
161+
@elwise_kernel_runner
166162
def _ldexp(result, sig, exp):
167163
return elementwise.get_ldexp_kernel(result.context, result.dtype,
168164
sig.dtype, exp.dtype)
@@ -174,7 +170,7 @@ def ldexp(significand, exponent, queue=None):
174170
``result = significand * 2**exponent``.
175171
"""
176172
result = significand._new_like_me(queue=queue)
177-
result.add_event(_ldexp(result, significand, exponent))
173+
_ldexp(result, significand, exponent)
178174
return result
179175

180176

@@ -192,7 +188,7 @@ def ldexp(significand, exponent, queue=None):
192188
# TODO: minmag
193189

194190

195-
@cl_array.elwise_kernel_runner
191+
@elwise_kernel_runner
196192
def _modf(intpart, fracpart, arg):
197193
return elementwise.get_modf_kernel(intpart.context, intpart.dtype,
198194
fracpart.dtype, arg.dtype)
@@ -204,9 +200,7 @@ def modf(arg, queue=None):
204200
"""
205201
intpart = arg._new_like_me(queue=queue)
206202
fracpart = arg._new_like_me(queue=queue)
207-
event1 = _modf(intpart, fracpart, arg, queue=queue)
208-
fracpart.add_event(event1)
209-
intpart.add_event(event1)
203+
_modf(intpart, fracpart, arg, queue=queue, noutputs=2)
210204
return fracpart, intpart
211205

212206

@@ -239,19 +233,19 @@ def modf(arg, queue=None):
239233
# TODO: table 6.10, integer functions
240234
# TODO: table 6.12, clamp et al
241235

242-
@cl_array.elwise_kernel_runner
236+
@elwise_kernel_runner
243237
def _bessel_jn(result, n, x):
244238
return elementwise.get_bessel_kernel(result.context, "j", result.dtype,
245239
np.dtype(type(n)), x.dtype)
246240

247241

248-
@cl_array.elwise_kernel_runner
242+
@elwise_kernel_runner
249243
def _bessel_yn(result, n, x):
250244
return elementwise.get_bessel_kernel(result.context, "y", result.dtype,
251245
np.dtype(type(n)), x.dtype)
252246

253247

254-
@cl_array.elwise_kernel_runner
248+
@elwise_kernel_runner
255249
def _hankel_01(h0, h1, x):
256250
if h0.dtype != h1.dtype:
257251
raise TypeError("types of h0 and h1 must match")
@@ -261,20 +255,18 @@ def _hankel_01(h0, h1, x):
261255

262256
def bessel_jn(n, x, queue=None):
263257
result = x._new_like_me(queue=queue)
264-
result.add_event(_bessel_jn(result, n, x, queue=queue))
258+
_bessel_jn(result, n, x, queue=queue)
265259
return result
266260

267261

268262
def bessel_yn(n, x, queue=None):
269263
result = x._new_like_me(queue=queue)
270-
result.add_event(_bessel_yn(result, n, x, queue=queue))
264+
_bessel_yn(result, n, x, queue=queue)
271265
return result
272266

273267

274268
def hankel_01(x, queue=None):
275269
h0 = x._new_like_me(queue=queue)
276270
h1 = x._new_like_me(queue=queue)
277-
event1 = _hankel_01(h0, h1, x, queue=queue)
278-
h0.add_event(event1)
279-
h1.add_event(event1)
271+
_hankel_01(h0, h1, x, queue=queue, noutputs=2)
280272
return h0, h1

pyopencl/clrandom.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ def _fill(self, distribution, ary, scale, shift, queue=None):
309309
gsize, lsize = _splay(queue.device, ary.size)
310310

311311
evt = knl(queue, gsize, lsize, *args)
312-
ary.add_event(evt)
312+
ary.add_write_event(evt)
313313

314314
self.counter[0] += n * counter_multiplier
315315
c1_incr, self.counter[0] = divmod(self.counter[0], self.counter_max)

pyopencl/invoker.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ def add_buf_arg(arg_idx, typechar, expr_str):
141141
cl_arg_idx += 1
142142

143143
if in_enqueue:
144-
wait_for_parts .append(f"{arg_var}.events")
144+
wait_for_parts.append(f"{arg_var}.write_events")
145145

146146
continue
147147

pyopencl/reduction.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ def __call__(self, *args: Any, **kwargs: Any) -> cl.Event:
430430
invocation_args.append(arg.base_data)
431431
if arg_tp.with_offset:
432432
invocation_args.append(arg.offset)
433-
wait_for.extend(arg.events)
433+
wait_for.extend(arg.write_events)
434434
else:
435435
invocation_args.append(arg)
436436

@@ -523,7 +523,7 @@ def __call__(self, *args: Any, **kwargs: Any) -> cl.Event:
523523
wait_for=wait_for)
524524
wait_for = [last_evt]
525525

526-
result.add_event(last_evt)
526+
result.add_write_event(last_evt)
527527

528528
if group_count == 1:
529529
if return_event:

pyopencl/scan.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1533,7 +1533,7 @@ def __call__(self, *args: Any, **kwargs: Any) -> cl.Event:
15331533
data_args.append(arg_val.base_data)
15341534
if arg_descr.with_offset:
15351535
data_args.append(arg_val.offset)
1536-
wait_for.extend(arg_val.events)
1536+
wait_for.extend(arg_val.write_events)
15371537
else:
15381538
data_args.append(arg_val)
15391539

@@ -1766,7 +1766,7 @@ def __call__(self, *args: Any, **kwargs: Any) -> cl.Event:
17661766
data_args.append(arg_val.base_data)
17671767
if arg_descr.with_offset:
17681768
data_args.append(arg_val.offset)
1769-
wait_for.extend(arg_val.events)
1769+
wait_for.extend(arg_val.write_events)
17701770
else:
17711771
data_args.append(arg_val)
17721772

0 commit comments

Comments
 (0)