From 2e3f5fe9c738d7c66ec61134f3c730bbbb891176 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Fri, 10 Aug 2018 15:32:48 -0500 Subject: [PATCH] Wrap kernel.program get_info to make sure a Program (not a _Program) gets returned --- pyopencl/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pyopencl/__init__.py b/pyopencl/__init__.py index 725cf1a1..83431e5e 100644 --- a/pyopencl/__init__.py +++ b/pyopencl/__init__.py @@ -757,6 +757,7 @@ def _add_functionality(): # {{{ Kernel kernel_old_init = Kernel.__init__ + kernel_old_get_info = Kernel.get_info kernel_old_get_work_group_info = Kernel.get_work_group_info def kernel_init(self, prg, name): @@ -840,6 +841,14 @@ def _add_functionality(): capture_kernel_call(self, filename, queue, global_size, local_size, *args, **kwargs) + def kernel_get_info(self, param_name): + val = kernel_old_get_info(self, param_name) + + if isinstance(val, _Program): + return Program(val) + else: + return val + Kernel.__init__ = kernel_init Kernel._setup = kernel__setup Kernel.get_work_group_info = kernel_get_work_group_info @@ -847,6 +856,7 @@ def _add_functionality(): Kernel.set_args = kernel_set_args Kernel.__call__ = kernel_call Kernel.capture_call = kernel_capture_call + Kernel.get_info = kernel_get_info # }}} -- GitLab