From 9ad444e66a04108f560b8f6cf39691385bb5dc2c Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Fri, 11 Nov 2011 12:42:09 -0500
Subject: [PATCH] Pick (more) sensible names for reduction inames. Remove
 non-ND FEM quadrature.

---
 loopy/preprocess.py       |  2 +-
 test/test_fem_assembly.py | 82 ---------------------------------------
 2 files changed, 1 insertion(+), 83 deletions(-)

diff --git a/loopy/preprocess.py b/loopy/preprocess.py
index fec2f3e80..59ac1fc05 100644
--- a/loopy/preprocess.py
+++ b/loopy/preprocess.py
@@ -141,7 +141,7 @@ def realize_reduction(kernel):
 
         from pymbolic import var
 
-        target_var_name = kernel.make_unique_var_name("acc",
+        target_var_name = kernel.make_unique_var_name("acc_"+"_".join(expr.inames),
                 extra_used_vars=set(new_temporary_variables))
         target_var = var(target_var_name)
 
diff --git a/test/test_fem_assembly.py b/test/test_fem_assembly.py
index bae8fcdca..136fccfbc 100644
--- a/test/test_fem_assembly.py
+++ b/test/test_fem_assembly.py
@@ -26,88 +26,6 @@ def test_laplacian_stiffness(ctx_factory):
     from pymbolic import var
     Nc_sym = var("Nc")
 
-    knl = lp.make_kernel(ctx.devices[0],
-            "[Nc] -> {[K,i,j,q, ax_a, ax_b, ax_c]: 0<=K<Nc and 0<=i,j<%(Nb)d and 0<=q<%(Nq)d "
-            "and 0<= ax_c < %(dim)d}"
-            % dict(Nb=Nb, Nq=Nq, dim=dim),
-            [
-                "dPsi(a, dxi) := sum_float32(ax_c,"
-                    "  jacInv[ax_c,dxi,K,q] * DPsi[ax_c,a,q])",
-                "A[K, i, j] = sum_float32(q, w[q] * jacDet[K,q] * ("
-                    "dPsi(0,0)*dPsi(1,0) + dPsi(0,1)*dPsi(1,1)))"
-                ],
-            [
-            lp.ArrayArg("jacInv", dtype, shape=(dim, dim, Nc_sym, Nq), order=order),
-            lp.ConstantArrayArg("DPsi", dtype, shape=(dim, Nb, Nq), order=order),
-            lp.ArrayArg("jacDet", dtype, shape=(Nc_sym, Nq), order=order),
-            lp.ConstantArrayArg("w", dtype, shape=(Nq, dim), order=order),
-            lp.ArrayArg("A", dtype, shape=(Nc_sym, Nb, Nb), order=order),
-            lp.ScalarArg("Nc",  np.int32, approximately=1000),
-            ],
-            name="lapquad", assumptions="Nc>=1")
-
-    knl = lp.tag_dimensions(knl, dict(ax_c="unr"))
-    seq_knl = knl
-    #print lp.preprocess_kernel(seq_knl)
-    #1/0
-
-    def variant_1(knl):
-        # no ILP across elements
-        knl = lp.split_dimension(knl, "K", 16, outer_tag="g.0", slabs=(0,1))
-        knl = lp.tag_dimensions(knl, {"i": "l.0", "j": "l.1"})
-        knl = lp.add_prefetch(knl, 'jacInv',
-                ["jacInv_dim_0", "jacInv_dim_1", "K_inner", "q"])
-        return knl
-
-    def variant_2(knl):
-        # with ILP across elements
-        knl = lp.split_dimension(knl, "K", 16, outer_tag="g.0", slabs=(0,1))
-        knl = lp.split_dimension(knl, "K_inner", 4, inner_tag="ilp")
-        knl = lp.tag_dimensions(knl, {"i": "l.0", "j": "l.1"})
-        knl = lp.add_prefetch(knl, "jacInv",
-                ["jacInv_dim_0", "jacInv_dim_1", "K_inner_inner", "K_inner_outer", "q"])
-        return knl
-
-    def variant_3(knl):
-        # no ILP across elements, precompute dPsiTransf
-        knl = lp.split_dimension(knl, "K", 16, outer_tag="g.0", slabs=(0,1))
-        knl = lp.tag_dimensions(knl, {"i": "l.0", "j": "l.1"})
-        knl = lp.precompute(knl, "dPsi", np.float32,)
-                #default_tag=None)
-        knl = lp.add_prefetch(knl, "jacInv",
-                ["jacInv_dim_0", "jacInv_dim_1", "K_inner", "q"])
-        return knl
-
-    #for variant in [variant_1, variant_2]:
-    for variant in [variant_3]:
-        kernel_gen = lp.generate_loop_schedules(variant(knl),
-                loop_priority=["jacInv_dim_0", "jacInv_dim_1"])
-        kernel_gen = lp.check_kernels(kernel_gen, dict(Nc=Nc))
-
-        lp.auto_test_vs_seq(seq_knl, ctx, kernel_gen,
-                op_count=0, op_label="GFlops",
-                parameters={"Nc": Nc}, print_seq_code=True,
-                timing_rounds=30)
-
-
-
-
-def test_laplacian_stiffness_nd(ctx_factory):
-    dtype = np.float32
-    ctx = ctx_factory()
-    order = "C"
-
-    dim = 2
-
-    Nq = 40 # num. quadrature points
-    Nc = 1000 # num. cells
-    Nb = 20 # num. basis functions
-
-    # K - run-time symbolic
-
-    from pymbolic import var
-    Nc_sym = var("Nc")
-
     knl = lp.make_kernel(ctx.devices[0],
             "[Nc] -> {[K,i,j,q, ax_a, ax_b]: 0<=K<Nc and 0<=i,j<%(Nb)d and 0<=q<%(Nq)d "
             "and 0<= ax_a, ax_b < %(dim)d}"
-- 
GitLab