Version 2 (modified by raasch, 6 years ago) (diff)

--

This page is under construction!




Recommended compiler options

The PALM code uses standard FORTRAN 2003 and should compile on any compiler conforming with this standard. For known issues with current compilers see Help/FAQ.

Compilers currently used by the PALM group are Intel, Cray, PGI and GNU-Fortran. We recommend to use these compilers with the following options (library and include-file options are omitted here):

Intel (version 14 and higher):

Option meaning
-fpe0 Specifies the floating-point exception handling level. Floating-point invalid, divide-by-zero, and overflow exceptions are enabled. If any such exceptions occur, execution is aborted. This option causes denormalized floating-point results to be set to zero.
-O3 Performs O2 optimizations and enables more aggressive loop transformations such as Fusion, Block-Unroll-and-Jam, and collapsing IF statements.
-xHost This option tells the compiler to generate instructions for the highest instruction set available on the compilation host processor.
-fp-model source Controls the semantics of floating-point calculations. Rounds intermediate results to source-defined precision. This option is required to force jobs to deliver reproduceble results. If not set, two identical PALM runs may produce different results. Code performance is slightly reduced when using this option.
-ftz This option flushes denormal results to zero when the application is in the gradual underflow mode. It may improve performance if the denormal values are not critical to your application's behavior.
-no-prec-div Enables optimizations that give slightly less precise results than full IEEE division.
-no-prec-sqrt The compiler uses a faster but less precise implementation of square root.
-ip Enables additional interprocedural optimizations for single-file compilation.