[cig-commits] r20612 - in seismo/3D/SPECFEM3D/trunk/src: decompose_mesh_SCOTCH generate_databases shared
dkomati1 at geodynamics.org
dkomati1 at geodynamics.org
Mon Aug 20 16:39:43 PDT 2012
Author: dkomati1
Date: 2012-08-20 16:39:43 -0700 (Mon, 20 Aug 2012)
New Revision: 20612
Modified:
seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90
seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_regions_mesh.f90
seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90
seismo/3D/SPECFEM3D/trunk/src/generate_databases/get_absorbing_boundary.f90
seismo/3D/SPECFEM3D/trunk/src/generate_databases/memory_eval.f90
seismo/3D/SPECFEM3D/trunk/src/shared/check_mesh_resolution.f90
seismo/3D/SPECFEM3D/trunk/src/shared/save_header_file.f90
Log:
final modifications for today for HEX27 support; but not done yet.
Modified: seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90 2012-08-20 23:21:58 UTC (rev 20611)
+++ seismo/3D/SPECFEM3D/trunk/src/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90 2012-08-20 23:39:43 UTC (rev 20612)
@@ -244,7 +244,7 @@
if( count_def_mat > 0 .and. maxval(mat(1,:)) > count_def_mat ) then
print*,'error material definitions:'
print*,' materials associated in materials_file:',maxval(mat(1,:))
- print*,' bigger than defined materials in nummaterial_velocity_file:',count_def_mat
+ print*,' larger than defined materials in nummaterial_velocity_file:',count_def_mat
stop 'error materials'
endif
allocate(mat_prop(16,count_def_mat),stat=ier)
Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_regions_mesh.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_regions_mesh.f90 2012-08-20 23:21:58 UTC (rev 20611)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/create_regions_mesh.f90 2012-08-20 23:39:43 UTC (rev 20612)
@@ -171,7 +171,7 @@
npointot,myrank,LOCAL_PATH, &
nnodes_ext_mesh,nelmnts_ext_mesh, &
nodes_coords_ext_mesh, elmnts_ext_mesh, &
- max_static_memory_size, mat_ext_mesh, materials_ext_mesh, &
+ max_memory_size, mat_ext_mesh, materials_ext_mesh, &
nmat_ext_mesh, undef_mat_prop, nundefMat_ext_mesh, &
num_interfaces_ext_mesh, max_interface_size_ext_mesh, &
my_neighbours_ext_mesh, my_nelmnts_neighbours_ext_mesh, &
@@ -192,8 +192,8 @@
implicit none
! local parameters
-! static memory size needed by the solver
- double precision :: static_memory_size
+! memory size needed by the solver
+ double precision :: memory_size
real(kind=CUSTOM_REAL) :: model_speed_max,min_resolved_period
! initializes arrays
@@ -339,11 +339,11 @@
call crm_save_moho()
endif
-! computes the approximate amount of static memory needed to run the solver
+! computes the approximate amount of memory needed to run the solver
call sync_all()
call memory_eval(nspec,nglob_dummy,maxval(nibool_interfaces_ext_mesh),num_interfaces_ext_mesh, &
- OCEANS,static_memory_size)
- call max_all_dp(static_memory_size, max_static_memory_size)
+ OCEANS,memory_size)
+ call max_all_dp(memory_size, max_memory_size)
! checks the mesh, stability and resolved period
call sync_all()
Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90 2012-08-20 23:21:58 UTC (rev 20611)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/generate_databases.f90 2012-08-20 23:39:43 UTC (rev 20612)
@@ -233,8 +233,8 @@
! parameters deduced from parameters read from file
integer :: NPROC
-! static memory size that will be needed by the solver
- double precision :: max_static_memory_size,max_static_memory_size_request
+! memory size that will be needed by the solver
+ double precision :: max_memory_size,max_memory_size_request
! this for all the regions
integer NSPEC_AB,NGLOB_AB
@@ -828,7 +828,7 @@
subroutine gd_setup_mesh
-! mesh creation for static solver
+! mesh creation for solver
use generate_databases_par
implicit none
@@ -850,9 +850,9 @@
nelmnts_ext_mesh,nmat_ext_mesh,num_interfaces_ext_mesh, &
max_interface_size_ext_mesh,nspec2D_xmin,nspec2D_xmax, &
nspec2D_ymin,nspec2D_ymax,nspec2D_bottom,nspec2D_top, &
- max_static_memory_size_request)
+ max_memory_size_request)
- max_static_memory_size = max_static_memory_size_request
+ max_memory_size = max_memory_size_request
! make sure everybody is synchronized
call sync_all()
@@ -976,7 +976,7 @@
if( myrank == 0 ) then
call save_header_file(NSPEC_AB,NGLOB_AB,NPROC, &
ATTENUATION,ANISOTROPY,NSTEP,DT, &
- SIMULATION_TYPE,max_static_memory_size,nfaces_surface_glob_ext_mesh)
+ SIMULATION_TYPE,max_memory_size,nfaces_surface_glob_ext_mesh)
endif
! elapsed time since beginning of mesh generation
Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/get_absorbing_boundary.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/get_absorbing_boundary.f90 2012-08-20 23:21:58 UTC (rev 20611)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/get_absorbing_boundary.f90 2012-08-20 23:39:43 UTC (rev 20612)
@@ -73,20 +73,10 @@
real(kind=CUSTOM_REAL) :: normal_face(NDIM,NGLLX,NGLLY)
integer:: ijk_face(3,NGLLX,NGLLY)
- ! corner locations for faces
- real(kind=CUSTOM_REAL), dimension(:,:,:),allocatable :: xcoord_iboun,ycoord_iboun,zcoord_iboun
-
! face corner locations
- real(kind=CUSTOM_REAL),dimension(NGNOD2D) :: xcoord,ycoord,zcoord
- integer :: ispec,ispec2D,icorner,ier,iabs,iface,igll,i,j,igllfree,ifree
+ real(kind=CUSTOM_REAL),dimension(NGNOD2D_FOUR_CORNERS) :: xcoord,ycoord,zcoord
+ integer :: ispec,ispec2D,icorner,iabs,iface,igll,i,j,igllfree,ifree
-! allocate temporary flag array
- allocate(iboun(6,nspec), &
- xcoord_iboun(NGNOD2D,6,nspec), &
- ycoord_iboun(NGNOD2D,6,nspec), &
- zcoord_iboun(NGNOD2D,6,nspec),stat=ier)
- if(ier /= 0) call exit_MPI(myrank,'not enough memory to allocate arrays')
-
! sets flag in array iboun for elements with an absorbing boundary faces
iboun(:,:) = .false.
@@ -100,7 +90,7 @@
! looks for i,j,k indices of GLL points on boundary face
! determines element face by given CUBIT corners
- do icorner=1,NGNOD2D
+ do icorner=1,NGNOD2D_FOUR_CORNERS
xcoord(icorner) = nodes_coords_ext_mesh(1,nodes_ibelm_xmin(icorner,ispec2D))
ycoord(icorner) = nodes_coords_ext_mesh(2,nodes_ibelm_xmin(icorner,ispec2D))
zcoord(icorner) = nodes_coords_ext_mesh(3,nodes_ibelm_xmin(icorner,ispec2D))
@@ -159,7 +149,7 @@
! looks for i,j,k indices of GLL points on boundary face
! determines element face by given CUBIT corners
- do icorner=1,NGNOD2D
+ do icorner=1,NGNOD2D_FOUR_CORNERS
xcoord(icorner) = nodes_coords_ext_mesh(1,nodes_ibelm_xmax(icorner,ispec2D))
ycoord(icorner) = nodes_coords_ext_mesh(2,nodes_ibelm_xmax(icorner,ispec2D))
zcoord(icorner) = nodes_coords_ext_mesh(3,nodes_ibelm_xmax(icorner,ispec2D))
@@ -217,7 +207,7 @@
! looks for i,j,k indices of GLL points on boundary face
! determines element face by given CUBIT corners
- do icorner=1,NGNOD2D
+ do icorner=1,NGNOD2D_FOUR_CORNERS
xcoord(icorner) = nodes_coords_ext_mesh(1,nodes_ibelm_ymin(icorner,ispec2D))
ycoord(icorner) = nodes_coords_ext_mesh(2,nodes_ibelm_ymin(icorner,ispec2D))
zcoord(icorner) = nodes_coords_ext_mesh(3,nodes_ibelm_ymin(icorner,ispec2D))
@@ -275,7 +265,7 @@
! looks for i,j,k indices of GLL points on boundary face
! determines element face by given CUBIT corners
- do icorner=1,NGNOD2D
+ do icorner=1,NGNOD2D_FOUR_CORNERS
xcoord(icorner) = nodes_coords_ext_mesh(1,nodes_ibelm_ymax(icorner,ispec2D))
ycoord(icorner) = nodes_coords_ext_mesh(2,nodes_ibelm_ymax(icorner,ispec2D))
zcoord(icorner) = nodes_coords_ext_mesh(3,nodes_ibelm_ymax(icorner,ispec2D))
@@ -333,7 +323,7 @@
! looks for i,j,k indices of GLL points on boundary face
! determines element face by given CUBIT corners
- do icorner=1,NGNOD2D
+ do icorner=1,NGNOD2D_FOUR_CORNERS
xcoord(icorner) = nodes_coords_ext_mesh(1,nodes_ibelm_bottom(icorner,ispec2D))
ycoord(icorner) = nodes_coords_ext_mesh(2,nodes_ibelm_bottom(icorner,ispec2D))
zcoord(icorner) = nodes_coords_ext_mesh(3,nodes_ibelm_bottom(icorner,ispec2D))
@@ -393,7 +383,7 @@
! looks for i,j,k indices of GLL points on boundary face
! determines element face by given CUBIT corners
- do icorner=1,NGNOD2D
+ do icorner=1,NGNOD2D_FOUR_CORNERS
xcoord(icorner) = nodes_coords_ext_mesh(1,nodes_ibelm_top(icorner,ispec2D))
ycoord(icorner) = nodes_coords_ext_mesh(2,nodes_ibelm_top(icorner,ispec2D))
zcoord(icorner) = nodes_coords_ext_mesh(3,nodes_ibelm_top(icorner,ispec2D))
Modified: seismo/3D/SPECFEM3D/trunk/src/generate_databases/memory_eval.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/generate_databases/memory_eval.f90 2012-08-20 23:21:58 UTC (rev 20611)
+++ seismo/3D/SPECFEM3D/trunk/src/generate_databases/memory_eval.f90 2012-08-20 23:39:43 UTC (rev 20612)
@@ -27,10 +27,10 @@
! United States and French Government Sponsorship Acknowledged.
-! compute the approximate amount of static memory needed to run the solver
+! compute the approximate amount of memory needed to run the solver
subroutine memory_eval(NSPEC_AB,NGLOB_AB,max_nibool_interfaces_ext_mesh,num_interfaces_ext_mesh,&
- OCEANS,static_memory_size)
+ OCEANS,memory_size)
use create_regions_mesh_ext_par,only: NSPEC_ANISO,ispec_is_acoustic,ispec_is_elastic
@@ -43,67 +43,67 @@
integer, intent(in) :: max_nibool_interfaces_ext_mesh,num_interfaces_ext_mesh
logical, intent(in) :: OCEANS
! output
- double precision, intent(out) :: static_memory_size
+ double precision, intent(out) :: memory_size
! local parameters
logical :: ACOUSTIC_SIMULATION,ELASTIC_SIMULATION
- static_memory_size = 0.d0
+ memory_size = 0.d0
! add size of each set of arrays multiplied by the number of such arrays
! see: initialize_simulation.f90
! ibool
- static_memory_size = static_memory_size + dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(SIZE_INTEGER)
+ memory_size = memory_size + dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(SIZE_INTEGER)
! xix,xiy,xiz,
! etax,etay,etaz,
! gammax,gammay,gammaz,jacobian
- static_memory_size = static_memory_size + 10.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
+ memory_size = memory_size + 10.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
! xstore,ystore,zstore
- static_memory_size = static_memory_size + 3.d0*NGLOB_AB*dble(CUSTOM_REAL)
+ memory_size = memory_size + 3.d0*NGLOB_AB*dble(CUSTOM_REAL)
! kappastore,mustore
- static_memory_size = static_memory_size + 2.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
+ memory_size = memory_size + 2.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
! ispec_acoustic,ispec_elastic,ispec_is_poroelastic (logical)
- static_memory_size = static_memory_size + 3.d0*NSPEC_AB*dble(SIZE_LOGICAL)
+ memory_size = memory_size + 3.d0*NSPEC_AB*dble(SIZE_LOGICAL)
! see: read_mesh_databases.f90
! acoustic arrays
call any_all_l( ANY(ispec_is_acoustic), ACOUSTIC_SIMULATION )
if( ACOUSTIC_SIMULATION ) then
! potential_acoustic, potentical_dot_acoustic, potential_dot_dot_acoustic
- static_memory_size = static_memory_size + 3.d0*NGLOB_AB*dble(CUSTOM_REAL)
+ memory_size = memory_size + 3.d0*NGLOB_AB*dble(CUSTOM_REAL)
! rmass_acoustic
- static_memory_size = static_memory_size + NGLOB_AB*dble(CUSTOM_REAL)
+ memory_size = memory_size + NGLOB_AB*dble(CUSTOM_REAL)
! rhostore
- static_memory_size = static_memory_size + dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
+ memory_size = memory_size + dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
endif
! elastic arrays
call any_all_l( ANY(ispec_is_elastic), ELASTIC_SIMULATION )
if( ELASTIC_SIMULATION ) then
! displacement,velocity,acceleration
- static_memory_size = static_memory_size + 3.d0*dble(NDIM)*NGLOB_AB*dble(CUSTOM_REAL)
+ memory_size = memory_size + 3.d0*dble(NDIM)*NGLOB_AB*dble(CUSTOM_REAL)
! rmass
- static_memory_size = static_memory_size + NGLOB_AB*dble(CUSTOM_REAL)
+ memory_size = memory_size + NGLOB_AB*dble(CUSTOM_REAL)
! rho_vp,rho_vs
- static_memory_size = static_memory_size + 2.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
+ memory_size = memory_size + 2.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
! qmu_attenaution_store
- static_memory_size = static_memory_size + dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
+ memory_size = memory_size + dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_AB*dble(CUSTOM_REAL)
! c11store,...c66store
- static_memory_size = static_memory_size + 21.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_ANISO*dble(CUSTOM_REAL)
+ memory_size = memory_size + 21.d0*dble(NGLLX)*dble(NGLLY)*dble(NGLLZ)*NSPEC_ANISO*dble(CUSTOM_REAL)
if (OCEANS ) then
! rmass_ocean_load
- static_memory_size = static_memory_size + NGLOB_AB*dble(CUSTOM_REAL)
+ memory_size = memory_size + NGLOB_AB*dble(CUSTOM_REAL)
! updated_dof_ocean_load
- static_memory_size = static_memory_size + NGLOB_AB*dble(SIZE_LOGICAL)
+ memory_size = memory_size + NGLOB_AB*dble(SIZE_LOGICAL)
endif
endif
@@ -113,23 +113,23 @@
! MPI interfaces
! my_neighbours_ext_mesh,nibool_interfaces_ext_mesh
- static_memory_size = static_memory_size + 2.d0*num_interfaces_ext_mesh*dble(SIZE_INTEGER)
+ memory_size = memory_size + 2.d0*num_interfaces_ext_mesh*dble(SIZE_INTEGER)
! ibool_interfaces_ext_mesh
- static_memory_size = static_memory_size + max_nibool_interfaces_ext_mesh*num_interfaces_ext_mesh*dble(SIZE_INTEGER)
+ memory_size = memory_size + max_nibool_interfaces_ext_mesh*num_interfaces_ext_mesh*dble(SIZE_INTEGER)
! MPI communications
! buffer_send_vector_ext_mesh,buffer_recv_vector_ext_mesh
- static_memory_size = static_memory_size + 2.d0*dble(NDIM)*max_nibool_interfaces_ext_mesh*num_interfaces_ext_mesh*dble(CUSTOM_REAL)
+ memory_size = memory_size + 2.d0*dble(NDIM)*max_nibool_interfaces_ext_mesh*num_interfaces_ext_mesh*dble(CUSTOM_REAL)
! buffer_send_scalar_ext_mesh,buffer_recv_scalar_ext_mesh
- static_memory_size = static_memory_size + 2.d0*max_nibool_interfaces_ext_mesh*num_interfaces_ext_mesh*dble(CUSTOM_REAL)
+ memory_size = memory_size + 2.d0*max_nibool_interfaces_ext_mesh*num_interfaces_ext_mesh*dble(CUSTOM_REAL)
! request_send_vector_ext_mesh,request_recv_vector_ext_mesh,request_send_scalar_ext_mesh,request_recv_scalar_ext_mesh
- static_memory_size = static_memory_size + 4.d0*num_interfaces_ext_mesh*dble(SIZE_INTEGER)
+ memory_size = memory_size + 4.d0*num_interfaces_ext_mesh*dble(SIZE_INTEGER)
! ispec_is_inner
- static_memory_size = static_memory_size + NSPEC_AB*dble(SIZE_LOGICAL)
+ memory_size = memory_size + NSPEC_AB*dble(SIZE_LOGICAL)
! skipping phase_ispec_inner_acoustic
! skipping phase_ispec_inner_elastic
@@ -149,13 +149,13 @@
!-------------------------------------------------------------------------------------------------
!
-! compute the approximate amount of static memory needed to run the mesher
+! compute the approximate amount of memory needed to run the mesher
subroutine memory_eval_mesher(myrank,nspec,npointot,nnodes_ext_mesh, &
nelmnts_ext_mesh,nmat_ext_mesh,num_interfaces_ext_mesh, &
max_interface_size_ext_mesh,nspec2D_xmin,nspec2D_xmax, &
nspec2D_ymin,nspec2D_ymax,nspec2D_bottom,nspec2D_top, &
- static_memory_size_request)
+ memory_size_request)
implicit none
@@ -166,13 +166,13 @@
max_interface_size_ext_mesh,nspec2D_xmin,nspec2D_xmax, &
nspec2D_ymin,nspec2D_ymax,nspec2D_bottom,nspec2D_top
- double precision,intent(inout) :: static_memory_size_request
+ double precision,intent(inout) :: memory_size_request
! local parameters
- integer :: static_memory_size
+ integer :: memory_size
! memory usage, in generate_database() routine so far
- static_memory_size = NGLLX*NGLLY*NGLLZ*nspec*4 + 3*NGLLX*NGLLY*NGLLZ*nspec*8 &
+ memory_size = NGLLX*NGLLY*NGLLZ*nspec*4 + 3*NGLLX*NGLLY*NGLLZ*nspec*8 &
+ NDIM*nnodes_ext_mesh*8 + NGNOD*nelmnts_ext_mesh*4 + 2*nelmnts_ext_mesh*4 &
+ 5*nmat_ext_mesh*8 + 3*num_interfaces_ext_mesh &
+ 6*max_interface_size_ext_mesh*num_interfaces_ext_mesh*4 &
@@ -181,7 +181,7 @@
+ nspec2D_ymax*20 + nspec2D_bottom*20 + nspec2D_top*20
! memory usage, in create_regions_mesh_ext() routine requested approximately
- static_memory_size_request = &
+ memory_size_request = &
+ 3*NGNOD*8 + NGLLX*NGLLY*NGLLZ*nspec*4 + 6*nspec*1 + 6*NGLLX*8 &
+ NGNOD*NGLLX*NGLLY*NGLLZ*8 + NDIM*NGNOD*NGLLX*NGLLY*NGLLZ*8 &
+ 4*NGNOD2D*NGLLY*NGLLZ*8 + 4*NDIM2D*NGNOD2D*NGLLX*NGLLY*8 &
@@ -194,10 +194,10 @@
if(myrank == 0) then
write(IMAIN,*)
write(IMAIN,*) ' minimum memory used so far : ', &
- static_memory_size / 1024. / 1024., &
+ memory_size / 1024. / 1024., &
'MB per process'
write(IMAIN,*) ' minimum total memory requested : ', &
- (static_memory_size+static_memory_size_request)/1024./1024., &
+ (memory_size+memory_size_request)/1024./1024., &
'MB per process'
write(IMAIN,*)
endif
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/check_mesh_resolution.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/check_mesh_resolution.f90 2012-08-20 23:21:58 UTC (rev 20611)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/check_mesh_resolution.f90 2012-08-20 23:39:43 UTC (rev 20612)
@@ -167,7 +167,7 @@
! average distance between GLL points within this element
avg_distance = elemsize_max / ( NGLLX - 1 ) ! since NGLLX = NGLLY = NGLLZ
- ! biggest possible minimum period such that number of points per minimum wavelength
+ ! largest possible minimum period such that number of points per minimum wavelength
! npts = ( min(vpmin,vsmin) * pmax ) / avg_distance is about ~ NPTS_PER_WAVELENGTH
!
! note: obviously, this estimation depends on the choice of points per wavelength
@@ -507,7 +507,7 @@
! average distance between GLL points within this element
avg_distance = elemsize_max / ( NGLLX - 1 ) ! since NGLLX = NGLLY = NGLLZ
- ! biggest possible minimum period such that number of points per minimum wavelength
+ ! largest possible minimum period such that number of points per minimum wavelength
! npts = ( min(vpmin,vp2min,vsmin) * pmax ) / avg_distance is about ~ NPTS_PER_WAVELENGTH
!
! note: obviously, this estimation depends on the choice of points per wavelength
Modified: seismo/3D/SPECFEM3D/trunk/src/shared/save_header_file.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/shared/save_header_file.f90 2012-08-20 23:21:58 UTC (rev 20611)
+++ seismo/3D/SPECFEM3D/trunk/src/shared/save_header_file.f90 2012-08-20 23:39:43 UTC (rev 20612)
@@ -28,7 +28,7 @@
subroutine save_header_file(NSPEC_AB,NGLOB_AB,NPROC, &
ATTENUATION,ANISOTROPY,NSTEP,DT, &
- SIMULATION_TYPE,static_memory_size,nfaces_surface_glob_ext_mesh)
+ SIMULATION_TYPE,memory_size,nfaces_surface_glob_ext_mesh)
implicit none
@@ -40,7 +40,7 @@
double precision DT
- double precision :: static_memory_size
+ double precision :: memory_size
character(len=256) HEADER_FILE
@@ -110,12 +110,10 @@
write(IOUT,*) '! approximate least memory needed by the solver:'
write(IOUT,*) '! ----------------------------------------------'
write(IOUT,*) '!'
- write(IOUT,*) '! size of static arrays for the biggest slice = ',static_memory_size/1048576.d0,' MB'
- write(IOUT,*) '! = ',static_memory_size/1073741824.d0,' GB'
+ write(IOUT,*) '! size of arrays for the largest slice = ',memory_size/1048576.d0,' MB'
+ write(IOUT,*) '! = ',memory_size/1073741824.d0,' GB'
write(IOUT,*) '!'
- write(IOUT,*) '! (should be below to 80% of 1.5 GB = 1.2 GB on pangu'
- write(IOUT,*) '! at Caltech, and below and typically equal to 85% of 2 GB = 1.7 GB'
- write(IOUT,*) '! on Marenostrum in Barcelona)'
+ write(IOUT,*) '! (should be below 90% or so of the amount of memory available per processor core'
write(IOUT,*) '! (if significantly more, the job will not run by lack of memory)'
write(IOUT,*) '! (if significantly less, you waste a significant amount of memory)'
write(IOUT,*) '!'
More information about the CIG-COMMITS
mailing list