Advanced Optimization Options
- ansi-alias, Qansi-alias
Tells the compiler to assume certain rules of the Fortran standard regarding aliasing and array bounds.
- coarray, Qcoarray
Enables the coarray feature.
- coarray-config-file, Qcoarray-config-file
Specifies the name of a Message Passing Interface (MPI) configuration file.
- coarray-num-images, Qcoarray-num-images
Specifies the default number of images that can be used to run a coarray executable.
- complex-limited-range, Qcomplex-limited-range
Determines whether the use of basic algebraic expansions of some arithmetic operations involving data of type COMPLEX is enabled.
- guide, Qguide
Lets you set a level of guidance for auto-vectorization, auto parallelism, and data transformation.
- guide-data-trans, Qguide-data-trans
Lets you set a level of guidance for data transformation.
- guide-file, Qguide-file
Causes the results of guided auto parallelism to be output to a file.
- guide-file-append, Qguide-file-append
Causes the results of guided auto parallelism to be appended to a file.
- guide-opts, Qguide-opts
Tells the compiler to analyze certain code and generate recommendations that may improve optimizations.
- guide-par, Qguide-par
Lets you set a level of guidance for auto parallelism.
- guide-profile, Qguide-profile
Specifies a loop profiler data file (or a set of files) when used with option -guide or /Qguide. This is a deprecated option. There is no replacement option.
- guide-vec, Qguide-vec
Lets you set a level of guidance for auto-vectorization.
- heap-arrays
Puts automatic arrays and arrays created for temporary computations on the heap instead of the stack.
- mkl, Qmkl
Tells the compiler to link to certain libraries in the Intel® Math Kernel Library (Intel® MKL). On Windows systems, you must specify this option at compile time.
- pad, Qpad
Enables the changing of the variable and array memory layout.
- qopt-args-in-regs, Qopt-args-in-regs
Determines whether calls to routines are optimized by passing arguments in registers instead of on the stack.
- qopt-assume-safe-padding, Qopt-assume-safe-padding
Determines whether the compiler assumes that variables and dynamically allocated memory are padded past the end of the object.
- qopt-block-factor, Qopt-block-factor
Lets you specify a loop blocking factor.
- qopt-dynamic-align, Qopt-dynamic-align
Enables or disables dynamic data alignment optimizations.
- qopt-jump-tables, Qopt-jump-tables
Enables or disables generation of jump tables for switch statements.
- qopt-malloc-options
Lets you specify an alternate algorithm for malloc().
- qopt-matmul, Qopt-matmul
Enables or disables a compiler-generated Matrix Multiply (matmul) library call.
- qopt-mem-layout-trans, Qopt-mem-layout-trans
Controls the level of memory layout transformations performed by the compiler.
- qopt-multi-version-aggressive, Qopt-multi-version-aggressive
Tells the compiler to use aggressive multi-versioning to check for pointer aliasing and scalar replacement.
- qopt-prefetch, Qopt-prefetch
Enables or disables prefetch insertion optimization.
- qopt-prefetch-distance, Qopt-prefetch-distance
Specifies the prefetch distance to be used for compiler-generated prefetches inside loops.
- qopt-prefetch-issue-excl-hint, Qopt-prefetch-issue-excl-hint
Supports the prefetchW instruction in Intel® microarchitecture code name Broadwell and later.
- qopt-ra-region-strategy, Qopt-ra-region-strategy
Selects the method that the register allocator uses to partition each routine into regions.
- qopt-streaming-stores, Qopt-streaming-stores
Enables generation of streaming stores for optimization.
- qopt-subscript-in-range, Qopt-subscript-in-range
Determines whether the compiler assumes that there are no "large" integers being used or being computed inside loops.
- qopt-threads-per-core, Qopt-threads-per-core
Informs the compiler about the number of hardware threads per core that will be used for an application. This option only applies when targeting Intel® Xeon Phi™ products.
- qopt-zmm-usage, Qopt-zmm-usage
Defines a level of zmm registers usage.
- qoverride-limits, Qoverride-limits
Lets you override certain internal compiler limits that are intended to prevent excessive memory usage or compile times for very large, complex compilation units.
- reentrancy
Tells the compiler to generate reentrant code to support a multithreaded application.
- safe-cray-ptr, Qsafe-cray-ptr
Tells the compiler that Cray* pointers do not alias other variables.
- scalar-rep, Qscalar-rep
Enables or disables the scalar replacement optimization done by the compiler as part of loop transformations.
- simd, Qsimd
Enables or disables compiler interpretation of SIMD directives.
- unroll, Qunroll
Tells the compiler the maximum number of times to unroll loops.
- unroll-aggressive, Qunroll-aggressive
Determines whether the compiler uses more aggressive unrolling for certain loops.
- vec, Qvec
Enables or disables vectorization.
- vec-guard-write, Qvec-guard-write
Tells the compiler to perform a conditional check in a vectorized loop.
- vec-threshold, Qvec-threshold
Sets a threshold for the vectorization of loops.
- vecabi, Qvecabi
Determines which vector function application binary interface (ABI) the compiler uses to create or call vector functions.