[cig-commits] r19516 - in seismo/3D/SPECFEM3D_GLOBE/trunk: . doc doc/USER_MANUAL

dkomati1 at geodynamics.org dkomati1 at geodynamics.org
Mon Jan 30 12:12:34 PST 2012


Author: dkomati1
Date: 2012-01-30 12:12:33 -0800 (Mon, 30 Jan 2012)
New Revision: 19516

Modified:
   seismo/3D/SPECFEM3D_GLOBE/trunk/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.pdf
   seismo/3D/SPECFEM3D_GLOBE/trunk/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.tex
   seismo/3D/SPECFEM3D_GLOBE/trunk/doc/time_scheme_we_use_in_the_code_from_Hughes_1987.pdf
   seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess
Log:
updated the manual to describe the options one may need to change in flags.guess


Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.pdf
===================================================================
(Binary files differ)

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.tex
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.tex	2012-01-30 20:00:07 UTC (rev 19515)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.tex	2012-01-30 20:12:33 UTC (rev 19516)
@@ -252,6 +252,39 @@
 \begin{lyxcode}
 ./configure~FC=ifort~MPIFC=mpif90
 \end{lyxcode}
+
+Before running the \texttt{configure} script, you should probably edit file \texttt{flags.guess} to make sure that it contains the best compiler options for your system. Known problems or things to check are:
+
+\begin{description}
+\item [{\texttt{Intel ifort compiler}}] See if you need to add \texttt{-assume byterecl} for your machine.
+\item [{\texttt{IBM or Cray compilers}}] See if you need to add \texttt{-qsave} or \texttt{-qnosave} for your machine.
+\item [{\texttt{Mac OS}}] You will probably need to install \texttt{XCODE}.
+In addition, the \texttt{clock\_gettime} routine, which is used by the \texttt{SCOTCH} library that we use, does not exist in Mac OS.
+You will need to replace it with \texttt{clock\_get\_time} if you want to use \texttt{SCOTCH}.
+\end{description}
+
+When compiling on an IBM machine with the \texttt{xlf} and \texttt{xlc} compilers, we suggest running the \texttt{configure} script
+with the following options:\\
+
+\noindent\texttt{./configure FC=xlf90\_r MPIFC=mpif90 CC=xlc\_r CFLAGS="-O3 -q64" FCFLAGS="-O3 -q64"}.\\
+
+On SGI systems, \texttt{flags.guess} automatically informs \texttt{configure}
+to insert ``\texttt{TRAP\_FPE=OFF}'' into the generated \texttt{Makefile}
+in order to turn underflow trapping off.\\
+
+Some do-loops have been modified using a common technique to help compilers enhance pipelining and make better use
+of the cache. If you want to use these hand-optimized loops, add an additional flag ``\texttt{-D\_HANDOPT}'' to your compiler options
+(with the IBM xlf compiler, change this to ``\texttt{-WF,-D\_HANDOPT}''). Use this option only if you know what you are doing, i.e., compare the seismograms
+obtained with and without this option on your machine and make sure they are all identical down to roundoff noise.\\
+
+If you run very large meshes on a relatively small number
+of processors, the memory size needed on each processor might become
+greater than 2 gigabytes, which is the upper limit for 32-bit addressing.
+In this case, on some compilers you may need to add \texttt{``-mcmodel=medium}''
+to the compiler options otherwise the compiler will display an error
+message (for instance \texttt{``relocation truncated to fit: R\_X86\_64\_PC32 against .bss''} or something similar);
+on an IBM machine with the \texttt{xlf} and \texttt{xlc} compilers, using \texttt{-q64} is usually sufficient.\\
+
 A summary of the most important configuration variables follows.
 
 \begin{description}
@@ -332,27 +365,6 @@
 flags can make a tremendous difference in terms of performance. We
 welcome feedback on your experience with various compilers and flags.\\
 
-When compiling on an IBM machine with the \texttt{xlf} and \texttt{xlc} compilers, we suggest running the \texttt{configure} script
-with the following options:\\
-
-\noindent\texttt{./configure FC=xlf90\_r MPIFC=mpif90 CC=xlc\_r CFLAGS="-O3 -q64" FCFLAGS="-O3 -q64"}.\\
-
-On SGI systems, \texttt{flags.guess} automatically informs \texttt{configure}
-to insert ``\texttt{TRAP\_FPE=OFF}'' into the generated \texttt{Makefile}
-in order to turn underflow trapping off.\\
-
-Some do-loops have been modified using a common technique to help compilers enhance pipelining and make better use
-of the cache. If you want to use these hand-optimized loops, add an additional flag ``\texttt{-D\_HANDOPT}'' to your compiler options
-(with the IBM xlf compiler, change this to ``\texttt{-WF,-D\_HANDOPT}'').\\
-
-If you run very large meshes on a relatively small number
-of processors, the memory size needed on each processor might become
-greater than 2 gigabytes, which is the upper limit for 32-bit addressing.
-In this case, on some compilers you may need to add \texttt{``-mcmodel=medium}''
-to the compiler options otherwise the compiler will display an error
-message (for instance \texttt{``relocation truncated to fit: R\_X86\_64\_PC32 against .bss''} or something similar);
-on an IBM machine with the \texttt{xlf} and \texttt{xlc} compilers, using \texttt{-q64} is usually sufficient.\\
-
 If you run scaling benchmarks of the code, for instance to measure its performance on a new machine, and are not interested in the physical results
 (the seismograms) for these runs, you can set \texttt{DO\_BENCHMARK\_RUN\_ONLY} to \texttt{.true.} in file \texttt{setup/constants.h.in} before running the \texttt{configure} script.
 
