From 2a4589fd170e17aca02fbc6ab926b72131da86a2 Mon Sep 17 00:00:00 2001 From: David Kaufmann Date: Mon, 30 Jan 2012 21:29:21 +0100 Subject: [PATCH] add reduce.c,reduce.h --- prefix/reduce.c | 15 +++++++++++++++ prefix/reduce.h | 6 ++++++ 2 files changed, 21 insertions(+) create mode 100644 prefix/reduce.c create mode 100644 prefix/reduce.h diff --git a/prefix/reduce.c b/prefix/reduce.c new file mode 100644 index 0000000..4bd09cc --- /dev/null +++ b/prefix/reduce.c @@ -0,0 +1,15 @@ +/* + * Recursive parallel prefix with auxiliary array y + */ +#include "recurse.h" +#include + +void algorithm (numtype x[], unsigned long n, unsigned int ops[]) { + unsigned long i; + unsigned long sum = 0; + #pragma omp parallel for reduction(+ : sum) + for (i = 0; i < n; i++) { + sum += x[i]; + } + x[n-1] = sum; +} diff --git a/prefix/reduce.h b/prefix/reduce.h new file mode 100644 index 0000000..02297dd --- /dev/null +++ b/prefix/reduce.h @@ -0,0 +1,6 @@ +/* + * Openmp reduce algorithm + */ +#include +#include "prefix.h" + -- 2.43.0