^= '''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 [wiki:Help/FAQ#installation]. 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) for optimized code:'''\\{{{-fpe0 -O3 -xHost -fp-model source -ftz -no-prec-div -no-prec-sqrt -ip}}} ||='''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 PALM runs with exactly identical setup 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. || |----------