diff --git a/pyopencl/invoker.py b/pyopencl/invoker.py index 8d3c4453065eebd5ef7ed2a40ce8d829422cac33..6d21d58ee1668e41a7c8642e3c3d4fcf27271858 100644 --- a/pyopencl/invoker.py +++ b/pyopencl/invoker.py @@ -373,7 +373,8 @@ def _check_arg_size(function_name, num_cl_args, arg_types, devs): # }}} -invoker_cache = WriteOncePersistentDict( +if not cl._PYOPENCL_NO_CACHE: + invoker_cache = WriteOncePersistentDict( "pyopencl-invoker-cache-v41", key_builder=_NumpyTypesKeyBuilder(), in_mem_cache_size=0) @@ -400,7 +401,8 @@ def generate_enqueue_and_set_args(function_name, if not from_cache: pmod, enqueue_name = _generate_enqueue_and_set_args_module(*cache_key) - invoker_cache.store_if_not_present(cache_key, (pmod, enqueue_name)) + if not cl._PYOPENCL_NO_CACHE: + invoker_cache.store_if_not_present(cache_key, (pmod, enqueue_name)) return ( pmod.mod_globals[enqueue_name], diff --git a/pyopencl/scan.py b/pyopencl/scan.py index 4c1fc8d19aa68aa35fc401eb54d1c407ccfcab8b..320b6e1375c938fc9ec4e35f8fc05cdb797a0afb 100644 --- a/pyopencl/scan.py +++ b/pyopencl/scan.py @@ -1141,7 +1141,8 @@ class GenericScanKernelBase(ABC): pass -generic_scan_kernel_cache = WriteOncePersistentDict( +if not cl._PYOPENCL_NO_CACHE: + generic_scan_kernel_cache = WriteOncePersistentDict( "pyopencl-generated-scan-kernel-cache-v1", key_builder=_NumpyTypesKeyBuilder(), in_mem_cache_size=0) @@ -1199,7 +1200,8 @@ class GenericScanKernel(GenericScanKernelBase): self.second_level_scan_gen_info, self.final_update_gen_info) - generic_scan_kernel_cache.store_if_not_present(cache_key, result) + if not cl._PYOPENCL_NO_CACHE: + generic_scan_kernel_cache.store_if_not_present(cache_key, result) # Build the kernels. self.first_level_scan_info = self.first_level_scan_gen_info.build(