[cig-commits] r16807 - in seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D: . DATA
pieyre at geodynamics.org
pieyre at geodynamics.org
Thu May 27 07:23:44 PDT 2010
Author: pieyre
Date: 2010-05-27 07:23:44 -0700 (Thu, 27 May 2010)
New Revision: 16807
Modified:
seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/DATA/Par_file
seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/check_mesh_quality.f90
seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/flags.guess
Log:
bug fix in the stability check, minor modifications in Par_file and flags.guess
Modified: seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/DATA/Par_file
===================================================================
--- seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/DATA/Par_file 2010-05-27 13:24:48 UTC (rev 16806)
+++ seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/DATA/Par_file 2010-05-27 14:23:44 UTC (rev 16807)
@@ -34,7 +34,7 @@
CREATE_DX_FILES = .false.
# anticipated time step for simulation (in order to check the stability condition)
-DT = 0.1
+DT = 0.01
# path to store the databases files
LOCAL_PATH = OUTPUT_FILES
@@ -51,7 +51,7 @@
3 1000 1500 0 0 0 2
4 1300 1400 700 2 0 3
# number of regions
-NREGIONS = 1
+NREGIONS = 4
# define the different regions of the model as :
#NEX_XI_BEGIN #NEX_XI_END #NEX_ETA_BEGIN #NEX_ETA_END #NZ_BEGIN #NZ_END #material_id
1 64 1 64 1 4 1
Modified: seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/check_mesh_quality.f90
===================================================================
--- seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/check_mesh_quality.f90 2010-05-27 13:24:48 UTC (rev 16806)
+++ seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/check_mesh_quality.f90 2010-05-27 14:23:44 UTC (rev 16807)
@@ -220,7 +220,7 @@
stop 'NGNOD must be 4 or 8'
endif
- if(stability_max >= max_CFL_stability_limit) then
+ if(stability_max_MPI >= max_CFL_stability_limit) then
write(IMAIN,*) '*********************************************'
write(IMAIN,*) '*********************************************'
write(IMAIN,*) ' WARNING, that value is above the upper CFL limit of ',max_CFL_stability_limit
@@ -331,6 +331,8 @@
include "constants.h"
+ integer :: true_NGLLX = 5
+
integer :: iface,icorner,ispec,NSPEC,NPOIN,i
double precision, dimension(NPOIN) :: x,y,z
@@ -468,7 +470,7 @@
! compute edge aspect ratio
edge_aspect_ratio = distmax / distmin
- stability = delta_t * VP_MAX / (distmin * percent_GLL(NGLLX))
+ stability = delta_t * VP_MAX / (distmin * percent_GLL(true_NGLLX))
! compute diagonal aspect ratio
dist1 = sqrt((xelm(5) - xelm(4))**2 + (yelm(5) - yelm(4))**2 + (zelm(5) - zelm(4))**2)
Modified: seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/flags.guess
===================================================================
--- seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/flags.guess 2010-05-27 13:24:48 UTC (rev 16806)
+++ seismo/3D/SPECFEM3D_SESAME/trunk/meshfem3D/flags.guess 2010-05-27 14:23:44 UTC (rev 16807)
@@ -12,7 +12,7 @@
case $FC in
pgf90|*/pgf90)
#
- # Beowulf Portland pgf90
+ # Portland pgf90
#
if test x"$FLAGS_CHECK" = x; then
FLAGS_CHECK="-fast -Mnobounds -Mneginfo -Mdclchk -Knoieee" # -mcmodel=medium
@@ -23,31 +23,37 @@
;;
ifort|*/ifort)
#
- # Intel ifort Fortran90 for Linux
+ # Intel ifort Fortran90
#
if test x"$FLAGS_CHECK" = x; then
- FLAGS_CHECK="-O3 -vec-report0 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -align sequence -assume byterecl -fpe0 -ftz -traceback -ftrapuv" # -mcmodel=medium
- # FLAGS_CHECK="-O3 -vec-report0 -e95 -std03 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -align sequence -assume byterecl -fpe0 -ftz -traceback -ftrapuv" # -mcmodel=medium
+ #FLAGS_CHECK="-O3 -vec-report0 -e95 -std95 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -align sequence -assume byterecl -fpe0 -ftz -traceback -ftrapuv" # -mcmodel=medium
+
+ # ifort v 10.1 with these flags shows best performance
+ FLAGS_CHECK="-O2 -ftz -xT -fpe0 -ftz -traceback -ftrapuv -vec-report0 -std95 -implicitnone -check nobounds -assume byterecl -static-intel -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage "
+ #FLAGS_CHECK="-O2 -xT -static-intel -r8 -mcmodel=large -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -check nobounds -align sequence -assume byterecl -ftrapuv -fpe0 -ftz -traceback"
fi
if test x"$FLAGS_NO_CHECK" = x; then
-# standard options (leave option -ftz, which is *critical* for performance)
-# add -Winline to get information about routines that are inlined
-# add -vec-report3 to get information about loops that are vectorized or not
- FLAGS_NO_CHECK="-O3 -xP -vec-report0 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -align sequence -assume byterecl -fpe3 -ftz" # -mcmodel=medium
- #FLAGS_NO_CHECK="-O3 -xP -vec-report0 -e95 -std03 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -align sequence -assume byterecl -fpe3 -ftz" # -mcmodel=medium
+ # standard options (leave option -ftz, which is *critical* for performance)
+ # add -Winline to get information about routines that are inlined
+ # add -vec-report3 to get information about loops that are vectorized or not
+ #FLAGS_NO_CHECK="-O3 -xP -vec-report0 -e95 -std95 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -align sequence -assume byterecl -fpe3 -ftz" # -mcmodel=medium
+
+ # ifort v 10.1 with these flags shows best performance
+ FLAGS_NO_CHECK="-O2 -ftz -xT -fpe3 -ftz -vec-report0 -std95 -implicitnone -check nobounds -assume byterecl -static-intel -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage "
+ #FLAGS_NO_CHECK="-O2 -xT -static-intel -r8 -mcmodel=large -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -check nobounds -align sequence -assume byterecl -ftrapuv -fpe0 -ftz -traceback"
fi
- #MPI_LIBS = -Vaxlib
;;
gfortran|*/gfortran|f95|*/f95)
#
# GNU gfortran
#
if test x"$FLAGS_NO_CHECK" = x; then
+ # works with: GNU Fortran (GCC) 4.1.2 20080704
+ FLAGS_NO_CHECK="-std=gnu -fimplicit-none -frange-check -O3 -pedantic -pedantic-errors -Waliasing -Wampersand -Wline-truncation -Wsurprising -Wunderflow -fno-trapping-math"
-# FLAGS_NO_CHECK="-fimplicit-none -frange-check -O3 -fmax-errors=10 -pedantic -pedantic-errors -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow -fno-trapping-math" # -mcmodel=medium
-# FLAGS_NO_CHECK="-std=f2003 -fimplicit-none -frange-check -O3 -fmax-errors=10 -pedantic -pedantic-errors -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow -fno-trapping-math" # -mcmodel=medium
-# older gfortran syntax
- FLAGS_NO_CHECK="-fimplicit-none -frange-check -O3 -Wunused-labels -Waliasing -Wampersand -Wsurprising -Wline-truncation -Wunderflow -fno-trapping-math" # -mcmodel=medium
+ # FLAGS_NO_CHECK="-std=f95 -fimplicit-none -frange-check -O3 -fmax-errors=10 -pedantic -pedantic-errors -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow -fno-trapping-math" # -mcmodel=medium
+ # older gfortran syntax
+ # FLAGS_NO_CHECK="-std=f95 -fimplicit-none -frange-check -O3 -Wunused-labels -Waliasing -Wampersand -Wsurprising -Wline-truncation -Wunderflow -fno-trapping-math" # -mcmodel=medium
fi
if test x"$FLAGS_CHECK" = x; then
FLAGS_CHECK="\$(FLAGS_NO_CHECK)" # -fbounds-check
@@ -143,7 +149,7 @@
# for the C compiler when using -q64 for the Fortran compiler
#
if test x"$FLAGS_NO_CHECK" = x; then
- FLAGS_NO_CHECK="-O3 -qsave -qstrict -q64 -qtune=auto -qarch=auto -qcache=auto -qfree=f90 -Q -qsuffix=f=f90 -qhalt=w -qlanglvl=2003pure -qflttrap=overflow:zerodivide:invalid:enable -qsigtrap -qinitauto=7FBFFFFF"
+ FLAGS_NO_CHECK="-O3 -qsave -qstrict -q64 -qtune=auto -qarch=auto -qcache=auto -qfree=f90 -qsuffix=f=f90 -qhalt=w -qlanglvl=2003pure -qflttrap=overflow:zerodivide:invalid:enable -qsigtrap -qinitauto=7FBFFFFF -Q -Q+rank,swap_all"
# on MareNostrum at the Barcelona SuperComputing Center (Spain) use
# -qtune=ppc970 -qarch=ppc64v instead of -qtune=auto -qarch=auto
fi
More information about the CIG-COMMITS
mailing list