intel_omp_task

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

Syntax

#pragma intel_omp_task [clause[[,]clause]...]

structured-block

Arguments

clause

Can be any of the following:

private(variable-list)

Creates a private, default-constructed version for each object in variable-list for the task. The original object referenced by the variable has an indeterminate value upon entry to the construct, must not be modified within the dynamic extent of the construct, and has an indeterminate value upon exit from the construct.

captureprivate(variable-list)

Creates a private, copy-constructed version for each object in variable-list for the task at the time the task is queued. The original object referenced by each variable retains its value but must not be modified within the dynamic extent of the task construct.

Description

The intel_omp_task pragma specifies a unit of work, potentially executed by a different thread.

Note

This pragma affects parallelization done using the -openmp option. Options that use OpenMP are available for both Intel® and non-Intel microprocessors, but these options may perform additional optimizations on Intel® microprocessors than they perform on non-Intel microprocessors. The list of major, user-visible OpenMP constructs and features that may perform differently on Intel® vs. non-Intel microprocessors includes: locks (internal and user visible), the SINGLE construct, barriers (explicit and implicit), parallel loop scheduling, reductions, memory allocation, and thread affinity and binding.

For more complete information about compiler optimizations, see our Optimization Notice.