User and Reference Guide for the Intel® C++ Compiler 14.0
Specifies a list of globally-visible variables that will be allocated private to each thread.
#pragma omp threadprivate (list) |
list |
A comma-separated list of variables you want to be private to a thread. |
A variable listed in this pragma is allocated private to each thread in each parallel team.
Example: Incrementing the counter whenever the thread executes an iteration of the parallel loop |
|---|
int counter;
#pragma omp threadprivate(counter);
int N, i;
int *a, *b, *c;
allocate_and_initialize(a, b, c, N);
#pragma omp parallel for { counter = 0; }
#pragma omp parallel for schedule(dynamic)
for(i=0; i<N; i++) {
a[i] = b[i] + c[i];
counter++;
}
deallocate(a, b, c, N); |