From b369f71cb6c6f39a861077a7ad827c0792769b0c Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Sat, 27 Jul 2013 17:18:48 -0700 Subject: CarpetLib: Use OpenMP collapse clause in Fortran transport operators --- Carpet/CarpetLib/src/prolongate_3d_real8_eno.F90 | 14 +++++++------- Carpet/CarpetLib/src/prolongate_3d_real8_tvd.F90 | 12 ++++++------ Carpet/CarpetLib/src/prolongate_3d_real8_weno.F90 | 14 +++++++------- 3 files changed, 20 insertions(+), 20 deletions(-) (limited to 'Carpet/CarpetLib') diff --git a/Carpet/CarpetLib/src/prolongate_3d_real8_eno.F90 b/Carpet/CarpetLib/src/prolongate_3d_real8_eno.F90 index 94a9e60f1..bd3f9b396 100644 --- a/Carpet/CarpetLib/src/prolongate_3d_real8_eno.F90 +++ b/Carpet/CarpetLib/src/prolongate_3d_real8_eno.F90 @@ -194,17 +194,17 @@ subroutine prolongate_3d_real8_eno ( & !!$ Loop over fine region + !$omp parallel do collapse(3) private(i,j,k, i0,fi,j0,fj,k0,fk, tmp1,tmp2, ii,jj,kk) do k = 0, regkext-1 - k0 = (srckoff + k) / dstkfac - fk = mod(srckoff + k, dstkfac) - do j = 0, regjext-1 - j0 = (srcjoff + j) / dstjfac - fj = mod(srcjoff + j, dstjfac) - do i = 0, regiext-1 + i0 = (srcioff + i) / dstifac fi = mod(srcioff + i, dstifac) + j0 = (srcjoff + j) / dstjfac + fj = mod(srcjoff + j, dstjfac) + k0 = (srckoff + k) / dstkfac + fk = mod(srckoff + k, dstkfac) !!$ Where is the fine grid point w.r.t the coarse grid? @@ -279,7 +279,7 @@ subroutine prolongate_3d_real8_eno ( & eno1d(tmp2(0:3)) case default - call CCTK_WARN(0, "Internal error in ENO prolongation. Should only be used with refinement factor 2!") + call CCTK_ERROR("Internal error in ENO prolongation. Should only be used with refinement factor 2!") end select end do diff --git a/Carpet/CarpetLib/src/prolongate_3d_real8_tvd.F90 b/Carpet/CarpetLib/src/prolongate_3d_real8_tvd.F90 index 230a20bd5..f9f56f6d9 100644 --- a/Carpet/CarpetLib/src/prolongate_3d_real8_tvd.F90 +++ b/Carpet/CarpetLib/src/prolongate_3d_real8_tvd.F90 @@ -145,17 +145,17 @@ subroutine prolongate_3d_real8_tvd ( & ! Loop over fine region + !$omp parallel do collapse(3) private(i,j,k, i0,fi,j0,fj,k0,fk, firstloop, ii,jj,kk, dupw,dloc, slopex,slopey,slopez) do k = 0, regkext-1 - k0 = (srckoff + k) / dstkfac - fk = mod(srckoff + k, dstkfac) - do j = 0, regjext-1 - j0 = (srcjoff + j) / dstjfac - fj = mod(srcjoff + j, dstjfac) - do i = 0, regiext-1 + i0 = (srcioff + i) / dstifac fi = mod(srcioff + i, dstifac) + j0 = (srcjoff + j) / dstjfac + fj = mod(srcjoff + j, dstjfac) + k0 = (srckoff + k) / dstkfac + fk = mod(srckoff + k, dstkfac) firstloop = .true. diff --git a/Carpet/CarpetLib/src/prolongate_3d_real8_weno.F90 b/Carpet/CarpetLib/src/prolongate_3d_real8_weno.F90 index 044132a10..acc0e7577 100644 --- a/Carpet/CarpetLib/src/prolongate_3d_real8_weno.F90 +++ b/Carpet/CarpetLib/src/prolongate_3d_real8_weno.F90 @@ -274,17 +274,17 @@ subroutine prolongate_3d_real8_weno ( & !!$ Loop over fine region + !$omp parallel do collapse(3) private(i,j,k, i0,fi,j0,fj,k0,fk, tmp1,tmp2, ii,jj,kk) do k = 0, regkext-1 - k0 = (srckoff + k) / dstkfac - fk = mod(srckoff + k, dstkfac) - do j = 0, regjext-1 - j0 = (srcjoff + j) / dstjfac - fj = mod(srcjoff + j, dstjfac) - do i = 0, regiext-1 + i0 = (srcioff + i) / dstifac fi = mod(srcioff + i, dstifac) + j0 = (srcjoff + j) / dstjfac + fj = mod(srcjoff + j, dstjfac) + k0 = (srckoff + k) / dstkfac + fk = mod(srckoff + k, dstkfac) !!$ Where is the fine grid point w.r.t the coarse grid? @@ -359,7 +359,7 @@ subroutine prolongate_3d_real8_weno ( & weno1d(tmp2(0:4)) case default - call CCTK_WARN(0, "Internal error in WENO prolongation. Should only be used with refinement factor 2!") + call CCTK_ERROR("Internal error in WENO prolongation. Should only be used with refinement factor 2!") end select end do -- cgit v1.2.3