diff options
Diffstat (limited to 'examples/chill')
-rw-r--r-- | examples/chill/gemm.c | 18 | ||||
-rw-r--r-- | examples/chill/gemm.script | 31 | ||||
-rw-r--r-- | examples/chill/gemv.c | 15 | ||||
-rw-r--r-- | examples/chill/gemv.script | 9 | ||||
-rw-r--r-- | examples/chill/jacobi1.c | 13 | ||||
-rw-r--r-- | examples/chill/jacobi1.script | 18 | ||||
-rw-r--r-- | examples/chill/jacobi2.c | 15 | ||||
-rw-r--r-- | examples/chill/jacobi2.script | 21 | ||||
-rw-r--r-- | examples/chill/unroll.c | 33 | ||||
-rw-r--r-- | examples/chill/unroll.script | 35 |
10 files changed, 0 insertions, 208 deletions
diff --git a/examples/chill/gemm.c b/examples/chill/gemm.c deleted file mode 100644 index a565511..0000000 --- a/examples/chill/gemm.c +++ /dev/null @@ -1,18 +0,0 @@ - -#define N 512 - -int main() { - - float a[N][N], b[N][N], c[N][N]; - - int i, j, k; - - for (j = 0; j < N; j++) - for (k = 0; k < N; k++) - for (i = 0; i < N; i++) { - c[i][j] = c[i][j] + a[i][k] * b[k][j]; - } - - return 0; -} - diff --git a/examples/chill/gemm.script b/examples/chill/gemm.script deleted file mode 100644 index ed91567..0000000 --- a/examples/chill/gemm.script +++ /dev/null @@ -1,31 +0,0 @@ -#matrix multiply large array size for intel machine -source: gemm.c -procedure: main -format: rose -loop: 0 - -TI = 128 -TJ = 8 -TK = 512 -UI = 2 -UJ = 2 - -permute([3,1,2]) -tile(0,2,TJ) -#print space -tile(0,2,TI) -#print space -tile(0,5,TK) -#print space - -datacopy(0,3,a,false,1) -#print space - -datacopy(0,4,b) -print -unroll(0,4,UI)#print space -print -unroll(0,5,UJ) -#print space -print - diff --git a/examples/chill/gemv.c b/examples/chill/gemv.c deleted file mode 100644 index 610d4cb..0000000 --- a/examples/chill/gemv.c +++ /dev/null @@ -1,15 +0,0 @@ -#define N 10 - -int main() { - // int n; - float a[N]; - float b[N]; - float c[N][N]; - - int i, j; - - for (i = 1; i < N; i++) - for (j = 1; j < N; j++) - a[i] = a[i] + c[i][j] * b[j]; - -} diff --git a/examples/chill/gemv.script b/examples/chill/gemv.script deleted file mode 100644 index f1d5f89..0000000 --- a/examples/chill/gemv.script +++ /dev/null @@ -1,9 +0,0 @@ -source: gemv.c # matrix-vector multiply -procedure: main -format : rose -loop: 0 - - - -original() -print diff --git a/examples/chill/jacobi1.c b/examples/chill/jacobi1.c deleted file mode 100644 index 0fcaee4..0000000 --- a/examples/chill/jacobi1.c +++ /dev/null @@ -1,13 +0,0 @@ -#define N 512 - -int main() { - int i, t; - - float a[N][N]; - - for (t = 2; t <= 100; t++) - for (i = 2; i <= N - 1; i++) - a[t][i] = a[t - 1][i - 1] + a[t - 1][i] + a[t - 1][i + 1]; - - return 0; -} diff --git a/examples/chill/jacobi1.script b/examples/chill/jacobi1.script deleted file mode 100644 index c0dec8d..0000000 --- a/examples/chill/jacobi1.script +++ /dev/null @@ -1,18 +0,0 @@ -# -# tiling perfect jacobi loop nest with time step, use -# unimodular transformation first (only applicable to the -# perfect loop nest) to make tiling legal. -# - -source: jacobi1.c -procedure: main -format : rose -loop: 0 - -print dep - -nonsingular([[1,0],[1,1]]) # unimodular matrix, determinant is one -tile(0,2,64) - -print dep -print diff --git a/examples/chill/jacobi2.c b/examples/chill/jacobi2.c deleted file mode 100644 index b8d8d7b..0000000 --- a/examples/chill/jacobi2.c +++ /dev/null @@ -1,15 +0,0 @@ -#define N 512 - -int main() { - double a[N]; - double b[N]; - int t, i; - for (t = 1; t <= 100; t++) { - for (i = 2; i <= N - 1; i++) - b[i] = (double) 0.25 * (a[i - 1] + a[i + 1]) + (double) 0.5 * a[i]; - - for (i = 2; i <= N - 1; i++) - a[i] = b[i]; - } - return 0; -} diff --git a/examples/chill/jacobi2.script b/examples/chill/jacobi2.script deleted file mode 100644 index afe14c6..0000000 --- a/examples/chill/jacobi2.script +++ /dev/null @@ -1,21 +0,0 @@ -# -# tiling imperfect jacobi loop nest, more details in the paper -# "Automatic Tiling of Iterative Stencil Loops" by Zhiyuan Li and -# Yonghong Song, TOPLAS, 2004. -# - -source: jacobi2.c -procedure: main -format: rose -loop: 0 - -print dep - -original() -shift([1], 2, 1) -fuse([0,1], 2) # optional -skew([0,1], 2, [2,1]) -tile(0, 2, 32, 1) - -print dep -print diff --git a/examples/chill/unroll.c b/examples/chill/unroll.c deleted file mode 100644 index e74dea3..0000000 --- a/examples/chill/unroll.c +++ /dev/null @@ -1,33 +0,0 @@ - -#define N 14 -#define DT 0.314 - -void foo(int n, float* x, float* y, float* z, float* f3, float* f1, float* w) { - - int i, j; - - for (i = 1; i <= 14; i++) - x[i] = 1.0; - - for (i = 1; i <= 14; i += 3) - y[i] = 1.0; - - for (i = N + 1; i <= N + 20; i += 3) - z[i] = 1.0; - - for (i = 0; i <= N; i++) { - for (j = i; j <= i + N; j++) - f3[i] = f3[i] + f1[j] * w[j - i]; - f3[i] = f3[i] * DT; - } - - return 0; -} - -int main() { - float x[N], y[N], z[N], f3[N], f1[N], w[N]; - - foo(N, x, y, z, f3, f1, w); - return 0; -} - diff --git a/examples/chill/unroll.script b/examples/chill/unroll.script deleted file mode 100644 index e64acb6..0000000 --- a/examples/chill/unroll.script +++ /dev/null @@ -1,35 +0,0 @@ -# -# Test unroll-and-jam. The last loop adapted from the simple -# convolution example from p463 of "Optimizing Compilers for -# Modern Architectures", by Randy Allen and Ken Kennedy. -# - -source: unroll.c -procedure: foo -format: rose -# fully unroll a loop with known iteration count -loop: 0 -original() -unroll(0,1,3) -print -print space - - -# a strided loop -loop: 1 -original() -unroll(0,1,2) -print -print space - -# lower and upper bounds are not constant -loop: 2 -original() -unroll(0,1,20) -print - -# parallelogram iteration space -loop: 3 -original() -unroll(0,1,2) -print |