Developer Guide and Reference

Contents

guide, Qguide

Lets you set a level of guidance for auto-vectorization, auto parallelism, and data transformation.

Syntax

Linux and macOS:
-guide
[
=
n
]
Windows:
/Qguide
[
:
n
]
Arguments
n
Is an optional value specifying the level of guidance to be provided.
The values available are 1 through 4. Value 1 indicates a standard level of guidance. Value 4 indicates the most advanced level of guidance. If
n
is omitted, the default is 4.
Default
OFF
You do not receive guidance about how to improve optimizations for parallelism, vectorization, and data transformation.
Description
This option lets you set a level of guidance (advice) for auto-vectorization, auto parallelism, and data transformation. It causes the compiler to generate messages suggesting ways to improve these optimizations.
When this option is specified, the compiler does not produce any objects or executables.
You must also specify the
[Q]parallel
option to receive auto parallelism guidance.
You can set levels of guidance for the individual guide optimizations by specifying one of the following options:
[Q]guide-data-trans
Provides guidance for data transformation.
[Q]guide-par
Provides guidance for auto parallelism.
[Q]guide-vec
Provides guidance for auto-vectorization.
If you specify the
[Q]guide
option and also specify one of the options setting a level of guidance for an individual guide optimization, the value set for the individual guide optimization will override the setting specified in
[Q]guide
.
If you do not specify
[Q]guide
, but specify one of the options setting a level of guidance for an individual guide optimization, option
[Q]guide
is enabled with the greatest value passed among any of the three individual guide optimizations specified.
In debug mode, this option has no effect unless option
O2
(or higher) is explicitly specified in the same command line.
The compiler speculatively performs optimizations as part of guide analysis. As a result, when you use guided auto-parallelism options with options that produce vectorization or auto-parallelizer reports (such as option
[q or Q]opt-report
), the compiler generates "LOOP WAS VECTORIZED" or similar messages as if the compilation was performed with the recommended changes.
When compilation is performed with the
[Q]guide
option, you should use extra caution when interpreting vectorizer diagnostics and auto-parallelizer diagnostics.
You can specify
[Q]diag-disable
to prevent the compiler from issuing one or more diagnostic messages.
Alternate Options
None

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804