aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks/polybench-syn/linear-algebra/kernels
diff options
context:
space:
mode:
authorNadesh Ramanathan <nadeshramanathan88@gmail.com>2020-11-11 19:47:42 +0000
committerNadesh Ramanathan <nadeshramanathan88@gmail.com>2020-11-11 19:47:42 +0000
commit95861dbef966e2cb612b303615681fc29c3acd3d (patch)
treee3bff372bdb4b769ec6fb54077e30bda406ef9ee /benchmarks/polybench-syn/linear-algebra/kernels
parent47bad8cabe00a40723ce04852d02e7527473f3c3 (diff)
downloadvericert-kvx-95861dbef966e2cb612b303615681fc29c3acd3d.tar.gz
vericert-kvx-95861dbef966e2cb612b303615681fc29c3acd3d.zip
polybench edits
Diffstat (limited to 'benchmarks/polybench-syn/linear-algebra/kernels')
-rw-r--r--benchmarks/polybench-syn/linear-algebra/kernels/2mm.c13
-rw-r--r--benchmarks/polybench-syn/linear-algebra/kernels/3mm.c18
-rw-r--r--benchmarks/polybench-syn/linear-algebra/kernels/atas.c12
-rw-r--r--benchmarks/polybench-syn/linear-algebra/kernels/bicg.c10
-rw-r--r--benchmarks/polybench-syn/linear-algebra/kernels/doitgen.c8
-rw-r--r--benchmarks/polybench-syn/linear-algebra/kernels/mvt.c26
6 files changed, 39 insertions, 48 deletions
diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/2mm.c b/benchmarks/polybench-syn/linear-algebra/kernels/2mm.c
index 391e9ac..f5c5ff3 100644
--- a/benchmarks/polybench-syn/linear-algebra/kernels/2mm.c
+++ b/benchmarks/polybench-syn/linear-algebra/kernels/2mm.c
@@ -10,6 +10,8 @@
/* 2mm.c: this file is part of PolyBench/C */
+#include "../../include/misc.h"
+
#define plus(i) i = i + ONE
static
void init_array(int ni, int nj, int nk, int nl,
@@ -27,16 +29,16 @@ void init_array(int ni, int nj, int nk, int nl,
*beta = 2;
for (i = 0; i < ni; plus(i))
for (j = 0; j < nk; plus(j))
- A[i][j] = (int) ((i*j+ONE) % ni) / ni;
+ A[i][j] = (int) divider(smodulo(i*j+ONE, ni), ni);
for (i = 0; i < nk; plus(i))
for (j = 0; j < nj; plus(j))
- B[i][j] = (int) (i*(j+ONE) % nj) / nj;
+ B[i][j] = (int) divider(smodulo(i*(j+ONE), nj), nj);
for (i = 0; i < nj; plus(i))
for (j = 0; j < nl; plus(j))
- C[i][j] = (int) ((i*(j+ONE+ONE+ONE)+ONE) % nl) / nl;
+ C[i][j] = (int) divider(smodulo(i*(j+ONE+ONE+ONE)+ONE, nl), nl);
for (i = 0; i < ni; plus(i))
for (j = 0; j < nl; plus(j))
- D[i][j] = (int) (i*(j+ONE+ONE) % nk) / nk;
+ D[i][j] = (int) divider(smodulo(i*(j+ONE+ONE), nk), nk);
}
static
@@ -69,8 +71,6 @@ void kernel_2mm(int ni, int nj, int nk, int nl,
int ONE = 1;
int i, j, k;
-#pragma scop
-
for (i = 0; i < ni; plus(i))
for (j = 0; j < nj; plus(j))
{
@@ -85,7 +85,6 @@ void kernel_2mm(int ni, int nj, int nk, int nl,
for (k = 0; k < nj; plus(k))
D[i][j] += tmp[i][k] * C[k][j];
}
-#pragma endscop
}
diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/3mm.c b/benchmarks/polybench-syn/linear-algebra/kernels/3mm.c
index e565fb5..2905719 100644
--- a/benchmarks/polybench-syn/linear-algebra/kernels/3mm.c
+++ b/benchmarks/polybench-syn/linear-algebra/kernels/3mm.c
@@ -9,6 +9,9 @@
*/
/* 3mm.c: this file is part of PolyBench/C */
+
+#include "../../include/misc.h"
+
#define plus(i) i = i + ONE
static
void init_array(int ni, int nj, int nk, int nl, int nm,
@@ -21,25 +24,22 @@ void init_array(int ni, int nj, int nk, int nl, int nm,
int ONE = 1;
int TWO = 2;
int THREE = 3;
- int FIVE = 5;
for (i = 0; i < ni; plus(i))
for (j = 0; j < nk; plus(j))
- A[i][j] = (int) ((i*j+ONE) % ni) / (5*ni);
+ A[i][j] = (int) divider(smodulo((i*j+ONE), ni), (5*ni));
for (i = 0; i < nk; plus(i))
for (j = 0; j < nj; plus(j))
- B[i][j] = (int) ((i*(j+ONE)+TWO) % nj) / (5*nj);
+ B[i][j] = (int) divider(smodulo((i*(j+ONE)+TWO),nj), (5*nj));
for (i = 0; i < nj; plus(i))
for (j = 0; j < nm; plus(j))
- C[i][j] = (int) (i*(j+THREE) % nl) / (5*nl);
+ C[i][j] = (int) divider(smodulo(i*(j+THREE), nl), (5*nl));
for (i = 0; i < nm; plus(i))
for (j = 0; j < nl; plus(j))
- D[i][j] = (int) ((i*(j+TWO)+TWO) % nk) / (5*nk);
+ D[i][j] = (int) divider(smodulo((i*(j+TWO)+TWO), nk), (5*nk));
}
-
-
static
int print_array(int ni, int nl,
int G[ 16 + 0][22 + 0])
@@ -71,8 +71,6 @@ void kernel_3mm(int ni, int nj, int nk, int nl, int nm,
int ONE = 1;
int i, j, k;
-#pragma scop
-
for (i = 0; i < ni; plus(i))
for (j = 0; j < nj; plus(j))
{
@@ -96,11 +94,9 @@ void kernel_3mm(int ni, int nj, int nk, int nl, int nm,
for (k = 0; k < nj; plus(k))
G[i][j] += E[i][k] * F[k][j];
}
-#pragma endscop
}
-
int main()
{
diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/atas.c b/benchmarks/polybench-syn/linear-algebra/kernels/atas.c
index a051046..7bd0151 100644
--- a/benchmarks/polybench-syn/linear-algebra/kernels/atas.c
+++ b/benchmarks/polybench-syn/linear-algebra/kernels/atas.c
@@ -9,6 +9,8 @@
*/
/* atax.c: this file is part of PolyBench/C */
+#include "../../include/misc.h"
+
#define plus(i) i = i + ONE
static
void init_array (int m, int n,
@@ -21,15 +23,13 @@ void init_array (int m, int n,
fn = (int)n;
for (i = 0; i < n; plus(i))
- x[i] = ONE + (i / fn);
+ x[i] = ONE + divider(i, fn);
for (i = 0; i < m; plus(i))
for (j = 0; j < n; plus(j))
- A[i][j] = (int) ((i+j) % n) / (5*m);
+ A[i][j] = (int) divider(smodulo(i+j, n),(5*m));
}
-
-
static
int print_array(int n,
int y[ 42 + 0])
@@ -46,8 +46,6 @@ int print_array(int n,
}
-
-
static
void kernel_atax(int m, int n,
int A[ 38 + 0][42 + 0],
@@ -58,7 +56,6 @@ void kernel_atax(int m, int n,
int i, j;
int ONE = 1;
-#pragma scop
for (i = 0; i < n; plus(i))
y[i] = 0;
for (i = 0; i < m; plus(i))
@@ -69,7 +66,6 @@ void kernel_atax(int m, int n,
for (j = 0; j < n; plus(j))
y[j] = y[j] + A[i][j] * tmp[i];
}
-#pragma endscop
}
diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/bicg.c b/benchmarks/polybench-syn/linear-algebra/kernels/bicg.c
index 48b7658..5981924 100644
--- a/benchmarks/polybench-syn/linear-algebra/kernels/bicg.c
+++ b/benchmarks/polybench-syn/linear-algebra/kernels/bicg.c
@@ -10,6 +10,8 @@
/* bicg.c: this file is part of PolyBench/C */
+#include "../../include/misc.h"
+
#define plus(i) i = i + ONE
static
void init_array (int m, int n,
@@ -21,11 +23,11 @@ void init_array (int m, int n,
int ONE = 1;
for (i = 0; i < m; plus(i))
- p[i] = (int)(i % m) / m;
+ p[i] = divider(smodulo(i, m), m);
for (i = 0; i < n; plus(i)) {
- r[i] = (int)(i % n) / n;
+ r[i] = divider(smodulo(i, n), n);
for (j = 0; j < m; plus(j))
- A[i][j] = (int) (i*(j+ONE) % n)/n;
+ A[i][j] = divider(smodulo(i*(j+ONE), n), n);
}
}
@@ -65,7 +67,6 @@ void kernel_bicg(int m, int n,
int i, j;
int ONE = 1;
-#pragma scop
for (i = 0; i < m; plus(i))
s[i] = 0;
for (i = 0; i < n; plus(i))
@@ -77,7 +78,6 @@ void kernel_bicg(int m, int n,
q[i] = q[i] + A[i][j] * p[j];
}
}
-#pragma endscop
}
diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/doitgen.c b/benchmarks/polybench-syn/linear-algebra/kernels/doitgen.c
index 20de1df..081a3ba 100644
--- a/benchmarks/polybench-syn/linear-algebra/kernels/doitgen.c
+++ b/benchmarks/polybench-syn/linear-algebra/kernels/doitgen.c
@@ -9,6 +9,8 @@
*/
/* doitgen.c: this file is part of PolyBench/C */
+#include "../../include/misc.h"
+
#define plus(i) i = i + ONE
static
void init_array(int nr, int nq, int np,
@@ -21,10 +23,10 @@ void init_array(int nr, int nq, int np,
for (i = 0; i < nr; plus(i))
for (j = 0; j < nq; plus(j))
for (k = 0; k < np; plus(k))
- A[i][j][k] = (int) ((i*j + k)%np) / np;
+ A[i][j][k] = (int) divider(smodulo((i*j + k), np), np);
for (i = 0; i < np; plus(i))
for (j = 0; j < np; plus(j))
- C4[i][j] = (int) (i*j % np) / np;
+ C4[i][j] = (int) divider(smodulo(i*j, np), np);
}
@@ -55,7 +57,6 @@ void kernel_doitgen(int nr, int nq, int np,
int r, q, p, s;
int ONE = 1;
-#pragma scop
for (r = 0; r < nr; plus(r))
for (q = 0; q < nq; plus(q)) {
for (p = 0; p < np; plus(p)) {
@@ -66,7 +67,6 @@ void kernel_doitgen(int nr, int nq, int np,
for (p = 0; p < np; plus(p))
A[r][q][p] = sum[p];
}
-#pragma endscop
}
diff --git a/benchmarks/polybench-syn/linear-algebra/kernels/mvt.c b/benchmarks/polybench-syn/linear-algebra/kernels/mvt.c
index aa68b1c..7eb612e 100644
--- a/benchmarks/polybench-syn/linear-algebra/kernels/mvt.c
+++ b/benchmarks/polybench-syn/linear-algebra/kernels/mvt.c
@@ -9,6 +9,8 @@
*/
/* mvt.c: this file is part of PolyBench/C */
+#include "../../include/misc.h"
+
#define plus(i) i = i + ONE
static
@@ -24,23 +26,23 @@ void init_array(int n,
int THREE = 3;
for (i = 0; i < n; plus(i))
- {
- x1[i] = (int) (i % n) / n;
- x2[i] = (int) ((i + ONE) % n) / n;
- y_1[i] = (int) ((i + THREE) % n) / n;
- y_2[i] = (int) ((i + 4) % n) / n;
- for (j = 0; j < n; plus(j))
- A[i][j] = (int) (i*j % n) / n;
- }
+ {
+ x1[i] = (int) divider(smodulo(i, n), n);
+ x2[i] = (int) divider(smodulo(i + ONE, n), n);
+ y_1[i] = (int) divider(smodulo(i + THREE, n), n);
+ y_2[i] = (int) divider(smodulo(i + 4, n), n);
+ for (j = 0; j < n; plus(j))
+ A[i][j] = (int) divider(smodulo(i*j,n), n);
+ }
}
-static
+ static
int print_array(int n,
- int x1[ 40 + 0],
- int x2[ 40 + 0])
+ int x1[ 40 + 0],
+ int x2[ 40 + 0])
{
int i;
@@ -71,14 +73,12 @@ void kernel_mvt(int n,
int i, j;
int ONE = 1;
-#pragma scop
for (i = 0; i < n; plus(i))
for (j = 0; j < n; plus(j))
x1[i] = x1[i] + A[i][j] * y_1[j];
for (i = 0; i < n; plus(i))
for (j = 0; j < n; plus(j))
x2[i] = x2[i] + A[j][i] * y_2[j];
-#pragma endscop
}