Skip to content

Commit 7bb4980

Browse files
committed
use read/write_events in tests
1 parent b4d6729 commit 7bb4980

File tree

1 file changed

+62
-20
lines changed

1 file changed

+62
-20
lines changed

test/test_array.py

Lines changed: 62 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1351,36 +1351,55 @@ def test_event_management(ctx_factory):
13511351
from pyopencl.clrandom import rand as clrand
13521352

13531353
x = clrand(queue, (5, 10), dtype=np.float32)
1354-
assert len(x.events) == 1, len(x.events)
1354+
assert len(x.write_events) == 1, x.write_events
1355+
assert len(x.read_events) == 0, x.read_events
13551356

13561357
x.finish()
13571358

1358-
assert len(x.events) == 0
1359-
1360-
y = x+x
1361-
assert len(y.events) == 1
1362-
y = x*x
1363-
assert len(y.events) == 1
1364-
y = 2*x
1365-
assert len(y.events) == 1
1366-
y = 2/x
1367-
assert len(y.events) == 1
1368-
y = x/2
1369-
assert len(y.events) == 1
1370-
y = x**2
1371-
assert len(y.events) == 1
1372-
y = 2**x
1373-
assert len(y.events) == 1
1359+
assert len(x.write_events) == 0
1360+
assert len(x.read_events) == 0
1361+
1362+
y = x + x
1363+
assert len(y.write_events) == 1 and len(y.read_events) == 0
1364+
assert len(x.write_events) == 0 and len(x.read_events) == 1
1365+
1366+
y = x * x
1367+
assert len(y.write_events) == 1 and len(y.read_events) == 0
1368+
assert len(x.write_events) == 0 and len(x.read_events) == 2
1369+
1370+
y = 2 * x
1371+
assert len(y.write_events) == 1 and len(y.read_events) == 0
1372+
assert len(x.write_events) == 0 and len(x.read_events) == 3
1373+
1374+
y = 2 / x
1375+
assert len(y.write_events) == 1 and len(y.read_events) == 0
1376+
assert len(x.write_events) == 0 and len(x.read_events) == 4
1377+
1378+
y = x / 2
1379+
assert len(y.write_events) == 1 and len(y.read_events) == 0
1380+
assert len(x.write_events) == 0 and len(x.read_events) == 5
1381+
1382+
y = x ** 2
1383+
assert len(y.write_events) == 1 and len(y.read_events) == 0
1384+
assert len(x.write_events) == 0 and len(x.read_events) == 6
1385+
1386+
y = 2 ** x
1387+
assert len(y.write_events) == 1 and len(y.read_events) == 0
1388+
assert len(x.write_events) == 0 and len(x.read_events) == 7
1389+
1390+
x.finish()
13741391

13751392
for _i in range(10):
13761393
x.fill(0)
13771394

1378-
assert len(x.events) == 10
1395+
assert len(x.write_events) == 10
1396+
assert len(x.read_events) == 0
13791397

13801398
for _i in range(1000):
13811399
x.fill(0)
13821400

1383-
assert len(x.events) < 100
1401+
assert len(x.write_events) < 100
1402+
assert len(x.read_events) == 0
13841403

13851404
# }}}
13861405

@@ -1624,7 +1643,7 @@ def test_get_async(ctx_factory):
16241643
assert np.abs(b1 - b).mean() < 1e-5
16251644

16261645
wait_event = cl.UserEvent(context)
1627-
b_gpu.add_event(wait_event)
1646+
b_gpu.add_write_event(wait_event)
16281647
b, evt = b_gpu.get_async() # testing that this doesn't hang
16291648
wait_event.set_status(cl.command_execution_status.COMPLETE)
16301649
evt.wait()
@@ -2262,6 +2281,29 @@ def alloc2(size):
22622281
# }}}
22632282

22642283

2284+
# {{{ test multiple queues
2285+
2286+
def test_multiple_queues(ctx_factory):
2287+
ctx = ctx_factory()
2288+
2289+
a = [None] * 3
2290+
for i in range(len(a)):
2291+
queue = cl.CommandQueue(ctx)
2292+
a[i] = cl_array.arange(queue, 1000, dtype=np.float32)
2293+
2294+
b = a[i] + a[i]
2295+
b = a[i] ** 2
2296+
b = a[i] + 4000
2297+
assert len(b.write_events) == 1
2298+
assert len(a[i].read_events) == 3
2299+
2300+
a[i] = a[i].with_queue(None)
2301+
2302+
b = a[0].with_queue(queue) + a[1].with_queue(queue)
2303+
2304+
# }}}
2305+
2306+
22652307
if __name__ == "__main__":
22662308
if len(sys.argv) > 1:
22672309
exec(sys.argv[1])

0 commit comments

Comments
 (0)