Intel-Specific Pragma Reference

The pragmas that are specific to the Intel® oneAPI DPC++/C++ Compiler are described below. Click on each pragma name for a more detailed description.

Some pragmas are available for both Intel® microprocessors and non-Intel microprocessors, but may perform additional optimizations for Intel® microprocessors than for non-Intel microprocessors.

Pragma

Description

alloc_section

Allocates one or more variables in the specified section. Controls section attribute specification for variables.

distribute_point

Instructs the compiler to prefer loop distribution at the location indicated.

inline

Specifies inlining of all calls in a statement. This also describes pragmas forceinline and noinline.

intel_omp_task

For Intel legacy tasking, specifies a unit of work, potentially executed by a different thread.

intel_omp_taskq

For Intel legacy tasking, specifies an environment for the while loop in which to queue the units of work specified by the enclosed task pragma.

ivdep

Instructs the compiler to ignore assumed vector dependencies.

loop_count

Specifies the iterations for a for loop.

nofusion

Prevents a loop from fusing with adjacent loops.

novector

Specifies that a particular loop should never be vectorized.

optimization_level

Controls optimization for one function or all functions after its first occurrence.

optimization_parameter

Passes certain information about a function to the optimizer.

omp simd early_exit

Extends #pragma omp simd, allowing vectorization of multiple exit loops.

optimize

Enables or disables optimizations for code after this pragma until another optimize pragma or end of the translation unit.

parallel/noparallel

Resolves dependencies to facilitate auto-parallelization of the immediately following loop (parallel) or prevents auto-parallelization of the immediately following loop (noparallel).

simd

Enforces vectorization of loops.

simdoff

Specifies a block of code in the SIMD loop or SIMD-enabled function that should be executed serially, in a logical order of SIMD lanes.

unroll/nounroll

Indicates to the compiler to unroll or not to unroll a counted loop.

unroll_and_jam/nounroll_and_jam

Enables or disables loop unrolling and jamming. These pragmas can only be applied to iterative for loops.

vector

Indicates to the compiler that the loop should be vectorized according to the argument keywords.