Skip to content
Snippets Groups Projects
Commit 84c52463 authored by Andreas Klöckner's avatar Andreas Klöckner
Browse files

Fix a few isl parameter domain screwups.

parent b955f7c4
No related branches found
No related tags found
No related merge requests found
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]))
......
......@@ -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
......
......@@ -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:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment