# 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

Parent topic: Advanced Optimization Options

## See Also

guide-data-trans, Qguide-data-trans compiler option
guide-par, Qguide-par compiler option
guide-vec, Qguide-vec compiler option
guide-file, Qguide-file compiler option
guide-file-append, Qguide-file-append compiler option
guide-opts, Qguide-opts compiler option
diag, Qdiag compiler option
qopt-report, Qopt-report compiler option