diff --git a/loopy/check.py b/loopy/check.py index 6c26e15109d6250211fdec96ebbe07d7ddf25689..e200dab85ddc4d637c795cbcf6e7983b3a6d6b9a 100644 --- a/loopy/check.py +++ b/loopy/check.py @@ -1,5 +1,6 @@ from __future__ import division from islpy import dim_type +import islpy as isl @@ -219,15 +220,18 @@ def check_implemented_domains(kernel, implemented_domains): insn_impl_domain = idomains[0] for idomain in idomains[1:]: insn_impl_domain = insn_impl_domain | idomain - assumptions = align_spaces(kernel.assumptions, insn_impl_domain, - obj_bigger_ok=True) + assumption_non_param = isl.BasicSet.from_params(kernel.assumptions) + assumptions = align_spaces( + assumption_non_param, + insn_impl_domain, obj_bigger_ok=True) insn_impl_domain = ( (insn_impl_domain & assumptions) .project_out_except(kernel.insn_inames(insn), [dim_type.set])) insn_inames = kernel.insn_inames(insn) insn_domain = kernel.get_inames_domain(insn_inames) - assumptions = align_spaces(kernel.assumptions, insn_domain, + assumptions = align_spaces( + assumption_non_param, insn_domain, obj_bigger_ok=True) desired_domain = ((insn_domain & assumptions) .project_out_except(kernel.insn_inames(insn), [dim_type.set])) diff --git a/loopy/codegen/__init__.py b/loopy/codegen/__init__.py index e25f0af365f62137e35657617a8e7fcfe55ff7b2..69739ed69e3b97dcefd368cb99fb34e562cb0444 100644 --- a/loopy/codegen/__init__.py +++ b/loopy/codegen/__init__.py @@ -292,7 +292,7 @@ def generate_code(kernel, with_annotation=False, # }}} - initial_implemented_domain = kernel.assumptions + initial_implemented_domain = isl.BasicSet.from_params(kernel.assumptions) codegen_state = CodeGenerationState(initial_implemented_domain, c_code_mapper=ccm) from loopy.codegen.loop import set_up_hw_parallel_loops diff --git a/loopy/kernel.py b/loopy/kernel.py index 2f1d1516d7fbf31ea33b414d983549c349a6fb58..6fd09982ae6d0a38b6c68259ad5b2f2054e18774 100644 --- a/loopy/kernel.py +++ b/loopy/kernel.py @@ -915,7 +915,7 @@ class LoopKernel(Record): for i in xrange(dom0_space.dim(dim_type.param)): assumptions_space = assumptions_space.set_dim_name( dim_type.param, i, dom0_space.get_dim_name(dim_type.param, i)) - assumptions = isl.Set.universe(assumptions_space) + assumptions = isl.BasicSet.universe(assumptions_space) elif isinstance(assumptions, str): all_inames = set() @@ -1144,8 +1144,8 @@ class LoopKernel(Record): assert isinstance(domains, tuple) # for caching if not domains: - return isl.BasicSet.universe(isl.Space.alloc( - self.isl_context, 0, 0, 0)) + return isl.BasicSet.universe(isl.Space.set_alloc( + self.isl_context, 0, 0)) result = None for dom_index in domains: