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_Con2PrimM.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_Con2PrimM.F90')
-rw-r--r-- | src/GRHydro_Con2PrimM.F90 | 114 |
1 files changed, 32 insertions, 82 deletions
diff --git a/src/GRHydro_Con2PrimM.F90 b/src/GRHydro_Con2PrimM.F90 index a871b7e..f0f9421 100644 --- a/src/GRHydro_Con2PrimM.F90 +++ b/src/GRHydro_Con2PrimM.F90 @@ -47,9 +47,6 @@ subroutine Conservative2PrimitiveM(CCTK_ARGUMENTS) use Con2PrimM_fortran_interfaces 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 @@ -78,8 +75,10 @@ subroutine Conservative2PrimitiveM(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, Bprim + CCTK_REAL, DIMENSION(cctk_ash(1),cctk_ash(2),cctk_ash(3)) :: g11, g12, g13, g22, g23, g33 + CCTK_REAL, DIMENSION(cctk_ash(1),cctk_ash(2),cctk_ash(3),3) :: vup, Bprim + pointer (pg11, g11), (pg12, g12), (pg13, g13), (pg22, g22), (pg23, g23), (pg33, g33) + pointer (pvup, vup), (pBprim, Bprim) logical :: posdef @@ -100,23 +99,13 @@ subroutine Conservative2PrimitiveM(CCTK_ARGUMENTS) posdef = .true. if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then - g11 => gaa - g12 => gab - g13 => gac - g22 => gbb - g23 => gbc - g33 => gcc - vup => lvel - Bprim => lBvec + pg11 = loc(gaa) ; pg12 = loc(gab) ; pg13 = loc(gac) + pg22 = loc(gbb) ; pg23 = loc(gbc) ; pg33 = loc(gcc) + pvup = loc(lvel) ; pBprim = loc(lBvec) else - g11 => gxx - g12 => gxy - g13 => gxz - g22 => gyy - g23 => gyz - g33 => gzz - vup => vel - Bprim => Bvec + pg11 = loc(gxx) ; pg12 = loc(gxy) ; pg13 = loc(gxz) + pg22 = loc(gyy) ; pg23 = loc(gyz) ; pg33 = loc(gzz) + pvup = loc(vel) ; pBprim = loc(Bvec) end if #define gxx faulty_gxx #define gxy faulty_gxy @@ -779,11 +768,6 @@ subroutine Conservative2PrimitiveBoundsM(CCTK_ARGUMENTS) use Con2PrimM_fortran_interfaces 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 DECLARE_CCTK_ARGUMENTS DECLARE_CCTK_PARAMETERS @@ -807,22 +791,15 @@ subroutine Conservative2PrimitiveBoundsM(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(cctk_ash(1),cctk_ash(2),cctk_ash(3)) :: g11, g12, g13, g22, g23, g33 + pointer (pg11, g11), (pg12, g12), (pg13, g13), (pg22, g22), (pg23, g23), (pg33, g33) if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then - g11 => gaa - g12 => gab - g13 => gac - g22 => gbb - g23 => gbc - g33 => gcc + pg11 = loc(gaa) ; pg12 = loc(gab) ; pg13 = loc(gac) + pg22 = loc(gbb) ; pg23 = loc(gbc) ; pg33 = loc(gcc) else - g11 => gxx - g12 => gxy - g13 => gxz - g22 => gyy - g23 => gyz - g33 => gzz + pg11 = loc(gxx) ; pg12 = loc(gxy) ; pg13 = loc(gxz) + pg22 = loc(gyy) ; pg23 = loc(gyz) ; pg33 = loc(gzz) end if #define gxx faulty_gxx #define gxy faulty_gxy @@ -1063,13 +1040,6 @@ specialised from polytropic type EOS. subroutine Conservative2PrimitivePolytypeM(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 lBvec, Bvec DECLARE_CCTK_ARGUMENTS DECLARE_CCTK_PARAMETERS @@ -1089,27 +1059,19 @@ subroutine Conservative2PrimitivePolytypeM(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, Bprim + CCTK_REAL, DIMENSION(cctk_ash(1),cctk_ash(2),cctk_ash(3)) :: g11, g12, g13, g22, g23, g33 + CCTK_REAL, DIMENSION(cctk_ash(1),cctk_ash(2),cctk_ash(3),3) :: vup, Bprim + pointer (pg11, g11), (pg12, g12), (pg13, g13), (pg22, g22), (pg23, g23), (pg33, g33) + pointer (pvup, vup), (pBprim, Bprim) if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then - g11 => gaa - g12 => gab - g13 => gac - g22 => gbb - g23 => gbc - g33 => gcc - vup => lvel - Bprim => lBvec + pg11 = loc(gaa) ; pg12 = loc(gab) ; pg13 = loc(gac) + pg22 = loc(gbb) ; pg23 = loc(gbc) ; pg33 = loc(gcc) + pvup = loc(lvel) ; pBprim = loc(lBvec) else - g11 => gxx - g12 => gxy - g13 => gxz - g22 => gyy - g23 => gyz - g33 => gzz - vup => vel - Bprim => Bvec + pg11 = loc(gxx) ; pg12 = loc(gxy) ; pg13 = loc(gxz) + pg22 = loc(gyy) ; pg23 = loc(gyz) ; pg33 = loc(gzz) + pvup = loc(vel) ; pBprim = loc(Bvec) end if #define gxx faulty_gxx #define gxy faulty_gxy @@ -1241,11 +1203,6 @@ end subroutine Conservative2PrimitivePolytypeM subroutine Con2PrimBoundsPolytypeM(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 DECLARE_CCTK_ARGUMENTS DECLARE_CCTK_PARAMETERS @@ -1267,22 +1224,15 @@ subroutine Con2PrimBoundsPolytypeM(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(cctk_ash(1),cctk_ash(2),cctk_ash(3)) :: g11, g12, g13, g22, g23, g33 + pointer (pg11, g11), (pg12, g12), (pg13, g13), (pg22, g22), (pg23, g23), (pg33, g33) if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then - g11 => gaa - g12 => gab - g13 => gac - g22 => gbb - g23 => gbc - g33 => gcc + pg11 = loc(gaa) ; pg12 = loc(gab) ; pg13 = loc(gac) + pg22 = loc(gbb) ; pg23 = loc(gbc) ; pg33 = loc(gcc) else - g11 => gxx - g12 => gxy - g13 => gxz - g22 => gyy - g23 => gyz - g33 => gzz + pg11 = loc(gxx) ; pg12 = loc(gxy) ; pg13 = loc(gxz) + pg22 = loc(gyy) ; pg23 = loc(gyz) ; pg33 = loc(gzz) end if #define gxx faulty_gxx #define gxy faulty_gxy |