Visible to Intel only — GUID: GUID-C2D70038-AED3-4E15-9B1A-0D9C24D9D714
Visible to Intel only — GUID: GUID-C2D70038-AED3-4E15-9B1A-0D9C24D9D714
Intel-Specific Pragma Reference
Pragmas specific to the Intel® oneAPI DPC++/C++ Compiler are listed in the following table.
Most Intel-specific pragmas support host code only unless otherwise noted.
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 |
---|---|
Enables or disables loop blocking for the immediately following nested loops. block_loop enables loop blocking for the nested loops. noblock_loop disables loop blocking for the nested loops. |
|
Instructs the compiler to prefer loop distribution at the location indicated. |
|
Specifies inlining of all calls in a statement. This also describes pragmas forceinline and noinline. |
|
Instructs the compiler to ignore assumed vector dependencies. |
|
Specifies the iterations for a for loop. |
|
Prevents a loop from fusing with adjacent loops. |
|
Specifies that a particular loop should never be vectorized. |
|
Conditionally calls a procedure offload variant if the specified device is available; otherwise, executes the procedure on the host. |
|
Invites the compiler to issue or disable requests to prefetch data from memory. This pragma applies only to Intel® Advanced Vector Extensions 512 (Intel® AVX-512). |
|
Tells the compiler to unroll or not to unroll a counted loop. |
|
Enables or disables loop unrolling and jamming. These pragmas can only be applied to iterative for loops. |
|
Tells the compiler that the loop should be vectorized according to the argument keywords. |
- block_loop/noblock_loop
Enables or disables loop blocking for the immediately following nested loops. block_loop enables loop blocking for the nested loops. noblock_loop disables loop blocking for the nested loops. - distribute_point
Instructs the compiler to prefer loop distribution at the location indicated. - inline, noinline, forceinline
Specifies inlining of all calls in a statement. This also describes pragmas forceinline and noinline. - 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. - omp target variant dispatch
Conditionally calls a procedure offload variant if the specified device is available; otherwise, executes the procedure on the host. - ompx prefetch data
Issues a prefetch to pre-load the data in the array sections specified. - prefetch/noprefetch
Invites the compiler to issue or disable requests to prefetch data from memory. This pragma applies only to Intel® Advanced Vector Extensions 512 (Intel® AVX-512). - unroll/nounroll
Tells 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
Tells the compiler that the loop should be vectorized according to the argument keywords.