[cig-commits] r15001 - in seismo/3D: SPECFEM3D_GLOBE/trunk SPECFEM3D_GLOBE/trunk/version41_beta SPECFEM3D_SESAME/trunk
dkomati1 at geodynamics.org
dkomati1 at geodynamics.org
Sun May 17 06:58:37 PDT 2009
Author: dkomati1
Date: 2009-05-17 06:58:36 -0700 (Sun, 17 May 2009)
New Revision: 15001
Modified:
seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess
seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/Makefile
seismo/3D/SPECFEM3D_SESAME/trunk/flags.guess
seismo/3D/SPECFEM3D_SESAME/trunk/get_global.f90
Log:
updated options for the IBM xlf compiler, in particuliar now force inlining of the Deville et al. (2002) routines.
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess 2009-05-15 23:59:08 UTC (rev 15000)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess 2009-05-17 13:58:36 UTC (rev 15001)
@@ -120,6 +120,10 @@
;;
*xlf*|*/*xlf*)
#
+ # do NOT remove option -qsave otherwise the IBM compiler allocates the
+ # arrays in the stack and the code crashes if the stack size is too
+ # small (which is often the case)
+ #
# on IBM with xlf one should also set
#
# CC = xlc_r
@@ -133,15 +137,9 @@
# for the C compiler when using -q64 for the Fortran compiler
#
if test x"$FLAGS_NO_CHECK" = x; then
-
- FLAGS_NO_CHECK="-O3 -qstrict -q64 -qnosave -qtune=auto -qarch=auto -qcache=auto -qfree=f90 -Q -qsuffix=f=f90 -qhalt=w"
- # One can also use -qflttrap=overflow:zerodivide:invalid:enable -qsigtrap -qinitauto=7FBFFFFF to trap errors
+ 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,mxm_m1_m2_5points,mxm_m1_m1_5points,mxm_m2_m1_5points"
# on MareNostrum at the Barcelona SuperComputing Center (Spain) use
- # -qsave -qtune=ppc970 -qarch=ppc64v instead of -qnosave -qtune=auto -qarch=auto
- # otherwise the IBM compiler allocates the
- # arrays in the stack and the code crashes if the stack size is too
- # small (it is limited to 1GB on MareNostrum)
-
+ # -qtune=ppc970 -qarch=ppc64v instead of -qtune=auto -qarch=auto
fi
if test x"$FLAGS_CHECK" = x; then
FLAGS_CHECK="\$(FLAGS_NO_CHECK) -C -qddim -qfloat=nans -qfullpath"
Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/Makefile
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/Makefile 2009-05-15 23:59:08 UTC (rev 15000)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/version41_beta/Makefile 2009-05-17 13:58:36 UTC (rev 15001)
@@ -39,6 +39,7 @@
MPIFLAGS = -DUSE_MPI # -lmpi
#FLAGS_NO_CHECK = -O1 -vec-report0 -no-heap-arrays -e03 -std03 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check all -align sequence -assume byterecl -fpe0 -ftz -traceback -ftrapuv # -mcmodel=medium -shared-intel
FLAGS_NO_CHECK = -O3 -xP -vec-report0 -no-heap-arrays -e03 -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 -shared-intel
+FLAGS_CHECK = $(FLAGS_NO_CHECK)
# we need the -no-heap-arrays flag to force the compiler to allocate memory on the stack
# instead of on the heap to minimize memory fragmentation
@@ -49,6 +50,7 @@
#MPIFC = /opt/mpich2_gfortran/bin/mpif90
#MPIFLAGS = -DUSE_MPI
#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 # -fbounds-check # -mcmodel=medium
+#FLAGS_CHECK = $(FLAGS_NO_CHECK)
#
# Portland pgf90
@@ -57,6 +59,7 @@
#MPIFC = mpif90
#MPIFLAGS = -DUSE_MPI
#FLAGS_NO_CHECK = -fast -Mnobounds -Mrecursive -Minline -Mdclchk -Knoieee -fastsse -tp amd64e -Minform=warn -Ktrap=none # -mcmodel=medium
+#FLAGS_CHECK = $(FLAGS_NO_CHECK)
# we need the -Mrecursive flag to force the compiler to allocate memory on the stack
# instead of on the heap to minimize memory fragmentation
@@ -66,19 +69,20 @@
#FC = xlf_r
#MPIFC = mpxlf90
#MPIFLAGS = -WF,-DUSE_MPI
-#FLAGS_NO_CHECK = -O3 -qstrict -q64 -qnosave -qtune=auto -qarch=auto -qcache=auto -qfree=f90 -Q -qsuffix=f=f90 -qhalt=w
+#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,mxm_m1_m2_5points,mxm_m1_m1_5points,mxm_m2_m1_5points
+#FLAGS_CHECK = $(FLAGS_NO_CHECK) -C -qddim -qfloat=nans -qfullpath
#
-# One can also use -qflttrap=overflow:zerodivide:invalid:enable -qsigtrap -qinitauto=7FBFFFFF to trap errors
+# do NOT remove option -qsave otherwise the IBM compiler allocates the
+# arrays in the stack and the code crashes if the stack size is too
+# small (which is often the case)
+#
# on MareNostrum at the Barcelona SuperComputing Center (Spain) use
-# -qsave -qtune=ppc970 -qarch=ppc64v instead of -qnosave -qtune=auto -qarch=auto
-# otherwise the IBM compiler allocates the arrays in the stack and the code crashes
-# if the stack size is too small (it is limited to 1GB on MareNostrum)
+# -qtune=ppc970 -qarch=ppc64v instead of -qtune=auto -qarch=auto
#######
####### no need to change anything below this
#######
-FLAGS_CHECK = $(FLAGS_NO_CHECK)
FCFLAGS_f90 =
MPILIBS =
FCFLAGS = #-g
Modified: seismo/3D/SPECFEM3D_SESAME/trunk/flags.guess
===================================================================
--- seismo/3D/SPECFEM3D_SESAME/trunk/flags.guess 2009-05-15 23:59:08 UTC (rev 15000)
+++ seismo/3D/SPECFEM3D_SESAME/trunk/flags.guess 2009-05-17 13:58:36 UTC (rev 15001)
@@ -138,7 +138,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,mxm_m1_m2_5points,mxm_m1_m1_5points,mxm_m2_m1_5points"
# on MareNostrum at the Barcelona SuperComputing Center (Spain) use
# -qtune=ppc970 -qarch=ppc64v instead of -qtune=auto -qarch=auto
fi
Modified: seismo/3D/SPECFEM3D_SESAME/trunk/get_global.f90
===================================================================
--- seismo/3D/SPECFEM3D_SESAME/trunk/get_global.f90 2009-05-15 23:59:08 UTC (rev 15000)
+++ seismo/3D/SPECFEM3D_SESAME/trunk/get_global.f90 2009-05-17 13:58:36 UTC (rev 15001)
@@ -30,7 +30,7 @@
! non-structured global numbering software provided by Paul F. Fischer
-! leave sorting subroutines in same source file to allow for inlining
+! leave the sorting subroutines in the same source file to allow for inlining
implicit none
@@ -195,6 +195,7 @@
ENDIF
IND(I)=INDX
goto 100
+
end subroutine rank
! ------------------------------------------------------------------
More information about the CIG-COMMITS
mailing list