From db23352d09dc8087a564df3b559fafe4653889b9 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Thu, 6 Feb 2014 18:25:03 -0600 Subject: [PATCH] Test, fix picklability of loopy kernels --- loopy/kernel/__init__.py | 10 +++++++--- loopy/kernel/creation.py | 1 - test/test_loopy.py | 3 +++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/loopy/kernel/__init__.py b/loopy/kernel/__init__.py index 81a64484c..e66838ef1 100644 --- a/loopy/kernel/__init__.py +++ b/loopy/kernel/__init__.py @@ -135,7 +135,6 @@ class LoopKernel(RecordWithoutPickling): on expressions the user specifies later. .. attribute:: cache_manager - .. attribute:: isl_context .. attribute:: options An instance of :class:`loopy.Options` @@ -170,7 +169,6 @@ class LoopKernel(RecordWithoutPickling): applied_iname_rewrites=[], cache_manager=None, index_dtype=np.int32, - isl_context=None, options=None, state=kernel_state.INITIAL, @@ -283,7 +281,6 @@ class LoopKernel(RecordWithoutPickling): function_manglers=function_manglers, symbol_manglers=symbol_manglers, index_dtype=index_dtype, - isl_context=isl_context, options=options, state=state) @@ -472,6 +469,13 @@ class LoopKernel(RecordWithoutPickling): def get_home_domain_index(self, iname): return self._get_home_domain_map()[iname] + @memoize_method + def isl_context(self): + for dom in self.domains: + return dom.get_ctx() + + assert False + @memoize_method def combine_domains(self, domains): """ diff --git a/loopy/kernel/creation.py b/loopy/kernel/creation.py index e3f7ab14e..285105103 100644 --- a/loopy/kernel/creation.py +++ b/loopy/kernel/creation.py @@ -1086,7 +1086,6 @@ def make_kernel(domains, instructions, kernel_data=["..."], **kwargs): isl_context = domain.get_ctx() if isl_context is None: isl_context = isl.Context() - kwargs["isl_context"] = isl_context # }}} diff --git a/test/test_loopy.py b/test/test_loopy.py index 07a737900..a3f07f299 100644 --- a/test/test_loopy.py +++ b/test/test_loopy.py @@ -1500,6 +1500,9 @@ def test_rob_stroud_bernstein_full(ctx_factory): slabs=(0, 1)) knl = lp.tag_inames(knl, dict(i2="l.1", alpha1="unr", alpha2="unr")) + from pickle import dumps, loads + knl = loads(dumps(knl)) + print lp.CompiledKernel(ctx, knl).get_highlighted_code( dict( qpts=np.float32, -- GitLab