1 # Matmul example, relation representation
5 # =============================================== Global
14 # Parameter names are provided
19 # Iterator names are provided
24 # Scattering dimension names are not provided
27 # Number of statements
30 # =============================================== Statement 1
31 # Number of relations describing the statement
34 # ---------------------------------------------- 1.1 Domain
39 1 -1 0 1 -1 ## -i+N-1 >= 0
41 1 0 -1 1 -1 ## -j+N-1 >= 0
43 # ---------------------------------------------- 1.2 Scattering
46 # e/i s1 s2 s3 s4 s5 i j N 1
47 0 -1 0 0 0 0 0 0 0 0 ## s1 = 0
48 0 0 -1 0 0 0 1 0 0 0 ## s2 = i
49 0 0 0 -1 0 0 0 0 0 0 ## s3 = 0
50 0 0 0 0 -1 0 0 1 0 0 ## s4 = j
51 0 0 0 0 0 -1 0 0 0 0 ## s5 = 0
53 # ---------------------------------------------- 1.3 Access
56 # e/i Arr [1] [2] i j N 1
58 0 0 -1 0 1 0 0 0 ## [i]
59 0 0 0 -1 0 1 0 0 ## [j]
61 # ---------------------------------------------- 1.4 Body
62 # Statement body is provided
64 # Original iterator names
70 # =============================================== Statement 2
71 # Number of relations describing the statement
74 # ---------------------------------------------- 2.1 Domain
79 1 -1 0 0 1 -1 ## -i+N-1 >= 0
81 1 0 -1 0 1 -1 ## -j+N-1 >= 0
83 1 0 0 -1 1 -1 ## -k+N-1 >= 0
85 # ---------------------------------------------- 2.2 Scattering
88 # e/i s1 s2 s3 s4 s5 s6 s7 i j k N 1
89 0 -1 0 0 0 0 0 0 0 0 0 0 0 ## s1 = 0
90 0 0 -1 0 0 0 0 0 1 0 0 0 0 ## s2 = i
91 0 0 0 -1 0 0 0 0 0 0 0 0 0 ## s3 = 0
92 0 0 0 0 -1 0 0 0 0 1 0 0 0 ## s4 = j
93 0 0 0 0 0 -1 0 0 0 0 0 0 1 ## s5 = 1
94 0 0 0 0 0 0 -1 0 0 0 1 0 0 ## s6 = k
95 0 0 0 0 0 0 0 -1 0 0 0 0 0 ## s7 = 0
97 # ---------------------------------------------- 2.3 Access
100 # e/i Arr [1] [2] i j k N 1
101 0 -1 0 0 0 0 0 0 1 ## C
102 0 0 -1 0 1 0 0 0 0 ## [i]
103 0 0 0 -1 0 1 0 0 0 ## [j]
107 # e/i Arr [1] [2] i j k N 1
108 0 -1 0 0 0 0 0 0 2 ## A
109 0 0 -1 0 1 0 0 0 0 ## [i]
110 0 0 0 -1 0 0 1 0 0 ## [k]
114 # e/i Arr [1] [2] i j k N 1
115 0 -1 0 0 0 0 0 0 3 ## B
116 0 0 -1 0 0 0 1 0 0 ## [k]
117 0 0 0 -1 0 1 0 0 0 ## [j]
119 # ---------------------------------------------- 2.4 Body
120 # Statement body is provided
122 # Original iterator names
125 C[i][j] = C[i][j] + A[i][k] * B[k][j];