From 0882d910e3ae9996f96f946afb28d90efefef817 Mon Sep 17 00:00:00 2001 From: "Rebecca N. Palmer" <rebecca_palmer@zoho.com> Date: Tue, 7 Aug 2018 07:56:43 +0100 Subject: [PATCH] tests: work around pocl not having clEnqueueWaitForEvents --- test/test_algorithm.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/test/test_algorithm.py b/test/test_algorithm.py index b7b296ce..5264767c 100644 --- a/test/test_algorithm.py +++ b/test/test_algorithm.py @@ -961,8 +961,14 @@ def test_bitonic_sort(ctx_factory, size, dtype): from pyopencl.bitonic_sort import BitonicSort s = clrandom.rand(queue, (2, size, 3,), dtype, luxury=None, a=0, b=239482333) + sgs = s.copy() + # enqueue_marker crashes under CL 1.1 pocl if there is anything to wait for + # (no clEnqueueWaitForEvents) https://github.com/inducer/pyopencl/pull/237 + if (dev.platform.name == "Portable Computing Language" + and cl.get_cl_header_version() < (1, 2)): + sgs.finish() sorter = BitonicSort(ctx) - sgs, evt = sorter(s.copy(), axis=1) + sgs, evt = sorter(sgs, axis=1) assert np.array_equal(np.sort(s.get(), axis=1), sgs.get()) @@ -1014,7 +1020,14 @@ def test_bitonic_argsort(ctx_factory, size, dtype): sorterm = BitonicSort(ctx) - ms, evt = sorterm(m.copy(), idx=index, axis=0) + ms = m.copy() + # enqueue_marker crashes under CL 1.1 pocl if there is anything to wait for + # (no clEnqueueWaitForEvents) https://github.com/inducer/pyopencl/pull/237 + if (dev.platform.name == "Portable Computing Language" + and cl.get_cl_header_version() < (1, 2)): + ms.finish() + index.finish() + ms, evt = sorterm(ms, idx=index, axis=0) assert np.array_equal(np.sort(m.get()), ms.get()) -- GitLab