@@ -404,13 +416,7 @@
 \red{TODO: this has not been tested out yet, any feedback is welcomed}
 \\
 
-%\begin{verbatim}
-%mv Makefile Makefile1
-%cp Makefile1 Makefile2
-%\end{verbatim}
-
 \noindent
-%In \texttt{Makefile1} put this instead of the current values:
 In \texttt{src/create\_header\_file/Makefile} put this instead of the current values:
 
 \begin{verbatim}
@@ -435,7 +441,6 @@
 \end{verbatim}
 
 \noindent
-%In \texttt{Makefile2} comment out these two lines:
 In \texttt{src/specfem3D/Makefile} comment out these last two lines:
 
 \begin{verbatim}
@@ -446,12 +451,6 @@
 \noindent
 Then:
 
-% make -f Makefile1 clean
-% make -f Makefile1 create_header_file
-% ./xcreate_header_file
-% make -f Makefile2 clean
-% make -f Makefile2 meshfem3D
-% make -f Makefile2 specfem3D
 \begin{verbatim}
  make clean
  make create_header_file

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/doc/time_scheme_we_use_in_the_code_from_Hughes_1987.pdf
===================================================================
(Binary files differ)

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess	2012-01-30 20:00:07 UTC (rev 19515)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/flags.guess	2012-01-30 20:12:33 UTC (rev 19516)
@@ -27,28 +27,28 @@
         # check: http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/fortran/lin/compiler_f/index.htm
         #
         if test x"$FLAGS_CHECK" = x; then
-            FLAGS_CHECK="-O3 -xSSE4.2 -ftz -funroll-loops -unroll5 -ftz -align sequence -assume byterecl -vec-report0 -std95 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds" # -mcmodel=medium
+            FLAGS_CHECK="-O3 -xSSE4.2 -ftz -funroll-loops -unroll5 -ftz -align sequence -vec-report0 -std95 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds" # -mcmodel=medium
         fi
         if test x"$FLAGS_NO_CHECK" = x; then
-            FLAGS_NO_CHECK="-O3 -xSSE4.2 -ftz -funroll-loops -unroll5 -ftz -align sequence -assume byterecl -vec-report0 -std95 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds" # -mcmodel=medium
+            FLAGS_NO_CHECK="-O3 -xSSE4.2 -ftz -funroll-loops -unroll5 -ftz -align sequence -vec-report0 -std95 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds" # -mcmodel=medium
         fi
         # useful for debugging...
             # for debugging: change -check nobounds to -check all -debug -g -O0 -fp-stack-check -traceback -ftrapuv
         #if test x"$FLAGS_CHECK" = x; then
         #    # without -e95
-        #    FLAGS_CHECK="-O3 -check nobounds -ftz -traceback -ftrapuv -align sequence -assume byterecl -vec-report0 -std95 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage" # -mcmodel=medium
+        #    FLAGS_CHECK="-O3 -check nobounds -ftz -traceback -ftrapuv -align sequence -vec-report0 -std95 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage" # -mcmodel=medium
         #fi
         #if test x"$FLAGS_NO_CHECK" = x; then
         #    # standard options (leave option -ftz, which is *critical* for performance)
-        #    FLAGS_NO_CHECK="-O3 -xP -ftz -align sequence -assume byterecl -vec-report0 -std95 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage" # -mcmodel=medium
+        #    FLAGS_NO_CHECK="-O3 -xP -ftz -align sequence -vec-report0 -std95 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage" # -mcmodel=medium
         #fi
         #
         # Intel Nehalem processor architecture, Intel compiler version 10.1
         #if test x"$FLAGS_CHECK" = x; then
-        #    FLAGS_CHECK="-O2 -ftz -xT -assume byterecl -static-intel -implicitnone"
+        #    FLAGS_CHECK="-O2 -ftz -xT -static-intel -implicitnone"
         #fi
         #if test x"$FLAGS_NO_CHECK" = x; then
-        #    FLAGS_NO_CHECK="-O2 -ftz -xT -assume byterecl -static-intel -implicitnone"
+        #    FLAGS_NO_CHECK="-O2 -ftz -xT -static-intel -implicitnone"
         #fi
         #
         # Intel Nehalem processor architecture, Intel compiler version 11.1



More information about the CIG-COMMITS mailing list