diff --git a/pyopencl/array.py b/pyopencl/array.py index 4ef896c5923af10c296fc69968da2c64db719dd2..d7525c845fa329a29975def7b0660a3f2163e9a4 100644 --- a/pyopencl/array.py +++ b/pyopencl/array.py @@ -1802,7 +1802,7 @@ def multi_put(arrays, dest_indices, dest_shape=None, out=None, queue=None): queue.device)) from pytools import flatten - knl(queue, gs, ls, + evt = knl(queue, gs, ls, *( list(flatten( (o.base_data, o.offset) @@ -1813,6 +1813,11 @@ def multi_put(arrays, dest_indices, dest_shape=None, out=None, queue=None): for i in arrays[chunk_slice])) + [dest_indices.size])) + # FIXME should wait on incoming events + + for o in out[chunk_slice]: + o.events.append(evt) + return out