[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