aboutsummaryrefslogtreecommitdiff
path: root/src/Newton.c
diff options
context:
space:
mode:
authorknarf <knarf@b2a53a04-0f4f-0410-87ed-f9f25ced00cf>2009-10-20 18:47:35 +0000
committerknarf <knarf@b2a53a04-0f4f-0410-87ed-f9f25ced00cf>2009-10-20 18:47:35 +0000
commitb58a109b87d1133c85d3bd097cd08bcf082c7140 (patch)
treea6f0d5d165de150c46979feefa7c3967801a8c5c /src/Newton.c
parentabba0c1bc7e5350da8ba54f8ff4d4c3a66ed39da (diff)
partial openMP support, one loop remains serialized, because it would have to be rewritten to make use of openMP
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/TwoPunctures/trunk@97 b2a53a04-0f4f-0410-87ed-f9f25ced00cf
Diffstat (limited to 'src/Newton.c')
-rw-r--r--src/Newton.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Newton.c b/src/Newton.c
index 77be43f..9140c08 100644
--- a/src/Newton.c
+++ b/src/Newton.c
@@ -221,12 +221,16 @@ relax (CCTK_REAL * restrict const dv,
{
for (n = 0; n < N_PlaneRelax; n++)
{
+#pragma omp parallel for schedule(dynamic)
for (i = 2; i < n1; i = i + 2)
LineRelax_be (dv, i, k, nvar, n1, n2, n3, rhs, ncols, cols, JFD);
+#pragma omp parallel for schedule(dynamic)
for (i = 1; i < n1; i = i + 2)
LineRelax_be (dv, i, k, nvar, n1, n2, n3, rhs, ncols, cols, JFD);
+#pragma omp parallel for schedule(dynamic)
for (j = 1; j < n2; j = j + 2)
LineRelax_al (dv, j, k, nvar, n1, n2, n3, rhs, ncols, cols, JFD);
+#pragma omp parallel for schedule(dynamic)
for (j = 0; j < n2; j = j + 2)
LineRelax_al (dv, j, k, nvar, n1, n2, n3, rhs, ncols, cols, JFD);
}
@@ -235,12 +239,16 @@ relax (CCTK_REAL * restrict const dv,
{
for (n = 0; n < N_PlaneRelax; n++)
{
+#pragma omp parallel for schedule(dynamic)
for (i = 0; i < n1; i = i + 2)
LineRelax_be (dv, i, k, nvar, n1, n2, n3, rhs, ncols, cols, JFD);
+#pragma omp parallel for schedule(dynamic)
for (i = 1; i < n1; i = i + 2)
LineRelax_be (dv, i, k, nvar, n1, n2, n3, rhs, ncols, cols, JFD);
+#pragma omp parallel for schedule(dynamic)
for (j = 1; j < n2; j = j + 2)
LineRelax_al (dv, j, k, nvar, n1, n2, n3, rhs, ncols, cols, JFD);
+#pragma omp parallel for schedule(dynamic)
for (j = 0; j < n2; j = j + 2)
LineRelax_al (dv, j, k, nvar, n1, n2, n3, rhs, ncols, cols, JFD);
}