[cig-commits] [commit] devel: Save some memory on addressing array. (6cea702)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed Apr 30 16:40:00 PDT 2014


Repository : ssh://geoshell/specfem3d_globe

On branch  : devel
Link       : https://github.com/geodynamics/specfem3d_globe/compare/811ae11b80604736d2845c4e5a062755069fc9a6...fedf291c8257de6ffc3151362afcb814578beb7e

>---------------------------------------------------------------

commit 6cea702b6af29a01a5d75327903cbd3a2e3b6241
Author: Elliott Sales de Andrade <esalesde at physics.utoronto.ca>
Date:   Wed Apr 30 19:08:58 2014 -0400

    Save some memory on addressing array.


>---------------------------------------------------------------

6cea702b6af29a01a5d75327903cbd3a2e3b6241
 src/specfem3D/read_mesh_databases.F90 | 9 +++++++--
 src/specfem3D/specfem3D_par.F90       | 2 +-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/specfem3D/read_mesh_databases.F90 b/src/specfem3D/read_mesh_databases.F90
index dfef7e2..0e66da5 100644
--- a/src/specfem3D/read_mesh_databases.F90
+++ b/src/specfem3D/read_mesh_databases.F90
@@ -95,14 +95,18 @@
   endif
   call read_mesh_databases_coupling()
 
-  ! reads "addressing.txt" 2-D addressing (needed for Stacey boundaries)
+  ! reads "addressing.txt" 2-D addressing (needed for Stacey boundaries and
+  ! regular grid kernels)
   if( SYNC_READING ) call synchronize_all()
   if( myrank == 0 ) then
     write(IMAIN,*) '  reading in addressing...'
     call flush_IMAIN()
   endif
+  allocate(addressing(NCHUNKS_VAL,0:NPROC_XI_VAL-1,0:NPROC_ETA_VAL-1))
   call read_mesh_databases_addressing()
-
+  if (.not.SAVE_REGULAR_KL) then
+    deallocate(addressing)
+  endif
 
   ! sets up MPI interfaces, inner/outer elements and mesh coloring
   if( SYNC_READING ) call synchronize_all()
@@ -131,6 +135,7 @@
       call flush_IMAIN()
     endif
     call read_mesh_databases_regular_kl()
+    deallocate(addressing)
   endif
 
 #ifdef USE_SERIAL_CASCADE_FOR_IOs
diff --git a/src/specfem3D/specfem3D_par.F90 b/src/specfem3D/specfem3D_par.F90
index 89c61bf..0f3a8be 100644
--- a/src/specfem3D/specfem3D_par.F90
+++ b/src/specfem3D/specfem3D_par.F90
@@ -216,7 +216,7 @@ module specfem_par
   ! proc numbers for MPI
   integer :: myrank
   integer :: ichunk ! needed for Stacey boundaries
-  integer, dimension(NCHUNKS_VAL,0:NPROC_XI_VAL-1,0:NPROC_ETA_VAL-1) :: addressing
+  integer, dimension(:,:,:), allocatable :: addressing
 
   ! time loop timing
   double precision :: time_start



More information about the CIG-COMMITS mailing list