diff --git a/pyopencl/algorithm.py b/pyopencl/algorithm.py index 01a02b14993584a017dc8bfdb2e21098cefbf31f..23d336e6a354ef1947f8179b22870d1386b50bda 100644 --- a/pyopencl/algorithm.py +++ b/pyopencl/algorithm.py @@ -1026,12 +1026,11 @@ class ListOfListsBuilder: info_record = result[name] starts_ary = info_record.starts - evt = scan_kernel(starts_ary, wait_for=[count_event]) + evt = scan_kernel(starts_ary, wait_for=[count_event], + size=n_objects) - # set first entry to zero - evt = cl.enqueue_copy(queue, starts_ary.data, index_dtype.type(0), - wait_for=[evt]) - scan_events.append(evt) + starts_ary.setitem(0, 0, queue=queue, wait_for=[evt]) + scan_events.extend(starts_ary.events) # retrieve count info_record.count = int(starts_ary[-1].get())