diff options
author | rhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2013-10-27 04:16:35 +0000 |
---|---|---|
committer | rhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2013-10-27 04:16:35 +0000 |
commit | e937d71b0b60c2e1d59332d2dfa650b840f06ebc (patch) | |
tree | 9341dfd1e39efe4b899dc948393540a96ddf9745 /src/GRHydro_UpdateMask.F90 | |
parent | 777d3d5417c9833eed108f298698ac934b7dd65e (diff) |
GRHydro: replace Fortan pointers with Cray pointers
Intel 12 seems to like these better. Otherwise GRHydro_Con2PrimM.F90
takes very long to compile.
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@580 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45
Diffstat (limited to 'src/GRHydro_UpdateMask.F90')
-rw-r--r-- | src/GRHydro_UpdateMask.F90 | 156 |
1 files changed, 74 insertions, 82 deletions
diff --git a/src/GRHydro_UpdateMask.F90 b/src/GRHydro_UpdateMask.F90 index 60243de..071a9b0 100644 --- a/src/GRHydro_UpdateMask.F90 +++ b/src/GRHydro_UpdateMask.F90 @@ -240,12 +240,6 @@ subroutine GRHydro_AtmosphereReset(CCTK_ARGUMENTS) implicit none - ! save memory when MP is not used - ! TARGET as to be before DECLARE_CCTK_ARGUMENTS for gcc 4.1 - TARGET gaa, gab, gac, gbb, gbc, gcc - TARGET gxx, gxy, gxz, gyy, gyz, gzz - TARGET lvel, vel - DECLARE_CCTK_ARGUMENTS DECLARE_CCTK_PARAMETERS @@ -255,8 +249,10 @@ subroutine GRHydro_AtmosphereReset(CCTK_ARGUMENTS) ! save memory when MP is not used CCTK_INT :: GRHydro_UseGeneralCoordinates - CCTK_REAL, DIMENSION(:,:,:), POINTER :: g11, g12, g13, g22, g23, g33 - CCTK_REAL, DIMENSION(:,:,:,:), POINTER :: vup + CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: g11, g12, g13, g22, g23, g33 + pointer (pg11,g11), (pg12,g12), (pg13,g13), (pg22,g22), (pg23,g23), (pg33,g33) + CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3),3) :: vup + pointer (pvup,vup) ! begin EOS Omni vars integer :: n,keytemp,anyerr,keyerr(1) @@ -267,21 +263,21 @@ subroutine GRHydro_AtmosphereReset(CCTK_ARGUMENTS) ! save memory when MP is not used if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then - g11 => gaa - g12 => gab - g13 => gac - g22 => gbb - g23 => gbc - g33 => gcc - vup => lvel + pg11 = loc(gaa) + pg12 = loc(gab) + pg13 = loc(gac) + pg22 = loc(gbb) + pg23 = loc(gbc) + pg33 = loc(gcc) + pvup = loc(lvel) else - g11 => gxx - g12 => gxy - g13 => gxz - g22 => gyy - g23 => gyz - g33 => gzz - vup => vel + pg11 = loc(gxx) + pg12 = loc(gxy) + pg13 = loc(gxz) + pg22 = loc(gyy) + pg23 = loc(gyz) + pg33 = loc(gzz) + pvup = loc(vel) end if if (verbose.eq.1) call CCTK_INFO("Entering AtmosphereReset.") @@ -344,18 +340,6 @@ subroutine GRHydro_InitialAtmosphereReset(CCTK_ARGUMENTS) implicit none - ! save memory when MP is not used - ! TARGET as to be before DECLARE_CCTK_ARGUMENTS for gcc 4.1 - TARGET gaa, gab, gac, gbb, gbc, gcc - TARGET gxx, gxy, gxz, gyy, gyz, gzz - TARGET lvel, vel - TARGET gaa_p, gab_p, gac_p, gbb_p, gbc_p, gcc_p - TARGET gxx_p, gxy_p, gxz_p, gyy_p, gyz_p, gzz_p - TARGET lvel_p, vel_p - TARGET gaa_p_p, gab_p_p, gac_p_p, gbb_p_p, gbc_p_p, gcc_p_p - TARGET gxx_p_p, gxy_p_p, gxz_p_p, gyy_p_p, gyz_p_p, gzz_p_p - TARGET lvel_p_p, vel_p_p - DECLARE_CCTK_ARGUMENTS DECLARE_CCTK_PARAMETERS @@ -368,14 +352,22 @@ subroutine GRHydro_InitialAtmosphereReset(CCTK_ARGUMENTS) ! save memory when MP is not used CCTK_INT :: GRHydro_UseGeneralCoordinates - CCTK_REAL, DIMENSION(:,:,:), POINTER :: g11, g12, g13, g22, g23, g33 - CCTK_REAL, DIMENSION(:,:,:,:), POINTER :: vup - CCTK_REAL, DIMENSION(:,:,:), POINTER :: g11_p, g12_p, g13_p, g22_p, & + CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: g11, g12, g13, g22, g23, g33 + pointer (pg11,g11), (pg12,g12), (pg13,g13), (pg22,g22), (pg23,g23), (pg33,g33) + CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3),3) :: vup + pointer (pvup,vup) + CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: g11_p, g12_p, g13_p, g22_p, & g23_p, g33_p - CCTK_REAL, DIMENSION(:,:,:,:), POINTER :: vup_p - CCTK_REAL, DIMENSION(:,:,:), POINTER :: g11_p_p, g12_p_p, g13_p_p, g22_p_p, & + pointer (pg11_p,g11_p), (pg12_p,g12_p), (pg13_p,g13_p), (pg22_p,g22_p), & + (pg23_p,g23_p), (pg33_p,g33_p) + CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3),3) :: vup_p + pointer (pvup_p,vup_p) + CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: g11_p_p, g12_p_p, g13_p_p, g22_p_p, & g23_p_p, g33_p_p - CCTK_REAL, DIMENSION(:,:,:,:), POINTER :: vup_p_p + pointer (pg11_p_p,g11_p_p), (pg12_p_p,g12_p_p), (pg13_p_p,g13_p_p), (pg22_p_p,g22_p_p), & + (pg23_p_p, g23_p_p), (pg33_p_p, g33_p_p) + CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3),3) :: vup_p_p + pointer (pvup_p_p,vup_p_p) ! begin EOS Omni vars integer :: n,keytemp,anyerr,keyerr(1) @@ -386,58 +378,58 @@ subroutine GRHydro_InitialAtmosphereReset(CCTK_ARGUMENTS) ! save memory when MP is not used if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then - g11 => gaa - g12 => gab - g13 => gac - g22 => gbb - g23 => gbc - g33 => gcc - vup => lvel + pg11 = loc(gaa) + pg12 = loc(gab) + pg13 = loc(gac) + pg22 = loc(gbb) + pg23 = loc(gbc) + pg33 = loc(gcc) + pvup = loc(lvel) else - g11 => gxx - g12 => gxy - g13 => gxz - g22 => gyy - g23 => gyz - g33 => gzz - vup => vel + pg11 = loc(gxx) + pg12 = loc(gxy) + pg13 = loc(gxz) + pg22 = loc(gyy) + pg23 = loc(gyz) + pg33 = loc(gzz) + pvup = loc(vel) end if if (timelevels .gt. 1) then if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then - g11_p => gaa_p - g12_p => gab_p - g13_p => gac_p - g22_p => gbb_p - g23_p => gbc_p - g33_p => gcc_p - vup_p => lvel_p + pg11_p = loc(gaa_p) + pg12_p = loc(gab_p) + pg13_p = loc(gac_p) + pg22_p = loc(gbb_p) + pg23_p = loc(gbc_p) + pg33_p = loc(gcc_p) + pvup_p = loc(lvel_p) else - g11_p => gxx_p - g12_p => gxy_p - g13_p => gxz_p - g22_p => gyy_p - g23_p => gyz_p - g33_p => gzz_p - vup_p => vel_p + pg11_p = loc(gxx_p) + pg12_p = loc(gxy_p) + pg13_p = loc(gxz_p) + pg22_p = loc(gyy_p) + pg23_p = loc(gyz_p) + pg33_p = loc(gzz_p) + pvup_p = loc(vel_p) end if end if if (timelevels .gt. 2) then if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then - g11_p_p => gaa_p_p - g12_p_p => gab_p_p - g13_p_p => gac_p_p - g22_p_p => gbb_p_p - g23_p_p => gbc_p_p - g33_p_p => gcc_p_p - vup_p_p => lvel_p_p + pg11_p_p = loc(gaa_p_p) + pg12_p_p = loc(gab_p_p) + pg13_p_p = loc(gac_p_p) + pg22_p_p = loc(gbb_p_p) + pg23_p_p = loc(gbc_p_p) + pg33_p_p = loc(gcc_p_p) + pvup_p_p = loc(lvel_p_p) else - g11_p_p => gxx_p_p - g12_p_p => gxy_p_p - g13_p_p => gxz_p_p - g22_p_p => gyy_p_p - g23_p_p => gyz_p_p - g33_p_p => gzz_p_p - vup_p_p => vel_p_p + pg11_p_p = loc(gxx_p_p) + pg12_p_p = loc(gxy_p_p) + pg13_p_p = loc(gxz_p_p) + pg22_p_p = loc(gyy_p_p) + pg23_p_p = loc(gyz_p_p) + pg33_p_p = loc(gzz_p_p) + pvup_p_p = loc(vel_p_p) end if end if |