diff --git a/pyopencl/invoker.py b/pyopencl/invoker.py index c996768d97d8f9a3e58a99e4839db5f37143128e..f4e97615a82ea740121d1123296afd75a19dc0b8 100644 --- a/pyopencl/invoker.py +++ b/pyopencl/invoker.py @@ -81,10 +81,10 @@ def generate_generic_arg_handler(gen, arg_idx, arg_var): from pytools.py_codegen import Indentation gen(""" - if {arg_var} is None: - self._set_arg_null({arg_idx}) - elif isinstance({arg_var}, _KERNEL_ARG_CLASSES): + if isinstance({arg_var}, _KERNEL_ARG_CLASSES): self.set_arg({arg_idx}, {arg_var}) + elif {arg_var} is None: + self._set_arg_null({arg_idx}) """ .format(arg_idx=arg_idx, arg_var=arg_var)) @@ -341,7 +341,7 @@ def _generate_enqueue_and_set_args_module(function_name, invoker_cache = WriteOncePersistentDict( - "pyopencl-invoker-cache-v7", + "pyopencl-invoker-cache-v11", key_builder=_NumpyTypesKeyBuilder())