From 1c9f673de0e071b6d454744cd32c7ac8a567d468 Mon Sep 17 00:00:00 2001 From: Nadesh Ramanathan Date: Tue, 10 Nov 2020 12:25:34 +0000 Subject: fixes for cholesky --- .../linear-algebra/solvers/cholesky.c | 48 ++++++++++------------ 1 file changed, 22 insertions(+), 26 deletions(-) (limited to 'benchmarks/polybench-syn') diff --git a/benchmarks/polybench-syn/linear-algebra/solvers/cholesky.c b/benchmarks/polybench-syn/linear-algebra/solvers/cholesky.c index 264251d..a0d63a0 100644 --- a/benchmarks/polybench-syn/linear-algebra/solvers/cholesky.c +++ b/benchmarks/polybench-syn/linear-algebra/solvers/cholesky.c @@ -9,7 +9,7 @@ */ /* cholesky.c: this file is part of PolyBench/C */ -#include +#include "../../include/misc.h" # define SQRT_FUN(x) sqrtf(x) @@ -76,34 +76,30 @@ void kernel_cholesky(int n, int i, j, k; int ONE = 1; -#pragma scop - for (i = 0; i < n; plus(i)) { - - for (j = 0; j < i; plus(j)) { - for (k = 0; k < j; plus(k)) { - A[i][j] -= A[i][k] * A[j][k]; - } - A[i][j] /= A[j][j]; - } - - for (k = 0; k < i; plus(k)) { - A[i][i] -= A[i][k] * A[i][k]; - } - int sq = 0; int val = 0; int cmp = A[i][i]; - printf("cmp %d\n",cmp); - while(sq <= cmp) { - val = val + ONE; - sq = val * val; - } - printf("val %d\n",val); - A[i][i] = val; - } -#pragma endscop + for (i = 0; i < n; plus(i)) { + + for (j = 0; j < i; plus(j)) { + for (k = 0; k < j; plus(k)) { + A[i][j] -= A[i][k] * A[j][k]; + } + A[i][j] = sdivider(A[i][j] ,A[j][j]); + } + + for (k = 0; k < i; plus(k)) { + A[i][i] -= A[i][k] * A[i][k]; + } + int sq = 0; int val = 0; int cmp = A[i][i]; + while(sq <= cmp) { + val = val + ONE; + sq = val * val; + } + A[i][i] = val; + } } -int main(int argc, char** argv) +int main() { int n = 40; @@ -112,7 +108,7 @@ int main(int argc, char** argv) int A[40][40]; - //init_array (n, A); + init_array (n, A); kernel_cholesky (n, A); -- cgit