From ececb2967f0ee3783a7b8c52d3ce5f4e3e9432bf Mon Sep 17 00:00:00 2001
From: Isuru Fernando <isuruf@gmail.com>
Date: Wed, 27 Apr 2022 19:19:27 -0500
Subject: [PATCH] remove custom split_iname

---
 sumpy/tools.py | 70 --------------------------------------------------
 1 file changed, 70 deletions(-)

diff --git a/sumpy/tools.py b/sumpy/tools.py
index 55f55404..14152d70 100644
--- a/sumpy/tools.py
+++ b/sumpy/tools.py
@@ -933,74 +933,4 @@ def to_complex_dtype(dtype):
 
 # }}}
 
-
-# {{{ split_iname
-
-def split_iname(
-        kernel, iname, inner_length, *,
-        inner_tag=None, inner_iname=None, outer_iname=None):
-    """
-    A custom split_iname that uses returns a kernel with two separate
-    domains for inner_iname and outer_iname with the domain for inner_iname
-    being independent of outer_iname and the domain for outer_iname being
-    dependent on inner_iname.
-    """
-    from loopy.isl_helpers import make_slab
-    import islpy as isl
-
-    orig_program = kernel
-    if not inner_iname:
-        inner_iname = iname + "_inner"
-    if not outer_iname:
-        outer_iname = iname + "_outer"
-
-    program = lp.split_iname(kernel, iname, inner_length, inner_tag=inner_tag,
-                             inner_iname=inner_iname, outer_iname=outer_iname)
-    knl = program.default_entrypoint
-
-    replace_domains = None
-
-    orig_domains = list(orig_program.default_entrypoint.domains)
-    for domain in orig_domains:
-        var_dict = domain.get_var_dict()
-        if iname not in var_dict:
-            continue
-        dim_type, _ = var_dict[iname]
-        if domain.get_var_names(dim_type) == [iname]:
-            s = domain
-            s = s.add_dims(dim_type, 1)
-            s = s.add_dims(isl.dim_type.param, 1)
-            s = s.set_dim_name(isl.dim_type.param, s.dim(isl.dim_type.param) - 1,
-                               inner_iname)
-            s = s.set_dim_name(dim_type, s.dim(dim_type) - 1, outer_iname)
-            space = s.get_space()
-            s = s.add_constraint(isl.Constraint.eq_from_names(space, {
-                iname: 1,
-                inner_iname: -1,
-                outer_iname: -inner_length}))
-            dup_iname_dim_type, dup_name_idx = space.get_var_dict()[iname]
-            outer_domain = s.project_out(dup_iname_dim_type, dup_name_idx, 1)
-
-            s = domain
-            s = s.set_dim_name(dim_type, s.dim(dim_type) - 1, inner_iname)
-            s = make_slab(s.get_space(), inner_iname, 0, inner_length)
-            inner_domain = s.drop_unused_params()
-            replace_domains = [outer_domain, inner_domain]
-            break
-
-    new_domains = list(knl.domains)
-    for i, domain in enumerate(new_domains):
-        var_dict = domain.get_var_dict()
-        if inner_iname not in var_dict or outer_iname not in var_dict:
-            continue
-        dim_type, _ = var_dict[inner_iname]
-        if domain.get_var_names(dim_type) == [outer_iname, inner_iname]:
-            new_domains[i] = replace_domains[0]
-            new_domains.insert(i, replace_domains[1])
-            break
-
-    return orig_program.with_kernel(knl.copy(domains=new_domains))
-
-# }}} split_iname
-
 # vim: fdm=marker
-- 
GitLab