From 84c5246349cbcdc4c631cca7343f259d450a2111 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Sat, 25 Aug 2012 19:30:31 -0400 Subject: [PATCH] Fix a few isl parameter domain screwups. --- loopy/check.py | 10 +++++++--- loopy/codegen/__init__.py | 2 +- loopy/kernel.py | 6 +++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/loopy/check.py b/loopy/check.py index 6c26e1510..e200dab85 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 e25f0af36..69739ed69 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 2f1d1516d..6fd09982a 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: -- GitLab