Visible to Intel only — GUID: GUID-DB28F96B-97E8-46BF-9E43-46E1D3762A40
Visible to Intel only — GUID: GUID-DB28F96B-97E8-46BF-9E43-46E1D3762A40
ALLOCATE Clause
Parallel Directive Clause: Specifies the memory allocator to be used for one or more private variables or common blocks of a construct. This feature is only available for ifx.
Syntax
ALLOCATE ([allocator :] list)
-or-
ALLOCATE (allocator-modifier [, allocator-modifier] : list)
allocator |
Is an integer expression with a kind type of omp_allocator_handle_kind. |
list |
Is a comma-separated list of variables or named common blocks that have been specified in a data sharing clause on the same directive that makes the variable or common block private for the construct. A common block name must be enclosed in slashes (/ /). A list item cannot be repeated in the list. |
allocate-modifier |
Is one of the following:
|
If allocator is not specified, the list items in the clause will be allocated using the allocator specified by the def-allocator-var internal control variable (ICV).
Each list item must appear in a data sharing clause that creates a private copy of the list item in the directive containing the ALLOCATE clause. The storage for the private copies of an object specified in the list are allocated using the specified memory allocator.
An ALLOCATE clause in a TARGET directive or a directive within a TARGET region must specify an allocator expression unless a REQUIRES directive with the DYNAMIC_ALLOCATORS clause appears in the same compilation unit.
The result of allocating private variables with a memory allocator whose access trait is set to THREAD by a TASK, TASKLOOP, or TARGET directive is undefined.