Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 12/16/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

guide, Qguide

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

Syntax

Linux:

-guide[=n]

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.

NOTE:

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.

NOTE:

You can specify [Q]diag-disable to prevent the compiler from issuing one or more diagnostic messages.

IDE Equivalent

Visual Studio: Diagnostics > Guided Auto Parallelism Analysis

Eclipse: Compilation Diagnostics > Enable Guided Auto Parallelism Analysis

Xcode: Diagnostics > Enable Guided Auto Parallelism Analysis

Alternate Options

None

See Also