diff options
author | knarf <knarf@b2a53a04-0f4f-0410-87ed-f9f25ced00cf> | 2009-10-20 18:47:35 +0000 |
---|---|---|
committer | knarf <knarf@b2a53a04-0f4f-0410-87ed-f9f25ced00cf> | 2009-10-20 18:47:35 +0000 |
commit | b58a109b87d1133c85d3bd097cd08bcf082c7140 (patch) | |
tree | a6f0d5d165de150c46979feefa7c3967801a8c5c /src/Newton.c | |
parent | abba0c1bc7e5350da8ba54f8ff4d4c3a66ed39da (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.c | 8 |
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); } |