From 4bfc25129d3e5ffc8fdceef7fccfed85f9c392e2 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Fri, 31 Aug 2012 00:17:04 -0400
Subject: [PATCH] Add simplified image ilp test.

---
 test/test_linalg.py | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/test/test_linalg.py b/test/test_linalg.py
index aee835112..52bdd7b75 100644
--- a/test/test_linalg.py
+++ b/test/test_linalg.py
@@ -565,6 +565,39 @@ def test_image_matrix_mul_ilp(ctx_factory):
             op_count=[2*n**3/1e9], op_label=["GFlops"],
             parameters={})
 
+def test_image_matrix_mul_ilp_simplified(ctx_factory):
+    dtype = np.float32
+    ctx = ctx_factory()
+    order = "C"
+
+    n = 9 #get_suitable_size(ctx)
+
+    knl = lp.make_kernel(ctx.devices[0],
+            "{[i,j,k]: 0<=i,j,k<%d}" % n,
+            [
+                "c[i, j] = sum(k, a[i, k]*b[k, j])"
+                ],
+            [
+                lp.ImageArg("a", dtype, shape=(n, n)),
+                lp.ImageArg("b", dtype, shape=(n, n)),
+                lp.GlobalArg("c", dtype, shape=(n, n), order=order),
+                ],
+            name="matmul")
+
+    seq_knl = knl
+
+    knl = lp.split_dimension(knl, "j", 4, inner_tag="l.0")
+    knl = lp.split_dimension(knl, "k", 2)
+    knl = lp.add_prefetch(knl, 'b', ["j_inner", "k_inner"])
+
+    kernel_gen = lp.generate_loop_schedules(knl)
+    kernel_gen = lp.check_kernels(kernel_gen, dict(n=n))
+
+    lp.auto_test_vs_ref(seq_knl, ctx, kernel_gen,
+            op_count=[2*n**3/1e9], op_label=["GFlops"],
+            parameters={}, options=["-g"])
+
+
 
 
 
-- 
GitLab