diff options
author | schnetter <schnetter@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2008-09-23 15:46:30 +0000 |
---|---|---|
committer | schnetter <schnetter@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2008-09-23 15:46:30 +0000 |
commit | 0c77e02f695962169f1f8d35f6b2bb6cbcb7ffa9 (patch) | |
tree | c052541a4fc66dfa7f8669f41d6fed38bf56b1ba /src/RK3.c | |
parent | 2eadd221eb3ab023777758e93a9dd14463e33d2b (diff) |
Parallelise loops with OpenMP.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@129 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
Diffstat (limited to 'src/RK3.c')
-rw-r--r-- | src/RK3.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -121,6 +121,7 @@ void MoL_RK3Add(CCTK_ARGUMENTS) RHSVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 0, RHSVariableIndex[var]); +#pragma omp parallel for for (index = 0; index < totalsize; index++) { UpdateVar[index] += CCTK_DELTA_TIME * RHSVar[index]; @@ -149,6 +150,7 @@ void MoL_RK3Add(CCTK_ARGUMENTS) arraytotalsize *= arraydata.lsh[arraydim]; } +#pragma omp parallel for for (index = 0; index < arraytotalsize; index++) { UpdateVar[index] += CCTK_DELTA_TIME * RHSVar[index]; @@ -166,6 +168,7 @@ void MoL_RK3Add(CCTK_ARGUMENTS) RHSComplexVar = (CCTK_COMPLEX*)CCTK_VarDataPtrI(cctkGH, 0, RHSComplexVariableIndex[var]); +#pragma omp parallel for for (index = 0; index < totalsize; index++) { UpdateComplexVar[index] = CCTK_CmplxAdd(UpdateComplexVar[index], @@ -190,6 +193,7 @@ void MoL_RK3Add(CCTK_ARGUMENTS) RHSVar = (CCTK_REAL const*)CCTK_VarDataPtrI(cctkGH, 0, RHSVariableIndex[var]); +#pragma omp parallel for for (index = 0; index < totalsize; index++) { UpdateVar[index] = 0.25 * (3*OldVar[index] + @@ -222,6 +226,7 @@ void MoL_RK3Add(CCTK_ARGUMENTS) arraytotalsize *= arraydata.lsh[arraydim]; } +#pragma omp parallel for for (index = 0; index < arraytotalsize; index++) { UpdateVar[index] = 0.25*(3*OldVar[index] + UpdateVar[index]) + @@ -242,6 +247,7 @@ void MoL_RK3Add(CCTK_ARGUMENTS) RHSComplexVar = (CCTK_COMPLEX const*)CCTK_VarDataPtrI(cctkGH, 0, RHSComplexVariableIndex[var]); +#pragma omp parallel for for (index = 0; index < totalsize; index++) { UpdateComplexVar[index] = @@ -271,6 +277,7 @@ void MoL_RK3Add(CCTK_ARGUMENTS) RHSVar = (CCTK_REAL const*)CCTK_VarDataPtrI(cctkGH, 0, RHSVariableIndex[var]); +#pragma omp parallel for for (index = 0; index < totalsize; index++) { UpdateVar[index] = (OldVar[index] + 2*UpdateVar[index]) * one_third @@ -303,6 +310,7 @@ void MoL_RK3Add(CCTK_ARGUMENTS) arraytotalsize *= arraydata.lsh[arraydim]; } +#pragma omp parallel for for (index = 0; index < arraytotalsize; index++) { UpdateVar[index] = (OldVar[index] + 2*UpdateVar[index]) * one_third @@ -323,6 +331,7 @@ void MoL_RK3Add(CCTK_ARGUMENTS) RHSComplexVar = (CCTK_COMPLEX const*)CCTK_VarDataPtrI(cctkGH, 0, RHSComplexVariableIndex[var]); +#pragma omp parallel for for (index = 0; index < totalsize; index++) { UpdateComplexVar[index] = |