aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks/polybench-syn/linear-algebra
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2020-11-17 09:11:01 +0000
committerYann Herklotz <git@yannherklotz.com>2020-11-17 09:11:01 +0000
commit7d9057a6ca6f591851ee5c6e8d74e3833aae3903 (patch)
tree7577f9b16008a7ceb6158eb836909f1fa636dbc8 /benchmarks/polybench-syn/linear-algebra
parent6aa7ea660f19e7bde920b5b22c1c0c93f1be2fd7 (diff)
parent38b249970456a55f0a69ff28070887367e113205 (diff)
downloadvericert-kvx-7d9057a6ca6f591851ee5c6e8d74e3833aae3903.tar.gz
vericert-kvx-7d9057a6ca6f591851ee5c6e8d74e3833aae3903.zip
Merge branch 'dev-experiments'
Diffstat (limited to 'benchmarks/polybench-syn/linear-algebra')
-rw-r--r--benchmarks/polybench-syn/linear-algebra/blas/gemm.c6
-rw-r--r--benchmarks/polybench-syn/linear-algebra/blas/gemver.c6
-rw-r--r--benchmarks/polybench-syn/linear-algebra/blas/gesummv.c3
-rw-r--r--benchmarks/polybench-syn/linear-algebra/blas/symm.c6
-rw-r--r--benchmarks/polybench-syn/linear-algebra/blas/syr2k.c6
-rw-r--r--benchmarks/polybench-syn/linear-algebra/blas/syrk.c6
-rw-r--r--benchmarks/polybench-syn/linear-algebra/blas/trmm.c6
-rw-r--r--benchmarks/polybench-syn/linear-algebra/kernels/2mm.c7
-rw-r--r--benchmarks/polybench-syn/linear-algebra/kernels/3mm.c7
-rw-r--r--benchmarks/polybench-syn/linear-algebra/kernels/atas.c7
-rw-r--r--benchmarks/polybench-syn/linear-algebra/kernels/bicg.c7
-rw-r--r--benchmarks/polybench-syn/linear-algebra/kernels/doitgen.c7
-rw-r--r--benchmarks/polybench-syn/linear-algebra/kernels/mvt.c7
-rw-r--r--benchmarks/polybench-syn/linear-algebra/solvers/cholesky.c8
-rw-r--r--benchmarks/polybench-syn/linear-algebra/solvers/durbin.c43
-rw-r--r--benchmarks/polybench-syn/linear-algebra/solvers/lu.c45
-rw-r--r--benchmarks/polybench-syn/linear-algebra/solvers/ludcmp.c9
-rw-r--r--benchmarks/polybench-syn/linear-algebra/solvers/trisolv.c13
18 files changed, 126 insertions, 73 deletions
diff --git a/benchmarks/polybench-syn/linear-algebra/blas/gemm.c b/benchmarks/polybench-syn/linear-algebra/blas/gemm.c
index a81f094..2c0aaf7 100644
--- a/benchmarks/polybench-syn/linear-algebra/blas/gemm.c
+++ b/benchmarks/polybench-syn/linear-algebra/blas/gemm.c
@@ -11,6 +11,9 @@
#include "../../include/misc.h"
+#ifndef SYNTHESIS
+ #include <stdio.h>
+#endif
#define plus(i) i = i + ONE
static
void init_array(int ni, int nj, int nk,
@@ -50,6 +53,9 @@ int print_array(int ni, int nj,
for (j = 0; j < nj; plus(j)) {
res ^= C[i][j];
}
+#ifndef SYNTHESIS
+ printf("finished %u\n", res);
+#endif
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/blas/gemver.c b/benchmarks/polybench-syn/linear-algebra/blas/gemver.c
index fafd49f..2f68871 100644
--- a/benchmarks/polybench-syn/linear-algebra/blas/gemver.c
+++ b/benchmarks/polybench-syn/linear-algebra/blas/gemver.c
@@ -11,6 +11,9 @@
#include "../../include/misc.h"
+#ifndef SYNTHESIS
+ #include <stdio.h>
+#endif
#define plus(i) i = i + ONE
static
void init_array (int n,
@@ -63,6 +66,9 @@ int print_array(int n,
for (i = 0; i < n; plus(i)) {
res ^= w[i];
}
+#ifndef SYNTHESIS
+ printf("finished %u\n", res);
+#endif
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/blas/gesummv.c b/benchmarks/polybench-syn/linear-algebra/blas/gesummv.c
index e9fe78e..c7d30f3 100644
--- a/benchmarks/polybench-syn/linear-algebra/blas/gesummv.c
+++ b/benchmarks/polybench-syn/linear-algebra/blas/gesummv.c
@@ -49,6 +49,9 @@ int print_array(int n,
for (i = 0; i < n; plus(i)) {
res ^= y[i];
}
+#ifndef SYNTHESIS
+ printf("finished: %u\n", res);
+#endif
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/blas/symm.c b/benchmarks/polybench-syn/linear-algebra/blas/symm.c
index f13577b..5e8fb1e 100644
--- a/benchmarks/polybench-syn/linear-algebra/blas/symm.c
+++ b/benchmarks/polybench-syn/linear-algebra/blas/symm.c
@@ -11,6 +11,9 @@
#include "../../include/misc.h"
+#ifndef SYNTHESIS
+ #include <stdio.h>
+#endif
#define plus(i) i = i + ONE
static
void init_array(int m, int n,
@@ -51,6 +54,9 @@ int print_array(int m, int n,
for (j = 0; j < n; plus(j)) {
res ^= C[i][j];
}
+#ifndef SYNTHESIS
+ printf("finished %u\n", res);
+#endif
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/blas/syr2k.c b/benchmarks/polybench-syn/linear-algebra/blas/syr2k.c
index 2214d4a..3366672 100644
--- a/benchmarks/polybench-syn/linear-algebra/blas/syr2k.c
+++ b/benchmarks/polybench-syn/linear-algebra/blas/syr2k.c
@@ -11,6 +11,9 @@
#include "../../include/misc.h"
+#ifndef SYNTHESIS
+ #include <stdio.h>
+#endif
#define plus(i) i = i + ONE
static
void init_array(int n, int m,
@@ -51,6 +54,9 @@ int print_array(int n,
for (j = 0; j < n; plus(j)) {
res ^= C[i][j];
}
+#ifndef SYNTHESIS
+ printf("finished %u\n", res);
+#endif
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/blas/syrk.c b/benchmarks/polybench-syn/linear-algebra/blas/syrk.c
index 3c792a0..4dd65a6 100644
--- a/benchmarks/polybench-syn/linear-algebra/blas/syrk.c
+++ b/benchmarks/polybench-syn/linear-algebra/blas/syrk.c
@@ -11,6 +11,9 @@
#include "../../include/misc.h"
+#ifndef SYNTHESIS
+ #include <stdio.h>
+#endif
#define plus(i) i = i + ONE
static
void init_array(int n, int m,
@@ -45,6 +48,9 @@ int print_array(int n,
for (j = 0; j < n; plus(j)) {
res ^= C[i][j];
}
+#ifndef SYNTHESIS
+ printf("finished %u\n", res);
+#endif
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/blas/trmm.c b/benchmarks/polybench-syn/linear-algebra/blas/trmm.c
index e369fd0..a14d131 100644
--- a/benchmarks/polybench-syn/linear-algebra/blas/trmm.c
+++ b/benchmarks/polybench-syn/linear-algebra/blas/trmm.c
@@ -11,6 +11,9 @@
#include "../../include/misc.h"
+#ifndef SYNTHESIS
+ #include <stdio.h>
+#endif
#define plus(i) i = i + ONE
static
void init_array(int m, int n,
@@ -49,6 +52,9 @@ int print_array(int m, int n,
for (j = 0; j < n; plus(j)) {
res ^= B[i][j];
}
+#ifndef SYNTHESIS
+ printf("finished %u\n", res);
+#endif
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/2mm.c b/benchmarks/polybench-syn/linear-algebra/kernels/2mm.c
index f5c5ff3..d8b79e2 100644
--- a/benchmarks/polybench-syn/linear-algebra/kernels/2mm.c
+++ b/benchmarks/polybench-syn/linear-algebra/kernels/2mm.c
@@ -12,6 +12,10 @@
#include "../../include/misc.h"
+#ifndef SYNTHESIS
+ #include <stdio.h>
+#endif
+
#define plus(i) i = i + ONE
static
void init_array(int ni, int nj, int nk, int nl,
@@ -52,6 +56,9 @@ int print_array(int ni, int nl,
for (j = 0; j < nl; plus(j)) {
res ^= D[i][j];
}
+#ifndef SYNTHESIS
+ printf("finished %u\n", res);
+#endif
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/3mm.c b/benchmarks/polybench-syn/linear-algebra/kernels/3mm.c
index 2905719..60be3f8 100644
--- a/benchmarks/polybench-syn/linear-algebra/kernels/3mm.c
+++ b/benchmarks/polybench-syn/linear-algebra/kernels/3mm.c
@@ -12,6 +12,10 @@
#include "../../include/misc.h"
+#ifndef SYNTHESIS
+ #include <stdio.h>
+#endif
+
#define plus(i) i = i + ONE
static
void init_array(int ni, int nj, int nk, int nl, int nm,
@@ -52,6 +56,9 @@ int print_array(int ni, int nl,
for (j = 0; j < nl; plus(j)) {
res ^= G[i][j];
}
+#ifndef SYNTHESIS
+ printf("finished %u\n", res);
+#endif
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/atas.c b/benchmarks/polybench-syn/linear-algebra/kernels/atas.c
index 7bd0151..c3173e4 100644
--- a/benchmarks/polybench-syn/linear-algebra/kernels/atas.c
+++ b/benchmarks/polybench-syn/linear-algebra/kernels/atas.c
@@ -11,6 +11,10 @@
#include "../../include/misc.h"
+#ifndef SYNTHESIS
+ #include <stdio.h>
+#endif
+
#define plus(i) i = i + ONE
static
void init_array (int m, int n,
@@ -42,6 +46,9 @@ int print_array(int n,
for (i = 0; i < n; plus(i)) {
res ^= y[i];
}
+#ifndef SYNTHESIS
+ printf("finished %u\n", res);
+#endif
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/bicg.c b/benchmarks/polybench-syn/linear-algebra/kernels/bicg.c
index 5981924..3290f1b 100644
--- a/benchmarks/polybench-syn/linear-algebra/kernels/bicg.c
+++ b/benchmarks/polybench-syn/linear-algebra/kernels/bicg.c
@@ -12,6 +12,10 @@
#include "../../include/misc.h"
+#ifndef SYNTHESIS
+ #include <stdio.h>
+#endif
+
#define plus(i) i = i + ONE
static
void init_array (int m, int n,
@@ -50,6 +54,9 @@ int print_array(int m, int n,
for (i = 0; i < n; plus(i)) {
res ^= q[i];
}
+#ifndef SYNTHESIS
+ printf("finished %u\n", res);
+#endif
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/doitgen.c b/benchmarks/polybench-syn/linear-algebra/kernels/doitgen.c
index 081a3ba..7a997f1 100644
--- a/benchmarks/polybench-syn/linear-algebra/kernels/doitgen.c
+++ b/benchmarks/polybench-syn/linear-algebra/kernels/doitgen.c
@@ -11,6 +11,10 @@
#include "../../include/misc.h"
+#ifndef SYNTHESIS
+ #include <stdio.h>
+#endif
+
#define plus(i) i = i + ONE
static
void init_array(int nr, int nq, int np,
@@ -43,6 +47,9 @@ int print_array(int nr, int nq, int np,
for (k = 0; k < np; plus(k)) {
res ^= A[i][j][k];
}
+#ifndef SYNTHESIS
+ printf("finished %u\n", res);
+#endif
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/mvt.c b/benchmarks/polybench-syn/linear-algebra/kernels/mvt.c
index 7eb612e..f8822bb 100644
--- a/benchmarks/polybench-syn/linear-algebra/kernels/mvt.c
+++ b/benchmarks/polybench-syn/linear-algebra/kernels/mvt.c
@@ -11,6 +11,10 @@
#include "../../include/misc.h"
+#ifndef SYNTHESIS
+ #include <stdio.h>
+#endif
+
#define plus(i) i = i + ONE
static
@@ -56,6 +60,9 @@ int print_array(int n,
for (i = 0; i < n; plus(i)) {
res ^= x2[i];
}
+#ifndef SYNTHESIS
+ printf("finished %u\n", res);
+#endif
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/solvers/cholesky.c b/benchmarks/polybench-syn/linear-algebra/solvers/cholesky.c
index 05e85ea..b43402b 100644
--- a/benchmarks/polybench-syn/linear-algebra/solvers/cholesky.c
+++ b/benchmarks/polybench-syn/linear-algebra/solvers/cholesky.c
@@ -11,6 +11,10 @@
#include "../../include/misc.h"
+#ifndef SYNTHESIS
+#include <stdio.h>
+#endif
+
# define SQRT_FUN(x) sqrtf(x)
#define plus(i) i = i + ONE
@@ -63,6 +67,10 @@ int check_array(int n,
for (j = 0; j <= i; plus(j)) {
if(A[i][j]!=0) res = 1;
}
+ #ifndef SYNTHESIS
+ printf("finished: %u\n", res);
+ #endif
+
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/solvers/durbin.c b/benchmarks/polybench-syn/linear-algebra/solvers/durbin.c
index 5c853a7..b51adca 100644
--- a/benchmarks/polybench-syn/linear-algebra/solvers/durbin.c
+++ b/benchmarks/polybench-syn/linear-algebra/solvers/durbin.c
@@ -52,45 +52,6 @@ int sdivider(int N, int D) {
}
}
-unsigned int divider(unsigned int x, unsigned int y)
-{
- unsigned int r0, q0, y0, y1;
-
- r0 = x;
- q0 = 0;
- y0 = y;
- y1 = y;
- do
- {
- y1 = 2 * y1;
- } while (y1 <= x);
- do
- {
- y1 = y1 / 2;
- q0 = 2 * q0;
- if (r0 >= y1)
- {
- r0 = r0 - y1;
- q0 = q0 + 1;
- }
- } while ((int)y1 != (int)y0);
- return q0;
-}
-
-int sdivider(int N, int D) {
- if (D < 0) {
- if (N < 0)
- return divider(-N, -D);
- else
- return -divider(N, -D);
- } else {
- if (N < 0)
- return -divider(-N, D);
- else
- return divider(N, D);
- }
-}
-
#define plus(i) i = i + ONE
/* Include polybench common header. */
static
@@ -118,11 +79,11 @@ int print_array(int n,
int res = 0;
for (i = 0; i < n; plus(i)) {
- res += y[i];
+ res ^= y[i];
}
#ifndef SYNTHESIS
- printf("finished = %u\n", res);
+ printf("finished: %u\n", res);
#endif
return res;
diff --git a/benchmarks/polybench-syn/linear-algebra/solvers/lu.c b/benchmarks/polybench-syn/linear-algebra/solvers/lu.c
index d925db8..759d6ff 100644
--- a/benchmarks/polybench-syn/linear-algebra/solvers/lu.c
+++ b/benchmarks/polybench-syn/linear-algebra/solvers/lu.c
@@ -17,7 +17,11 @@
#include "../../include/misc.h"
-#define plus(n) ((n = n + 1))
+#ifndef SYNTHESIS
+#include <stdio.h>
+#endif
+
+#define plus(i) i = i + ONE
static
void init_array (int n,
@@ -25,11 +29,14 @@ void init_array (int n,
{
int i, j;
- for (i = 0; i < n; i++) {
- for (j = 0; j <= i; j++)
- A[i][j] = (-j % n) / n + 1;
- for (j = i+1; j < n; j++) {
- A[i][j] = 0;
+ for (i = 0; i < n; plus(i))
+ {
+ for (j = 0; j <= i; plus(j))
+ A[i][j] = sdivider(smodulo(-j, n), n) + ONE;
+ for (j = i+1; j < n; plus(j)) {
+ A[i][j] = 0;
+ }
+ A[i][i] = 1;
}
A[i][i] = 1;
}
@@ -53,27 +60,6 @@ void init_array (int n,
}
-
-/*static
- void print_array(int n,
- int A[ 40 + 0][40 + 0])
-
- {
- int i, j;
-
- fprintf(stderr, "==BEGIN DUMP_ARRAYS==\n");
- fprintf(stderr, "begin dump: %s", "A");
- for (i = 0; i < n; i++)
- for (j = 0; j < n; j++) {
- if ((i * n + j) % 20 == 0) fprintf (stderr, "\n");
- fprintf (stderr, "%d ", A[i][j]);
- }
- fprintf(stderr, "\nend dump: %s\n", "A");
- fprintf(stderr, "==END DUMP_ARRAYS==\n");
- }
-*/
-
-
static
void kernel_lu(int n,
int A[ 40][40])
@@ -107,6 +93,9 @@ int check_array(int n,
for (i = 0; i < n; plus(i))
for (j = 0; j < n; plus(j))
if(A[i][j] !=0) res = 1;
+ #ifndef SYNTHESIS
+ printf("finished: %u\n", res);
+ #endif
return res;
}
@@ -123,8 +112,6 @@ int main()
init_array (n, A);
-
-
kernel_lu (n, A);
return check_array(n, A);
diff --git a/benchmarks/polybench-syn/linear-algebra/solvers/ludcmp.c b/benchmarks/polybench-syn/linear-algebra/solvers/ludcmp.c
index f37d983..0f4522e 100644
--- a/benchmarks/polybench-syn/linear-algebra/solvers/ludcmp.c
+++ b/benchmarks/polybench-syn/linear-algebra/solvers/ludcmp.c
@@ -11,6 +11,10 @@
#include "../../include/misc.h"
+#ifndef SYNTHESIS
+#include <stdio.h>
+#endif
+
#define plus(i) i = i + ONE
static
@@ -71,8 +75,11 @@ int check_array(int n,
int res = 0;
for (i = 0; i < n; plus(i)) {
- res += x[i];
+ res ^= x[i];
}
+#ifndef SYNTHESIS
+ printf("finished: %u\n", res);
+#endif
return res;
}
diff --git a/benchmarks/polybench-syn/linear-algebra/solvers/trisolv.c b/benchmarks/polybench-syn/linear-algebra/solvers/trisolv.c
index 8e76231..2f636df 100644
--- a/benchmarks/polybench-syn/linear-algebra/solvers/trisolv.c
+++ b/benchmarks/polybench-syn/linear-algebra/solvers/trisolv.c
@@ -11,6 +11,11 @@
#include "../../include/misc.h"
+
+#ifndef SYNTHESIS
+#include <stdio.h>
+#endif
+
#define plus(i) i = i + ONE
static
void init_array(int n,
@@ -23,7 +28,7 @@ void init_array(int n,
for (i = 0; i < n; plus(i))
{
- x[i] = - 999;
+ x[i] = -999;
b[i] = i ;
for (j = 0; j <= i; plus(j))
L[i][j] = (int) divider((i+n-j+ONE)*(ONE+ONE), n);
@@ -42,8 +47,12 @@ int check_array(int n,
int res = 0;
int ONE = 1;
for (i = 0; i < n; plus(i)) {
- res += x[i];
+ res ^= x[i];
}
+
+#ifndef SYNTHESIS
+ printf("finished: %u\n", res);
+#endif
return res;
}