# 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 -qopenmp 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.

Parent topic: Intel-Specific Pragma Reference