From 25520569c824973d5fa7af4e65184fc6bb3174b6 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Mon, 3 Jun 2013 15:08:38 -0400 Subject: [PATCH] Fix array.multi_put for offsets. --- pyopencl/array.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pyopencl/array.py b/pyopencl/array.py index 22f49cf0..05af9f4e 100644 --- a/pyopencl/array.py +++ b/pyopencl/array.py @@ -1540,10 +1540,16 @@ def multi_put(arrays, dest_indices, dest_shape=None, out=None, queue=None): cl.kernel_work_group_info.WORK_GROUP_SIZE, queue.device)) + from pytools import flatten knl(queue, gs, ls, - *([o.data for o in out[chunk_slice]] - + [dest_indices.data] - + [i.data for i in arrays[chunk_slice]] + *( + list(flatten( + (o.base_data, o.offset) + for o in out[chunk_slice])) + + [dest_indices.base_data, dest_indices.offset] + + list(flatten( + (i.base_data, i.offset) + for i in arrays[chunk_slice])) + [dest_indices.size])) return out -- GitLab