diff --git a/loopy/codegen/__init__.py b/loopy/codegen/__init__.py index 42f383f3f92b809384c21e7684b2d80e23a564ee..79adb922d69c6eb81212fd061e667b6529bc6852 100644 --- a/loopy/codegen/__init__.py +++ b/loopy/codegen/__init__.py @@ -28,7 +28,7 @@ from loopy.diagnostic import LoopyError, warn from pytools import ImmutableRecord import islpy as isl -from pytools.persistent_dict import WriteOncePersistentDict, ReadOnlyEntryError +from pytools.persistent_dict import WriteOncePersistentDict from loopy.tools import LoopyKeyBuilder from loopy.version import DATA_MODEL_VERSION @@ -516,10 +516,7 @@ def generate_code_v2(kernel): logger.info("%s: generate code: done" % kernel.name) if CACHING_ENABLED: - try: - code_gen_cache[input_kernel] = codegen_result - except ReadOnlyEntryError: - pass + code_gen_cache.store_if_not_present(input_kernel, codegen_result) return codegen_result diff --git a/loopy/execution.py b/loopy/execution.py index f510a4389280b9efa6928b241e07eb2d304f9bd2..a1228f8f3bb3493e83936ee0b3998bbd5b8cdcc2 100644 --- a/loopy/execution.py +++ b/loopy/execution.py @@ -31,7 +31,7 @@ from loopy.diagnostic import LoopyError import logging logger = logging.getLogger(__name__) -from pytools.persistent_dict import WriteOncePersistentDict, ReadOnlyEntryError +from pytools.persistent_dict import WriteOncePersistentDict from loopy.tools import LoopyKeyBuilder from loopy.version import DATA_MODEL_VERSION @@ -204,10 +204,7 @@ class KernelExecutorBase(object): kernel = self.get_typed_and_scheduled_kernel_uncached(arg_to_dtype_set) if CACHING_ENABLED: - try: - typed_and_scheduled_cache[cache_key] = kernel - except ReadOnlyEntryError: - pass + typed_and_scheduled_cache.store_if_not_present(cache_key, kernel) return kernel diff --git a/loopy/preprocess.py b/loopy/preprocess.py index 40a782a44221facf1fe8cc1b0d0210219b86cbae..29d8888ae3b0e488ab82beb4b654106988bcf803 100644 --- a/loopy/preprocess.py +++ b/loopy/preprocess.py @@ -30,7 +30,7 @@ from loopy.diagnostic import ( import islpy as isl -from pytools.persistent_dict import WriteOncePersistentDict, ReadOnlyEntryError +from pytools.persistent_dict import WriteOncePersistentDict from loopy.tools import LoopyKeyBuilder from loopy.version import DATA_MODEL_VERSION @@ -2127,10 +2127,7 @@ def preprocess_kernel(kernel, device=None): # }}} if CACHING_ENABLED: - try: - preprocess_cache[input_kernel] = kernel - except ReadOnlyEntryError: - pass + preprocess_cache.store_if_not_present(input_kernel, kernel) return kernel diff --git a/loopy/schedule/__init__.py b/loopy/schedule/__init__.py index 221fcf3e0bb601f849d528086c7dbe02f5fc6774..3d47a5ec5ff33f7d8184acd8fde92aeaf1855378 100644 --- a/loopy/schedule/__init__.py +++ b/loopy/schedule/__init__.py @@ -29,7 +29,7 @@ import sys import islpy as isl from loopy.diagnostic import warn_with_kernel, LoopyError # noqa -from pytools.persistent_dict import WriteOncePersistentDict, ReadOnlyEntryError +from pytools.persistent_dict import WriteOncePersistentDict from loopy.tools import LoopyKeyBuilder from loopy.version import DATA_MODEL_VERSION @@ -1972,10 +1972,7 @@ def get_one_scheduled_kernel(kernel): kernel.name, time()-start_time)) if CACHING_ENABLED and not from_cache: - try: - schedule_cache[sched_cache_key] = result - except ReadOnlyEntryError: - pass + schedule_cache.store_if_not_present(sched_cache_key, result) return result diff --git a/loopy/transform/buffer.py b/loopy/transform/buffer.py index a5084403819e46efb2710af4e1080c65947508fc..52ae505d8e18797bf8746433c311ff0edeb1988c 100644 --- a/loopy/transform/buffer.py +++ b/loopy/transform/buffer.py @@ -29,7 +29,7 @@ from loopy.symbolic import (get_dependencies, RuleAwareIdentityMapper, SubstitutionRuleMappingContext, SubstitutionMapper) from pymbolic.mapper.substitutor import make_subst_func -from pytools.persistent_dict import WriteOncePersistentDict, ReadOnlyEntryError +from pytools.persistent_dict import WriteOncePersistentDict from loopy.tools import LoopyKeyBuilder, PymbolicExpressionHashWrapper from loopy.version import DATA_MODEL_VERSION from loopy.diagnostic import LoopyError @@ -532,10 +532,7 @@ def buffer_array(kernel, var_name, buffer_inames, init_expression=None, if CACHING_ENABLED: from loopy.preprocess import prepare_for_caching - try: - buffer_array_cache[cache_key] = prepare_for_caching(kernel) - except ReadOnlyEntryError: - pass + buffer_array_cache.store_if_not_present(cache_key, prepare_for_caching(kernel)) return kernel diff --git a/setup.py b/setup.py index e1726772d06c70af89c3a0b2bc1947c30d0b5672..94843bf69e4e25677ccc0713e5f598e9dcfd55e2 100644 --- a/setup.py +++ b/setup.py @@ -37,7 +37,7 @@ setup(name="loo.py", ], install_requires=[ - "pytools>=2017.5", + "pytools>=2017.6", "pymbolic>=2016.2", "genpy>=2016.1.2", "cgen>=2016.1",