layout | title | release_number | author | tutorial |
---|---|---|---|---|
tutorial_page |
OpenMP Directives: Data Scope Attribute Clauses: PRIVATE Clause |
UCRL-MI-133316 |
Blaise Barney, Lawrence Livermore National Laboratory |
OpenMP |
The PRIVATE clause declares variables in its list to be private to each thread.
PRIVATE (list)
private (list)
-
PRIVATE variables behave as follows:
- A new object of the same type is declared once for each thread in the team
- All references to the original object are replaced with references to the new object
- Variables declared PRIVATE should be assumed to be uninitialized for each thread
-
Comparison between PRIVATE and THREADPRIVATE:
PRIVATE | THREADPRIVATE | |
---|---|---|
Data Item | C/C++: variable Fortran: variable or common block |
C/C++: variable Fortran: common block |
Where Declared | At start of region or work-sharing group | In declarations of each routine using block or global file scope |
Persistent? | No | Yes |
Extent | Lexical only - unless passed as an argument to subroutine | Dynamic |
Initialized | Use FIRSTPRIVATE | Use COPYIN |