Selecting one of the following will take you directly to that section:
The align toggle changes how data elements are aligned. Variables and arrays are analyzed and memory layout can be altered. Specifying array64byte will look for opportunities to transform and reailgn arrays to 64byte boundaries.
Option standard-realloc-lhs (the default), tells the compiler that when the left-hand side of an assignment is an allocatable object, it should be reallocated to the shape of the right-hand side of the assignment before the assignment occurs. This is the current Fortran Standard definition. This feature may cause extra overhead at run time. This option has the same effect as option assume realloc_lhs.
If you specify nostandard-realloc-lhs, the compiler uses the old Fortran 2003 rules when interpreting assignment statements. The left-hand side is assumed to be allocated with the correct shape to hold the right-hand side. If it is not, incorrect behavior will occur. This option has the same effect as option assume norealloc_lhs.
-qopt-zmm-usage=
Specifies the level of zmm registers usage. You can specify one of
the following:
low - Tells the compiler that the compiled program is unlikely to
benefit from zmm registers usage. It specifies that the
compiler should avoid using zmm registers unless it can
prove the gain from their usage.
high - Tells the compiler to generate zmm code without restrictions
Specifies preferred 512b vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.
Lets you specify a level of accuracy (precision) that the compiler should use when determining which math library functions to use.
Multi-file ip optimizations that includes:
- inline function expansion
- interprocedural constant propogation
- dead code elimination
- propagation of function characteristics
- passing arguments in registers
- loop-invariant code motion
-prec-div improves precision of floating-point divides. It has a slight impact on speed. -no-prec-div disables this option and enables optimizations that give slightly less precise results than full IEEE division.
When you specify -no-prec-div along with some optimizations, such as -xN and -xB (Linux) or /QxN and /QxB (Windows), the compiler may change floating-point division computations into multiplication by the reciprocal of the denominator. For example, A/B is computed as A * (1/B) to improve the speed of the computation.
However, sometimes the value produced by this transformation is not as accurate as full IEEE division. When it is important to have fully precise IEEE division, do not use -no-prec-div which will enable the default -prec-div and the result is more accurate, with some loss of performance.
Enable/disable(DEFAULT) use of ANSI aliasing rules in optimizations; user asserts that the program adheres to these rules.
May generate Intel® AVX2, AVX, SSE4.2, SSE4.1, SSSE3, SSE3, SSE2 and SSE instructions for Intel® procesr. Optimizes for 4th, 5th and 6th generation Intel® Co processors and the Intel® Xeon® Processor E3 v3, E5 v3, E7 v3, E3 v4, E5 v4 and E7 v4 familie Available in compiler versions 13 and later.
Code is optimized for Intel(R) processors with support for AVX instructions. May generate Intel® AVX-12 Foundation instructions,Intel® AVX-512 Conflict Detectio instructions, Intel® AVX-512 Doubleword and Quadword instructions, Intel® AVX-51 Byte and Word instructions, Intel® AVX-512 Vector Length extensions, Intel® AVX2,VX SSE4.2, SSE4.1, SSSE3, SSE3, SSE2 and SSE instructions for Intel® processors. Optimizes for a future Intel® processor. Available in compiler version 15 update 1 and later.
Enable the compiler to generate multi-threaded code based on the OpenMP* directives. Similar behavior was granted by -qopenmp in previous versions.
Enable OpenMP compilation for hpc2021.
Enable OPENMP programming model for hpc2021.
Enable -O3 -no-prec-div -fp-model fast=2 optimizations.
Optimize for maximum speed and enable more aggressive optimizations that may not improve performance on some programs.
Determine if certain square root optimizations are enabled.
Specifies whether streaming stores are generated:
always - enables generation of streaming stores under the assumption that the application is memory bound
auto - compiler decides when streaming stores are used (DEFAULT)
never - disables generation of streaming stores
Enable LTO (Link Time Optimization) in 'full' mode.
Allow aggressive, lossy floating-point optimizations.
Turn on loop unroller.
USE std C++ libs on Linker
Disable use of reduction with variable array reduction variable (OpenMP 4.5, OpenACC 2.7) even if compiler reports support.
Disable use of reduction with variable array reduction variable (OpenMP 4.5, OpenACC 2.7) even if compiler reports support.
Use C99 language features.
Use C++ 14 language features.
Use C++ 17 language features.
Use C++ 14 language features.
The OpenMPI Fortran driver configured for use with the Intel Fortran compiler.
The OpenMPI C++ driver configured for use with the Intel C++ compiler.
The OpenMPI C driver configured for use with the Intel C compiler.
The Intel MPI Fortran driver configured for use with the Intel oneAPI Fortran compiler.
The Intel MPI C++ driver configured for use with the Intel oneAPI C++ compiler.
The Intel MPI C driver configured for use with the Intel oneAPI C compiler.
The Intel MPI Fortran driver configured for use with the Intel Classic Fortran compiler.
The Intel MPI C++ driver configured for use with the Intel Classic C++ compiler.
The Intel MPI C driver configured for use with the Intel Classic C compiler.
Enable the specified warning.