From 9740b3c2d8b54ce460c1aa92e80b8af57963da1d Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Tue, 22 Jun 2010 21:24:48 -0400 Subject: [PATCH] Add Kernel.set_args(). --- doc/source/misc.rst | 1 + doc/source/runtime.rst | 4 ++++ pyopencl/__init__.py | 5 +++++ 3 files changed, 10 insertions(+) diff --git a/doc/source/misc.rst b/doc/source/misc.rst index 9165d474..52b19906 100644 --- a/doc/source/misc.rst +++ b/doc/source/misc.rst @@ -75,6 +75,7 @@ Version 0.92 * Add support for the `cl_khr_gl_sharing `_ extension. +* Add :meth:`pyopencl.Kernel.set_args`. Version 0.91.5 -------------- diff --git a/doc/source/runtime.rst b/doc/source/runtime.rst index 1bee1115..276ca34b 100644 --- a/doc/source/runtime.rst +++ b/doc/source/runtime.rst @@ -577,6 +577,10 @@ Programs and Kernels * An instance of :class:`LocalMemory`. * An instance of :class:`Sampler`. + .. method:: set_args(self, *args) + + Invoke :meth:`set_arg` on each element of *args* in turn. + .. method:: __call__(queue, global_size, *args, global_offset=None, local_size=None, wait_for=None) Use :func:`enqueue_nd_range_kernel` to enqueue a kernel execution, after using diff --git a/pyopencl/__init__.py b/pyopencl/__init__.py index 7f869dba..e58c934c 100644 --- a/pyopencl/__init__.py +++ b/pyopencl/__init__.py @@ -169,7 +169,12 @@ def _add_functionality(): return enqueue_nd_range_kernel(queue, self, global_size, local_size, global_offset, wait_for) + def kernel_set_args(self, *args): + for i, arg in enumerate(args): + self.set_arg(i, arg) + Kernel.__call__ = kernel_call + Kernel.set_args = kernel_set_args # ImageFormat ------------------------------------------------------------- def image_format_repr(self): -- GitLab