1 # Matmul example, relation representation
5 # =============================================== Global
14 # Parameter names are provided
19 # Number of statements
22 # =============================================== Statement 1
23 # Number of relations describing the statement
26 # ---------------------------------------------- 1.1 Domain
31 1 -1 0 1 -1 ## -i+N-1 >= 0
33 1 0 -1 1 -1 ## -j+N-1 >= 0
35 # ---------------------------------------------- 1.2 Scattering
38 # e/i s1 s2 s3 s4 s5 i j N 1
39 0 -1 0 0 0 0 0 0 0 0 ## s1 = 0
40 0 0 -1 0 0 0 1 0 0 0 ## s2 = i
41 0 0 0 -1 0 0 0 0 0 0 ## s3 = 0
42 0 0 0 0 -1 0 0 1 0 0 ## s4 = j
43 0 0 0 0 0 -1 0 0 0 0 ## s5 = 0
45 # ---------------------------------------------- 1.3 Access
48 # e/i Arr [1] [2] i j N 1
50 0 0 -1 0 1 0 0 0 ## [i]
51 0 0 0 -1 0 1 0 0 ## [j]
53 # ---------------------------------------------- 1.4 Body
54 # Statement body is provided
56 # Original iterator names
62 # =============================================== Statement 2
63 # Number of relations describing the statement
66 # ---------------------------------------------- 2.1 Domain
71 1 -1 0 0 1 -1 ## -i+N-1 >= 0
73 1 0 -1 0 1 -1 ## -j+N-1 >= 0
75 1 0 0 -1 1 -1 ## -k+N-1 >= 0
77 # ---------------------------------------------- 2.2 Scattering
80 # e/i s1 s2 s3 s4 s5 s6 s7 i j k N 1
81 0 -1 0 0 0 0 0 0 0 0 0 0 0 ## s1 = 0
82 0 0 -1 0 0 0 0 0 1 0 0 0 0 ## s2 = i
83 0 0 0 -1 0 0 0 0 0 0 0 0 0 ## s3 = 0
84 0 0 0 0 -1 0 0 0 0 1 0 0 0 ## s4 = j
85 0 0 0 0 0 -1 0 0 0 0 0 0 1 ## s5 = 1
86 0 0 0 0 0 0 -1 0 0 0 1 0 0 ## s6 = k
87 0 0 0 0 0 0 0 -1 0 0 0 0 0 ## s7 = 0
89 # ---------------------------------------------- 2.3 Access
92 # e/i Arr [1] [2] i j k N 1
93 0 -1 0 0 0 0 0 0 1 ## C
94 0 0 -1 0 1 0 0 0 0 ## [i]
95 0 0 0 -1 0 1 0 0 0 ## [j]
99 # e/i Arr [1] [2] i j k N 1
100 0 -1 0 0 0 0 0 0 1 ## C
101 0 0 -1 0 1 0 0 0 0 ## [i]
102 0 0 0 -1 0 1 0 0 0 ## [j]
106 # e/i Arr [1] [2] i j k N 1
107 0 -1 0 0 0 0 0 0 2 ## A
108 0 0 -1 0 1 0 0 0 0 ## [i]
109 0 0 0 -1 0 0 1 0 0 ## [k]
113 # e/i Arr [1] [2] i j k N 1
114 0 -1 0 0 0 0 0 0 3 ## B
115 0 0 -1 0 0 0 1 0 0 ## [k]
116 0 0 0 -1 0 1 0 0 0 ## [j]
118 # ---------------------------------------------- 2.4 Body
119 # Statement body is provided
121 # Original iterator names
124 C[i][j] = C[i][j] + A[i][k] * B[k][j];