[Dart-dev] DART/branches Revision: 12098
dart at ucar.edu
dart at ucar.edu
Fri Nov 10 15:29:09 MST 2017
nancy at ucar.edu
2017-11-10 15:29:09 -0700 (Fri, 10 Nov 2017)
65
update the comments for nag and remove an intel-specific
FFLAG.
Modified: DART/branches/recam/build_templates/mkmf.template.nag.linux
===================================================================
--- DART/branches/recam/build_templates/mkmf.template.nag.linux 2017-11-10 22:24:47 UTC (rev 12097)
+++ DART/branches/recam/build_templates/mkmf.template.nag.linux 2017-11-10 22:29:09 UTC (rev 12098)
@@ -9,49 +9,17 @@
# typical use with mkmf
# mkmf -t mkmf.template.xxxx ...
#
-# FFLAGS useful for DEBUGGING. NOTE: The intel compiler can provide a lot more
+# FFLAGS useful for DEBUGGING.
# information if you LEAVE the object and module files intact.
# Do not remove the *.o and *.mod files when debugging code.
#
# -g include debugging information. these are all synonyms.
-# -debug full
-# -debug all
# -O0 setting -g will make this the default (no optimization).
# it is possible to set -g and then explicitly set -O2 if
# the behavior being debugged depends on optimization changes.
-# -ftrapuv traps if a local variable is used before being set
-# -C enables all runtime checks. -C and -check all are synonyms.
-# -check all
-# -check <keywords> enables/disables more specific runtime checks.
-# keywords: [arg_temp_created,bounds,overflow,format,pointers,uninit]
-# -warn <keywords> the level of warning messages issued.
-# keywords: [alignments, argument_checking, declarations,
-# errors, fileopt, general, ignore_loc,
-# stderrors, truncated_source, uncalled,
-# uninitialized, unused, usage, all]
-# -fp-stack-check catches conditions where the FP stack is not correct.
-# Typically this is when a real function is called as if it were a
-# subroutine, OR a subroutine is called as if it were a function (return
-# values left of FP stack OR too much data is taken off the FP stack)
-# -vec-reportN controls how much diagnostic output is printed about
-# loops vectorized by the compiler. N = 0 is silent,
-# N can have values up to 5.
-# -traceback tells the compiler to generate extra information in the
-# object file to provide source file traceback information
-# when a severe error occurs at run time
#
# FFLAGS useful for bitwise reproducibility and accuracy control
# (these will slow down performance to various degrees)
-# -fp-model precise control how floating point roundoff is done so it is
-# reproducible from run to run. in simple tests this
-# flag alone was enough to create bitwise reproducible
-# code but slowed execution significantly.
-# -ftz 'flush to zero' underflows result in zero. set by default if
-# any -O other than -O0 set, or if -fpe0 or -fpe1 set.
-# -fpeN controls floating point exception handling. -fpe0 rounds underflow
-# to zero and traps on any other exception type.
-# -pc80 set internal FPU precision to 64 bit significand
-# (default is -pc64 with 53 internal bits)
#
# FFLAGS useful for production
# -O2 default. optimize without too much unrepeatable numerical games
@@ -60,50 +28,12 @@
# -O1 if you get compile-time errors about out of memory or unable to
# complete compilation because of complexity, try lowering the
# optimization level on the offending source files.
-# -ipo enable optimizations between routines in separate source files
-# -heap-arrays 10 allocate large arrays from the heap instead of putting them
-# on the stack. the number is the limit in KB for when arrays
-# move from the stack to the heap. this can help if you get stack
-# overflow errors and cannot increase the stack size more.
-# allocating from the stack is faster, but it's usually a smaller
-# size than the heap.
-# -x, -m, -ax, -mcode, -march all these flags tell the compiler to generate
-# processor-specific or vector instructions. either 'man ifort' or
-# ifort --help to see what the current list of options are and
-# which have priority over the others.
-# (for those running on yellowstone, -axavx will enable the advanced
-# vector instructions available on the sandy bridge processors.)
-# -assume buffered_io allows the runtime library to buffer up individual
-# writes before calling the operating system. in particular, we
-# write our observation sequence files as a series of many individual
-# calls to the write() routine. when debugging you do not want to
-# buffer so you can see the last output before the program dies.
-# for production, however, you want to batch up writes into larger
-# blocks before stopping to do i/o to disk. an alternative at
-# runtime is to set FORT_BUFFERED to 'true' in your environment.
-# (e.g. csh family: setenv FORT_BUFFERED true or
-# ksh family: export FORT_BUFFERED=true).
#
# FFLAGS possibly useful, not normally used by DART
-# -fpp run Fortran preprocessor on source files prior to compilation
-# -free interpret source as free-format, regardless of file extension
-# -r8 specify default real size. note that for DART we use explicit
-# types on all our real values so this will not change anything
-# inside DART. see DART/common/types_mod.f90 if you must run
-# with single precision reals.
-# -convert big_endian useful if you're on the wrong architecture.
-# however this controls both reading and writing so you can't
-# use it as a conversion mechanism unless you write files out
-# in ascii format. applies to all unformatted fortran i/o.
-# -assume byterecl ... more 'industry-standard' direct-access behavior
-# controls what units the RECL (record length) specifier returns.
#
# Runtime environment variables that influence the compiler behavior:
#
-# Make output lines for fortran write statements longer without wrapping:
-# setenv FORT_FMT_RECL 512 (or any length)
More information about the Dart-dev
mailing list